[FIX] Mpeg3Plugin

John M McIntosh johnmci at smalltalkconsulting.com
Thu Dec 27 23:43:12 UTC 2001


Added support to compile under os-x as a bundle. This requires a 
change to how files names are resolved when open the file


'From Squeak3.2alpha of 1 November 2001 [latest update: #4599] on 27 
December 2001 at 3:41:11 pm'!

!Mpeg3Plugin methodsFor: 'primitives' stamp: 'JMM 12/27/2001 15:39'!
primitiveMPEG3CheckSig: path
	| result sz |

	"int mpeg3_check_sig(char *path)"
	self var: #storage declareC: 'char storage[1024] '.
	self primitive: 'primitiveMPEG3CheckSig'
		parameters: #(String).
	sz _ interpreterProxy byteSizeOf: path cPtrAsOop.
	self cCode: 'sqFilenameFromStringOpen(storage, path, sz)'.
	self cCode: 'result = mpeg3_check_sig(storage)'.
	^result asOop: Boolean
! !

!Mpeg3Plugin methodsFor: 'primitives' stamp: 'JMM 12/27/2001 15:40'!
primitiveMPEG3Open: path
	| mpeg3Oop index sz storage |

	"mpeg3_t* mpeg3_open(char *path)"
	self var: #index declareC: 'mpeg3_t ** index'.
	self var: #storage declareC: 'char storage[1024]'.
	self primitive: 'primitiveMPEG3Open'
		parameters: #(String).
	sz _ interpreterProxy byteSizeOf: path cPtrAsOop.
	self cCode: 'sqFilenameFromStringOpen(storage, path, sz)'.
	mpeg3Oop _ interpreterProxy instantiateClass: 
interpreterProxy classByteArray
					indexableSize: 4.
	index _ self cCoerce: (interpreterProxy firstIndexableField: mpeg3Oop)
						to: 'mpeg3_t **'.
	self cCode: '*index = mpeg3_open(storage); makeFileEntry(*index)'.
	^mpeg3Oop.
! !

-- 
--
===========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================




More information about the Squeak-dev mailing list