[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Traverso-devel] Remote Transport Control
From: |
Remon |
Subject: |
Re: [Traverso-devel] Remote Transport Control |
Date: |
Fri, 30 Nov 2007 21:27:40 +0100 |
User-agent: |
KMail/1.9.6 (enterprise 0.20070907.709405) |
Hi,
> I'm looking to implement some sort of remote transport control for Traverso
> (probably OSC-based, but the jury remains out on that one), and am thinking
> that the Command plugin framework looks to be perfect for the job.
Sound cool!
Don't know much about OSC, although I see it mentioned sometimes on LAD. If
you're gonna use it, it might obviously a good thing (TM) to do add support
for it in a generic way, so it can be re-used for other purposes ?
> However, after grepping through the sources a bit (current CVS), I'm having
> a hard time locating a place to begin (I've found the LV2 host
> implementation, but nothing that seems to relate to 'Command' plugins).
Not entirely sure what kind of control you want to implement, and how the
Command framework can be used for it.
There are basically 2 plugin systems now in Traverso, the effects plugin, used
in the audio processing chain, LV2 inherits this Plugin class.
And there is the TraversoCommands plugin, basically a wrapper for Command
classes, which creates the correct Command object, depending on the requested
action. The returned Command object re-implements some or all of the virtual
functions, with which we can perform the un/redo() and jog feature.
It's up to the programmer to make it as complex or as simple a Command class
as he/she likes. See for example the Shuttle vs the MoveClip Command class
(Shuttle is defined in SongView.cpp)
> So, would someone be able to point me to the bits of source that I need to
> get started? Or, better yet, have a small example plugin handy? Thanks!
There is basic documentation, I think still fairly uptodate:
http://www.traverso-daw.org/developerdocumentation/index.html
It would perhaps be a good idea if you can give a global idea what you want to
do, and in which way, so we can look together what the current options are,
what is missing, and so on.
Hope this is of any help,
Remon