Am Freitag, 15. Juli 2005 16.23 schrieb Chris Cannam:
> On Friday 15 Jul 2005 15:12, Toni Arnold wrote:
> > Currently, I have problems testing it, since the current sequencer
> > does not let me record no more (CVS 1.0 works fine).
>
> Apologies for not replying to your actual question, but: What!?
>
To continue the lirc thread: As far as I see, my new proposed version doesn't 
change any behavior of rg itself, but would really improve the interface. It 
seems to behave exactly the same as when using the mouse, so I would propose 
to checkin the patch at http://mypage.bluewin.ch/tarnold/rosegarden/lirc/
(050710.rg-lirc.patch and perhaps somewhere the file 050625.lircrc)

However, there is a more fundamental architectural issue which I wrote down 
over the weekend:

irkick
------
After installing kde 3.4.1, irkick (the central kde lirc client) finally works 
on my gentoo box. Therefore there are now two ways to control rosegarden with 
a remote control: the native lirc interface or irkick as a central client. 
There are arguments for both ways, and they can be used in parallel. Let's 
start with irkick, then compare with native lirc support. I vote for keeping 
native lirc support.

Advantages of using irkick:
- There already is some very basic documentation in the kde help center.
- Like on win32, a tray icon lights up whenever a remote button event has been 
received.
- Configuration is done within a gui instead of editing ~/.lircrc, which is 
easier for most people. (Of course, the more troublesome installation of lirc 
itself remains the same).
- No need for writing any code within rosegarden - at least at a first glance.

Disadvantages of using irkick:
- kde required (it's in kdeutils, depending on kdebase).
- Configuration is not as simple as it seems at a first glance: After 
selecting your remote definition from the lirc installation, you have to 
start rosegarden and select to change a function for a running program. Then 
you select a button, select rosegarden from all running kde apps, browse 
through the various components and select the triggered method out of all 
k_dcop interface methods. Repeat this for each button. See a screenshot on 
http://mypage.bluewin.ch/tarnold/rosegarden/lirc/irkickconfig.png : any 
k_dcop method gets exposed to irkick which will confuse users unfamiliar with 
the rg internals.
- kde has sometimes portability problems with old config/*rc files when 
accidentally upgrading to a new minor version
- Any methods that should be callable by lirc must be made globally public as 
k_dcop. As the screenshot and my 050710.rg-lirc.patch version including track 
led's shows, there will nevertheless be need for coding (mainly object 
navigation) for including new remote functions like trackMute.


Advantages of using native lirc support:
- For users accustomed to use text editors, configuration is straightforward 
(compared to editing irkickrc) and the same as for all non-kde-apps like 
xmms. Compare yourself for the play button:

irkickrc:
  Binding0Arguments=0
  Binding0AutoStart=false
  Binding0Button=DVD-PLAY
  Binding0DoAfter=false
  Binding0DoBefore=true
  Binding0IfMulti=0
  Binding0Method=void play()
  Binding0Mode=
  Binding0Object=default
  Binding0Program=rosegarden
  Binding0Remote=SBCRU545-DVD
  Binding0Repeat=false
  Binding0Unique=true

lircrc:
  begin
    prog = rosegarden
    button = VCR-PLAY
    config = PLAY
  end

- All functions intended for lirc are user-visibly declared in the example 
lircrc for rosegarden and its translations into method calls are all in the 
lirccommander class.
- No need to change the global rosegardenguiiface for adding new methods. From 
a cvs point of view, any changes are strictly local to the "user contributed 
and thus suspicious" lirccommander class (of course, as long as the needed 
slots are reachable from the main rg app).

Disadvantages of using native lirc support:
- No gui for end users
- Additional documentation for rosegarden users needed (will probably be my 
part to do...)
- Any new function needs to be coded in lirccommander and .lircrc, not only 
those not already exposed via k_dcop.


Possible changes of the situation in the future
- It would be possible to create a special k_dcop interface for any kind of 
remote controls for rg (including e.g. old radio controls from rc-cars for 
the pitch-bend/mod wheels - if that would exist ;-).
- There might come up a general gui editor for ~/lircrc files somedays.


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to