1) I need a midi file to trigger events in Revolution. Is putting the midi file into a player and then using callbacks the only way? If so, is there some formula where I can tell exactly what callback number is associated with what note? I am trying to figure it out using tempo in the midi file and timescale in the player. So if tempo is 60 beats per minute and the timescale of the player is 600, then at the end of the 60th beat, a minute should have passed and therefore the callback number would be 600 * 60 or 36000, but it isn't working out that perfectly. Maybe tempo in midi or callbacks in Revolution are not entirely exact?

How accurate do you need this to be?
I'd imagine the quicktime midi player to be decently accurate in it's timing, so I'd think the inaccuracies you're seeing are more likely to be with the callback mechanism.

3) Is it always a midi FILE that has to play? One thing I need is a click that plays endlessly at a specific tempo. I am creating the click by making a midi file that uses one of the Drum instruments. But of course the file runs out eventually and I have to loop it and there is inevitably a jerk. Is there any way to not use a file at all and just play a note over and over at a certain tempo? (I know I could just skip midi altogether and play a tiny sound file over and over, but I'd like to stick to midi for some other reasons.)


It's fairly easy to use the 'beep' command to make a reasonably consistent click, using 'send in time'. Alternatively, you could make a looping sound file, and use the 'playRate' to adjust the tempo.

is there some formula where I can tell exactly what callback number is associated with what note?

I don't know if you can get at individual midi events (such as notes) using callbacks, though I doubt it. Again, depending on how accurate you need it to be, you might be able to actually parse the midi file, and trigger events at the right time, again, using 'send in time'.

I've not played around with midi files (though I've used midi a great deal), but I'd imagine something like this would be doable. If you need millisecond accuracy, though, I doubt that this would be good enough.

Best,

Mark


On 16 Dec 2006, at 16:13, Fred Moyer wrote:

This is for anyone who knows about midi:

1) I need a midi file to trigger events in Revolution. Is putting the midi file into a player and then using callbacks the only way? If so, is there some formula where I can tell exactly what callback number is associated with what note? I am trying to figure it out using tempo in the midi file and timescale in the player. So if tempo is 60 beats per minute and the timescale of the player is 600, then at the end of the 60th beat, a minute should have passed and therefore the callback number would be 600 * 60 or 36000, but it isn't working out that perfectly. Maybe tempo in midi or callbacks in Revolution are not entirely exact?

2) Running midi in a player burns up the cpu. Just having a tiny 20K midi file in the player and not even playing spikes up Revolution's use of the cpu to 35% in Activity Monitor, the Apple applications in the Utilities folder. Then playing the midi file is also more intensive on the cpu than playing a sound file. The app that I am writing will be used with a laptop, often on battery power, so this is a crucial issue. What is the cpu doing with a dormant midi file that is so difficult and crucial so as to use 35% of the cpu? Is this a Quicktime bug, Revolution bug?

3) Is it always a midi FILE that has to play? One thing I need is a click that plays endlessly at a specific tempo. I am creating the click by making a midi file that uses one of the Drum instruments. But of course the file runs out eventually and I have to loop it and there is inevitably a jerk. Is there any way to not use a file at all and just play a note over and over at a certain tempo? (I know I could just skip midi altogether and play a tiny sound file over and over, but I'd like to stick to midi for some other reasons.)

4) I know very little about midi. Is there anyone out there who could help me with my project?

Thanks
Fred Moyer
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to