Changing the time
property of a note key may cause it to go out of time order relative to the other keys in the controller. You must call the sortKeys()
function on the controller or associated MAXNoteKeyArray
once all key time manipulations of this kind is complete so that animation will perform correctly.
FOR EXAMPLE,
s = sphere()-- create a sphere -->$Sphere:Sphere02 @ [0.0,0.0,0.0] ntp1 = NoteTrack"PosNT1"-- create a note track -->Notetrack:PosNT1 ntp2 = NoteTrack"PosNT2"-- create another note track -->Notetrack:PosNT2 -- apply first note track to sphere's pos controller: addNoteTrack s.pos.controller ntp1 -->OK -- apply second note track to sphere's pos controller: addNoteTrack s.pos.controller ntp2 -->OK -- check number of note tracks on pos controller: numNoteTracks s.pos.controller -->2 -- test to see if pos controller has note tracks: hasNoteTracks s.pos.controller -->true -- add key to first note track, and select the key: addNewNoteKey ntp1.keys 20 #select -->#Note key(1 @ 20f) -- add another key to first note track: addNewNoteKey ntp1.keys 40 -->#Note key(2 @ 40f) -- retrieve first note track on the pos controller: n = getNoteTrack s.pos.controller 1 -- retrieve an instance of the note track key array Notetrack: nk=n.keys -->#keys(20f, 40f) -- set value for second note key: nk[2].value ="Yo What's Up" -->"Yo What's Up" -- change the time for second note key. Now first key nk[2].time = 10 -->10 nk[1].selected = true-- select the first note key -->true -- changed the time of the note keys, so re-sort: sortNoteKeys nk -->OK nk.count-- check number of keys -->2 nk-- display the note keys -->#keys(10f, 20f) -- To delete the note tracks and note keys: deleteNoteKey nk 1-- delete first note key -->OK deleteNoteKeys n.keys #allKeys-- delete all the note keys -->OK -- remove note track from pos controller: deleteNoteTrack s.pos.controller ntp1 -->OK -- remove note track from pos controller: deleteNoteTrack s.pos.controller ntp2 -->OK