MusicTrack についての内容 ※間違いが含まれている場合があるので注意
/*!
@function MusicTrackGetSequence
@abstract Gets the sequence which the track is a member of
@param inTrack the track
@param outSequence the track's sequence
*/
extern OSStatus
MusicTrackGetSequence( MusicTrack inTrack,
MusicSequence *outSequence) __OSX_AVAILABLE_STARTING(__MAC_10_0,__IPHONE_5_0);
トラックがメンバーになっているシーケンスを取得する。
/*!
@function MusicTrackSetDestNode
@abstract Sets the track's target to the specified AUNode
@discussion The node must be a member of the graph that the track's sequence is using. When played, the track
will send all of its events to that node.
@param inTrack the track
@param inNode the new node
*/
extern OSStatus
MusicTrackSetDestNode( MusicTrack inTrack,
AUNode inNode) __OSX_AVAILABLE_STARTING(__MAC_10_0,__IPHONE_5_0);
指定したノード(AUNode)に トラック(MusicTrack)のターゲットを設定する。 ノードは、利用されるトラックシーケンスであるグラフのメンバーを持たなければいけない。
/*!
@function MusicTrackSetDestMIDIEndpoint
@abstract Sets the track's target to the specified MIDI endpoint
@discussion When played, the track will send all of its events to the specified MIDI Endpoint.
@param inTrack the track
@param inEndpoint the new MIDI endpoint
*/
extern OSStatus
MusicTrackSetDestMIDIEndpoint( MusicTrack inTrack,
MIDIEndpointRef inEndpoint) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_5_0);
指定されたMIDIエンドポイント(MIDIEndpointRef)に、トラックのターゲットを設定する。 再生されたとき、トラック(MusicTrack)は指定された MIDI に全てのイベントを送信する。
/*!
@function MusicTrackGetDestNode
@abstract Gets the track's target if it is an AUNode
@discussion Returns kAudioToolboxErr_IllegalTrackDestination if the track's target is a MIDIEndpointRef
and NOT an AUNode
@param inTrack the track
@param outNode the node target for the track
*/
extern OSStatus
MusicTrackGetDestNode( MusicTrack inTrack,
AUNode * outNode) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_5_0);
トラック(MusicTrack)から、AUNode を取得する。
/*!
@function MusicTrackGetDestMIDIEndpoint
@abstract Gets the track's target if it is a MIDI Endpoint
@discussion Returns kAudioToolboxErr_IllegalTrackDestination if the track's target is an AUNode
and NOT a MIDI Endpoint
@param inTrack the track
@param outEndpoint the MIDI Endpoint target for the track
*/
extern OSStatus
MusicTrackGetDestMIDIEndpoint( MusicTrack inTrack,
MIDIEndpointRef * outEndpoint) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_5_0);
トラック(MusicTrack)から、MIDIエンドポイント(MIDIEndpointRef) を取得する。
/*!
@function MusicTrackSetProperty
@abstract Sets the specified property value
@discussion Property values are always get and set by reference
@param inTrack the track
@param inPropertyID the property ID
@param inData the new property value
@param inLength the size of the property value being set
*/
extern OSStatus
MusicTrackSetProperty( MusicTrack inTrack,
UInt32 inPropertyID,
void *inData,
UInt32 inLength) __OSX_AVAILABLE_STARTING(__MAC_10_0,__IPHONE_5_0);
MusicTrack に指定されたプロパティを設定する。 プロパティ値は、常に参照による getter、setter である。
/*!
@function MusicTrackGetProperty
@abstract Gets the specified property value
@discussion If outData is NULL, then the size of the data will be passed back in ioLength
This allows the client to allocate a buffer of the correct size (useful for variable
length properties -- currently all properties have fixed size)
Property values are always get and set by reference
@param inTrack the track
@param inPropertyID the property ID
@param outData if not NULL, points to data of size ioLength
@param ioLength on input the available size of outData, on output the size of the valid data that outData
will then point too.
*/
extern OSStatus
MusicTrackGetProperty( MusicTrack inTrack,
UInt32 inPropertyID,
void *outData,
UInt32 *ioLength) __OSX_AVAILABLE_STARTING(__MAC_10_0,__IPHONE_5_0);
MusicTrack から指定されたプロパティを取得する。 outData が NULL だった場合、データサイズは ioLength(UInt32)で受け渡される。 これにより、クライアントは正しいサイズのバッファ(現在、全てのプロパティがもつ固定サイズの可変長プロパティとして便利)に割り当てる事ができます。 プロパティ値は、常に参照による getter、setter である。
/*!
@function MusicTrackMoveEvents
@abstract Move events in a track
@discussion Moves all of the events in the specified time range by the moveTime. MoveTime maybe negative to
move events backwards (towards zero).
All time ranges are [starttime < endtime]
@param inTrack the track
@param inStartTime the start time for the range of events
@param inEndTime the end time up to which will form the range of the events to move
@param inMoveTime amount of beats to move the selected events.
*/
extern OSStatus
MusicTrackMoveEvents( MusicTrack inTrack,
MusicTimeStamp inStartTime,
MusicTimeStamp inEndTime,
MusicTimeStamp inMoveTime) __OSX_AVAILABLE_STARTING(__MAC_10_0,__IPHONE_5_0);
移動時間で、指定した時間範囲内の全てのイベントを移動します。 移動時間は、イベント後方(0 に向かって)にマイナス移動します。 全ての時間範囲は、「starttime < endtime」です。
/*!
@function MusicTrackClear
@abstract Removes all events within the specified range
@discussion All time ranges are [starttime < endtime]
@param inTrack the track
@param inStartTime the start time for the range of events
@param inEndTime the end time up to which will form the range of the events to clear
*/
extern OSStatus
MusicTrackClear( MusicTrack inTrack,
MusicTimeStamp inStartTime,
MusicTimeStamp inEndTime) __OSX_AVAILABLE_STARTING(__MAC_10_0,__IPHONE_5_0);
指定した範囲内の、全てのイベントを削除します。
/*!
@function MusicTrackCut
@abstract Removes all the events within the specified range
@discussion Events that fall past the specified range will be moved back by the specified range time.
All time ranges are [starttime < endtime]
@param inTrack the track
@param inStartTime the start time for the range of events
@param inEndTime the end time up to which will form the range of the events to cut out
*/
extern OSStatus
MusicTrackCut( MusicTrack inTrack,
MusicTimeStamp inStartTime,
MusicTimeStamp inEndTime) __OSX_AVAILABLE_STARTING(__MAC_10_0,__IPHONE_5_0);
指定した時間範囲でイベントを削除して、指定時間内に戻ります。
/*!
@function MusicTrackCopyInsert
@abstract Copies events from one track and inserts them into another
@discussion Copies all of the events with the specified time range of the source track. It then inserts
those events into the destination track. All events at and after inDestInsertTime in inDestTrack
are moved forward by the range's duration
All time ranges are [starttime < endtime]
@param inSourceTrack the source track
@param inSourceStartTime the start time for the range of events
@param inSourceEndTime the end time up to which will form the range of the events to copy from the source track
@param inDestTrack the destination track to copy too
@param inDestInsertTime the time at which the copied events will be inserted.
*/
extern OSStatus
MusicTrackCopyInsert( MusicTrack inSourceTrack,
MusicTimeStamp inSourceStartTime,
MusicTimeStamp inSourceEndTime,
MusicTrack inDestTrack,
MusicTimeStamp inDestInsertTime) __OSX_AVAILABLE_STARTING(__MAC_10_0,__IPHONE_5_0);
元のトラック(MusicTrack)で指定した範囲時間で全てのイベントをコピーし、対象のトラック(MusicTrack)にコピーしたイベントを挿入します。 全てのイベントは、inDestTrack(MusicTrack)に、inDestInsertTime(MusicTimeStamp) 後に置かれます。
/*!
@function MusicTrackMerge
@abstract Copies events from one track and merges them into another
@discussion Copies all of the events with the specified time range of the source track. It then merges
those events into the destination track starting at inDestInsertTime.
All time ranges are [starttime < endtime]
@param inSourceTrack the source track
@param inSourceStartTime the start time for the range of events
@param inSourceEndTime the end time up to which will form the range of the events to copy from the source track
@param inDestTrack the destination track to copy too
@param inDestInsertTime the time at which the copied events will be merged.
*/
extern OSStatus
MusicTrackMerge( MusicTrack inSourceTrack,
MusicTimeStamp inSourceStartTime,
MusicTimeStamp inSourceEndTime,
MusicTrack inDestTrack,
MusicTimeStamp inDestInsertTime) __OSX_AVAILABLE_STARTING(__MAC_10_0,__IPHONE_5_0);
元のトラック(MusicTrack)で指定した範囲時間で全てのイベントをコピーし、対象のトラックに inDestInsertTime(MusicTImeStamp)でイベントをマージします。