Did anyone reply to this?  The RG lists have been fairly high volume
the last couple of days, and I think a couple of quite involved posts
have gone unmarked (perhaps in favour of easier ones to reply to).

John Galbraith wrote:
> When I start rosegarden, and particularly when I load a sequence, the
> program seems to scan an excessive number of potential MIDI devices.
> These are accompanied by many messages of the type
> RosegardenGUIDoc::syncDevices().  It takes about a minute to perform
> this scan with my setup.  I have a Audigy card with a few ports, and
> a Midi Express XT (mtpav driver) that makes a whole bunch of ports,
> which is why this scan takes so long.   Is this set of scans
> necessary?  What does it do?  It seems like a "sync device" wouldn't
>  even be necessary until a working syncronization feature was
> implemented. Even then, it would only use one device.

The term "sync" here has nothing to do with MIDI sync; it just means
that the sequencer process scans the ports available and tells the
GUI about them.  This is necessary after loading a file, because the
GUI reinitialises its Studio configuration when the file is loaded
(i.e. using information found in the file, such as the patch maps
and so on) and then needs to synchronise the resulting information
with the actual devices that the Studio knows about.

At the moment this sync is perhaps slower than it needs to be,
because we always do a full resync every time which involves passing
a reasonable amount of info back and forth between the sequencer and
GUI processes (easier to make sure we've got everything that way).
I'm sure we can optimise it, though I have a few issues with parts
of the way the work is actually done that I'd like to fix first.

For my info, could you call up the Detailed Status dialog from the
Sequencer pane of the Configuration dialog and send me the entire
text from it?

> The studio mechanism
> also forgets when I remove a device, so when I reload the sequence
> after trimming my "studio" to the ports that I am actually using, all
> the unused deleted ports reappear.

Yes, this is a rather fundamental issue actually.  If new ALSA
clients are created while Rosegarden is running, it should pick them
up and offer you devices corresponding to them -- but it can't tell
the difference between this situation and the situation in which
you've just loaded a file with fewer devices in it than existed
previously, because both of them are handled through the same
syncDevices mechanism.  In both cases the GUI simply sees the excess
devices as "new".

And of course in many cases after loading a file you _do_ want any
additional devices not listed in the file to continue to be
present -- for example, the default autoload.rg loaded at startup
may have fewer devices in it than are actually present, but you
still want the additional ones to be visible.  Or if you borrow a
.rg file from someone else, you don't necessarily want it to get
rid of most of the devices in your setup that your friend doesn't
have.  I guess this is where we need the option to merge studios
between files.


Chris



-------------------------------------------------------
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
_______________________________________________
Rosegarden-devel mailing list
[EMAIL PROTECTED] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to