Re: [jokosher-devel] Modifying a pipeling while in PLAYING state
- From: Laszlo Pandy <laszlok2 gmail com>
- To: Lukas <sinisterguy gmail com>
- Cc: Jokosher Devel List <jokosher-devel-list gnome org>
- Subject: Re: [jokosher-devel] Modifying a pipeling while in PLAYING state
- Date: Fri, 01 Dec 2006 16:17:28 -0500
Also what's going to happen to the
The GP is being scrapped. It doesn't do anything except change the
state, but we now have a way around that.
I still think its a good idea to have all the pipeline code in one
spot, to keep things organised and such.
This is kinda hard to do. Having *all* the pipeline code in the same
spot would mean combining instruments, events, effects, playback and
recording all in one class. That would be a little much.
As for putting all the pipeline state changes in one place, they are
already supposed to be. Only Project.play(), Project.record(),
Project.stop() and TransportManager.play() should change the pipeline
state. Everyone else should learn to deal with a pipeline in any state.
What we really have to do is start enforcing a pipeline policy, and
review everyone else's patches to make sure they keep it. So far our
tentative policy is everything should expect the pipeline to be in
PAUSED or PLAYING (they're basically the same thing) but still be able
to handle the occasional READY. This means:
1) The pipeline must always be in a playable state. If you unlink
something, immediately link it to something else. Currently we do a
whole lot of preparation for playing in Project.play() which will no
2) Whenever you unlink two elements, you must block the pad first so it
doesn't complain about a non linking error. I still have to figure out
the details of this, but it should be something like pad.set_blocked(True).
] [Thread Prev