On Sunday 10 June 2007, Arnout Engelen wrote: > One approach could be to simply choose a mapping from transposition > (-2,-9) to instrument tuning (Bb, Eb): e.g. if a segment is in -2, it's > probably a Bb instrument, as A# instruments are rare. I used the > quint-circle to come up with the following list:
The list looks reasonable, but I'm not sure how you'll handle Eb instruments that sound up to several octaves below what's written. Just knowing you want to go to Eb isn't quite sufficient, I don't think. I wonder if this could incorporate the instrument preset database somehow. That would tell you if you're moving from a tenor saxophone to a contrabrass saxophone what your source and destination transpose factors are supposed to be. The database isn't user extensible, so it could be a problem if we limited this to the instruments that are in there, but the database is so ridiculously comprehensive that it's hard to imagine anyone finding it lacking. Those cases would be rare enough to address with a quick patch and commit to add the E# Oogleblarger per some user's request. > I added a 'Transpose Toolbar' to the notationview, which fills a > combobox with those values and chooses the current selection based on > the current transposition. If the current transposition of your segment > is -2 and you choose '3 Eb' from that list, it'll assume you're > transposing from Bb to Eb and fire off a SegmentTransposeCommand fixing > the notes, keys and segment transposition accordingly. > This isn't quite commit-worthy yet I think though, as I'm still getting > to know KDE/QT to get this right and add some more buttons (e.g. > transpose octave up/down). This sounds very interesting, but it seems somewhat counterintuitive to have to do this from "inside" a segment. > Actually, you only have to know that you want to go from Bb to F: Right, but that's more than I want to need to know. I found out I was trying to go to F when I finally got everything playing in tune again. I got there through a convoluted process. I think what I actually did was set the segment transpose to -9, double clicked the Bb key signature; inserted an Ab key signature with Rosegarden instructed to move the key relative to segment transpose, and transpose the notation; then, finally, I had to transpose everything up an octave (triple click and ctrl+up arrow or whatever) so that it played in the same register as before. That's my thought process solving the problem of converting a trumpet part into an alto horn part, and it got me there, but it seemed unnecessarily complicated. Hence I asked if there was an easier way now. Sounds like if there isn't already, there might be shortly. > the > SegmentTransposeCommand will take care of going from -2 to -9 (if you > enable 'maintain audible pitch') and as a user you don't the information > that Bb in -2 is really Ab. Maintaining audible pitch is useful. I missed that nugget. But I still need to know I'm going from Bb to F. (Which I guess I can cope with. The recipe seems to be to take away one flat from the trumpet key signature, although this kind of thinking has gotten me in real trouble before. Trumpet key is always concert key plus two sharps, but that relationship only works for Bb. That same kind of up two sharps or down three flats thinking got me twisted into serious pretzels when I was playing around with the code that lets you insert a key change in concert pitch, and have it adjust itself appropriately for all segments. I forget how I finally solved that, but it took me five different implementations from scratch before I finally got it to work correctly. What I lack in knowledge of theory, which is plenty, I make up for through copious amounts of brutal sledge hammering.) > I certainly agree - that's the main reason I've recently been adding > unit/regression testing to the build process. Every time I run into a > bug, I intend to isolate the problem in such a test, so that I know when > it's fixed and (more importantly) when it gets broken again :). That definitely sounds like a good idea. We've needed to do something like this for years. I'm glad you're around! I may not entirely make sense in this post. I started writing before I read the whole of your message, and I realized I had misunderstood something. I tried to backtrack and take a different view, but I'm not entirely sure I have my head around the whole picture here. -- D. Michael McIntyre ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Rosegarden-devel mailing list [email protected] - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
