On Monday 31 Jan 2005 01:28, NadaSpam wrote: > I was wondering if anyone is working on a Rosegarden player.
As far as I know, no. > I was also wondering why Rosegarden counts time in beats per hour > rather than in, say, microseconds. Rosegarden technically doesn't count time in beats, although you're right that it uses "musical" rather than "real" time. The basic resolution (for timeT values) is 1/960th of a quarter note. Beats per hour is used for storing tempo. (A bad choice -- we should have used something like 1/10000s of a quarter-note per minute. We may yet switch -- obviously retaining file format compatibility.) > You could have a time class that converts from seconds to beats. The Composition class does this, in getElapsedRealTime, getElapsedTimeForRealTime and getRealTimeDifference. Note that the Rosegarden sequencer process actually already deals only with real time in nanoseconds -- the GUI process and basic event storage deal with these in musical time. There is also base/RealTime.[Ch] which can translate between real time and audio frame counts. > Then users could switch the timing ruler between seconds, > beats/measures, SMPTE, and whatever else you'd want to support. This would be pretty trivial already -- I've offered to implement it before, if anyone wanted it, but haven't had much of a response. The transport window timer of course is switchable already. The thing you _don't_ easily get from storing musical time is the ability to run different tracks at different tempos, should you want it. You can run different tracks in different time signatures of course, although Rosegarden itself doesn't support this. > I'd be interested in working on either of these. Also, I'd be > interested in adding support for different tunings. My thought is > that just as instruments are abstractions, the note number should be > an abstraction that maps to a value in a tuning file. Changing the > number of notes in an octave could be very hard, but just allowing > different temperaments shouldn't be that difficult. Notes in the .rg > file get mapped to MIDI notes +/- some pitchbend. Pitch bend is a bit inadequate when you have chords, but there is also the MIDI Tuning standard and some soft synths may support other tuning methods. Lots of people have opinions about this -- my personal interest is in the ideal of tuning being a property of the key rather than (or as well as) a property of individual notes. Dougie McGilvray and the CMT Glasgow have been doing some work on tuning with Rosegarden, although I believe it's fairly specific to a particular application and the code hasn't been released yet. See http://markov.music.gla.ac.uk/CMT/cmt.py///Projects/rgtracker.html > Lastly, if someone's working on tablature, I could help with that. Nobody is yet, but again several people have an interest in it. > But from what I see, that's a major undertaking. I don't see how to > implement it without altering the basic way in which staves are > represented. That is, there would need to be an abstract class called > Staff. [...] There is an abstract class called Staff (in base/Staff.[Ch]). The main subclass is LinedStaff (gui/linedstaff.{cpp,h}) which represents staffs that have one or more horizontal lines representing pitch. Current examples are NotationStaff and MatrixStaff, and I intend a PercussionStaff pretty soon. Likewise there are horizontal and vertical layout engine abstractions that handle layout for staffs that have different layout requirements. Like the LinedStaff abstraction, these abstractions are largely academic when dealing with notation versus matrix, as they have so little in common -- this base class gives us nothing much except a potential nice box on a class diagram. > Does the CVS source include a project file? It looks like KDevelop > was used. Is that so? Only to create the initial Makefile and stuff. We all use text editors to write the code. We did have a Doxygen dump updated daily at http://rosegarden.sourceforge.net/code_doc, but it seems to have disappeared. Perhaps Guillaume (who is away this week) might know what's happened to it. Chris ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ Rosegarden-devel mailing list [email protected] - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
