For demo at the Expo, I was using the current CVS with the mmap code. MIDI playback generally worked pretty well, with a few problems which I've filed as bugs.
However, it seems we now have a situation which mirrors the original sequencer-can't-keep-up problem: the GUI can't always keep up with playback. Not only is it generally terribly slow to respond when playback is happening, but if it gets busy for a while it will actually fall behind in tracking playback and never fully catch up again. (This is on my fairly slow laptop, of course.) Further, as some others have reported, the same thing happens when recording -- the events have to go through the GUI for MIDI Thru and the fact that the GUI is so busy means you can end up with a lag of multiple seconds in real life. (Of course that's a problem with the implementation of MIDI Thru, but also a symptom of a problem with the GUI.) Now I'm guessing that the problem is just that the GUI's being swamped with DCOP setPointerPosition calls, which the sequencer appears to be sending every 5ms (200 per sec! do I have this right?) from its updateClocks() method. Once upon a time this would have been necessary to ensure the GUI had the right data handy to feed to the sequencer, but presumably now the only function of this setPointerPosition call is to update the user feedback. No? If so, then it seems pointless to attempt more than 50 or so updates per second, and one could presumably get away with far fewer by permitting the GUI to interpolate regularly, assuming it's cheaper for the GUI to drop down and update its own pointers than it is for the sequencer to instruct it via DCOP. Another thing that might help would be to timestamp the setPointerPosition call -- including the machine clock() as well as the real-time-within-performance -- so that the GUI can adjust the latter for any lag shown by the former. Thoughts? I don't mind messing about with some of this, if others are prepared to tell me when I'm getting it wrong. Chris ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. SourceForge.net hosts over 70,000 Open Source Projects. See the people who have HELPED US provide better services: Click here: http://sourceforge.net/supporters.php _______________________________________________ Rosegarden-devel mailing list [EMAIL PROTECTED] - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
