Listing 2: Creating a music event
QTAtomContainer MakeAMusicEvent()
{
	SInt32		    instrument = 1;
	SInt32		    eventTime = 15;
	UInt16		    noteNumber;
	UInt16		    noteVelocity;
	QTAtomContainer	anEvent = nil;
	QTAtomContainer	aMessage = nil;
	OSStatus		  anError = noErr;
 
		// create a new message
	aMessage = PTNewMessage(kPTInstrumentClass, kPTNoteEvent);
 
		// insert the parameters
	noteNumber = 60;
	noteVelocity = 0
	anError = PTSetProperty(aMessage, kNoteNumber, sizeof(noteNumber), &noteNumber);
	anError = PTSetProperty(aMessage, kNoteVelocity, sizeof(noteVelocity), &noteVelocity);
 
		// create the event
	anEvent = PTNewEvent(instrument, eventTime, aMessage);
 
		// add the second message
	noteNumber = 62;
	noteVelocity = 90;
	anError = PTSetProperty(aMessage, kNoteNumber, sizeof(noteNumber), &noteNumber);
	anError = PTSetProperty(aMessage, kNoteVelocity, sizeof(noteVelocity), &noteVelocity);
 
	anError = PTSetNthMessage(anEvent, 0, aMessage);
	anError = PTReleaseMessage(aMessage);
 
		// do something with the event, like add it to a track
     
	anError = PTReleaseEvent(anEvent);
	
	return anEvent;
}