As we've not mentioned anything about our project since we first posted we thought we should give an update on the work thus far, to see what comments or suggestions anyone may have at this point. To refresh your memories - we are creating an aid to help professional musicians practise microtonal music real-time. This means adding microtonal accidentals and a running chart of 'pitch-error'. *Original thread dated 14-7-2004
I think I'm right in saying that the whole composition is converted into midi before playing, so the only real-time information regarding notes, as they are played, are the midi events. Accessing the accidental property of the event in the composition would mean something along the lines of tracking the transport time and the pitch of the note so that the composition could be searched, and the information retrieved. - Correct me if I'm mistaken here ;). It seems simpler to include the accidental properties in the midi events. So we are considering hijacking one of the midi control parameters to specify microtonal inflection. It then becomes the tracker's responsibility to convert from midi note number + accidental number to pitch according to the tuning system and key and also keeps the pitch bend free for ... bending the pitch. This, of course, would require a way of ensuring that control events are placed around microtonal notes. The simplest way would be to scan the composition before playing, in RosegardenGUIApp::slotPlay() perhaps? This is a rather dirty way to do it, alternative suggestions are welcome. Concerning the notation symbols ... The feta-rosegarden font already contains symbols for semi & triple-semi sharps/flats. Luckily, these are the only symbols we require for our specific tuning system. We could be persuaded to work on other accidentals, however, because we already have what we need, it is not necessarily a priority. The new accidentals have been placed in the Accidentals namespace rather than implemented as a 'special event' (..docs/data_structs/units.txt) In Pitch::rawPitchToDisplayPitch() the extra accidentals are user-specified (like double sharps/flats) ie. the method does not change the displayed accidental or staff height when a microtonal is encountered. Regards, Dougie [EMAIL PROTECTED] http://cmt.gla.ac.uk/ ------------------------------------------------------- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php _______________________________________________ Rosegarden-devel mailing list [EMAIL PROTECTED] - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
