Registered Member
|
Hello there, I love Amarok, but unfortunately it cannot be skinned to make it usable on small touch screen in car environment, fortunately recently I found out about DCOP calls that can be used to control Amarok.
I gather that it is possible to make independand GUI application that transmits/recieves DCOP calls to/from amarok and acts as a front end. The problem is that I do not have enough programming experience (I am at the level above Hello World, can code for micros, but never done anything with GUI). Can some one point me where to start and where I can find info on how DCOP calls work and can be tied with whatever GUI I will be using. Is Kdevelop suitable for this? Thanks. Sergei. |
KDE Developer
|
I would recommend Qt/Ruby and KDE/Ruby (called Korundum). It's how I started out with KDE development, previously I had only done some simple GUI stuff with Java.
Learn basics of Ruby: http://tryruby.hobix.com/ Here's a general Korundum article: http://developer.kde.org/language-bindi ... index.html Here's a $8.50 ebook about Qt/Ruby development: http://www.pragprog.com/titles/ctrubyqt/ So Qt/Ruby has all the features you need to make a nifty GUI interface. From Korundum you can get some nice DCOP bindings, documented here: http://developer.kde.org/language-bindi ... index.html
Last edited by Anonymous on Tue Dec 25, 2007 12:09 pm, edited 1 time in total.
Amarok Developer
|
Registered Member
|
Right.... not as easy as I thought, cant get my head around all that stuff.
Well I went through ruby tutorial no problem, get the idea. But doing it with gui is much harder... I am good with C, ruby is something new to me, although it is not as syntax ambiguous as C. Let me go about this other way - is it possible to take amarok source and rearange the main playlist window the way I want, without going into major programming stuff? All this GUI mumbo jumbo is very new to me. I though that I could open kdevelop, make up an UI that I like, and them make buttons send dcop messages on push, but there is no documentation anywhere where I can find how to do that, and the fact that (I think it is) button functions are not automatically created, makes it even more complicated. I was hoping it would be very easy like this: push.mybutton(){ send.dcop("amarok","volumeup"); } yeah right.... I guess, I have to spend all holidays figuring this out (rather than wiring ECU on my race car, which is 100 times more easier btw)... |
Registered Member
|
Righto... I give up, http://developer.kde.org/language-bindi ... al/p5.html <- seg faults if I click the button. I don't think that I like ruby, after fiddling with it.
I have started another thread in programming section in ubuntuforums, http://ubuntuforums.org/showthread.php? ... ost4011553 as I feel this has nothing to do with amarok apart that I am trying to control it.... What I actually need is tutorial on how to create an GUI application from scratch with explanation and list of the all classes and what they do. In those tutorial (especially the kde ruby one) half of the things are not explained at all. Guessing in programming is extremely frustrating. Thanks for your help. |
KDE Developer
|
The documentation for all the Qt docs are here:
http://doc.trolltech.com/3.3/index.html Thats the docs for the C++ API, but the Ruby one is the same. There's no quick fix for GUI apps though, you will be forced to learn something.
Amarok Developer
|
Registered Member
|
Kommander absolutely rules. It is pretty light, and has a very quick QtDesigner like interface for making GUI scripts, with DCOP natively built in. There is no need to compile anything. It would definitely be my first choice for this sort of thing. It is in kdewebdev, but has nothing to do with webdev really except that it was written by the Quanta team.
|
KDE Developer
|
Actually yea, Kommander is good, it might be the quick fix.
Amarok Developer
|
Registered Member
|
This is exactly what I was after!!!! Thank You very much!!!!! Thumbs up!
I have figured out how to use it in 5 min. It is very straight forward and easy to use. I am so happy that I can actually make some progress! KDE rules. Kommander is probably the most powerful thing that normal users can have with their desktop environment! Sorry about being overly excited |
Registered Member
|
Help!
I am trying to make Equalizer work with my front-end that I have made with Kommander, I get two problems: 1) if I try to use built in dcop function for example:
Which supposed to transform the value from apropriate slider to value that Amarok equalizer accepts. But this does not work (it complains about number of arguments). I also have tried to pass it as QString:
if I issue call from cli it works:
so I have decided to use @exec feature
I used the Label57 as temp value as it was already defined, but it behaves exactly the same if I use all the array values in the @exec call. This method "works"... which brings me to another problem: When it works, if I click on the slider that is connected to a script widget (ValueChanged->populate) that contains the DCOP call to amarok to change equalizer settings, the slider starts either going up or down by itself until it reaches maximum(or minimum), at first I though my scroll wheel was stuck but that was not the case... I have no idea why is this happening, I have nothing else that should affect the sliders in such way that it would move them (I have nothing that writes to sliders text field). I have a suspicion that this is a bug in kommander and ValueChange(int) is getting fed back into slider somehow making it move...I do not like to use SliderPressed/Released signals as they are not affecting the values passed to the equalizer instantly and sometime require multiple clicks to work (move release, click, other wise it will not update). My other sliders that use ValueChange signal work fine... I am very close on finishing this script, it is very frustrating to be stuck and have no idea on what to do next... I am attaching my kommander file(rename it to kmdr), I have connected 30hz slider ValueChanged signal to script object, while 60hz slider is connected to SliderPressed, 125hz to SliderReleased, and 250Hz to both pressed/released....
Last edited by sergei_franco on Sun Feb 17, 2008 6:55 am, edited 1 time in total.
|
Registered Member
|
It is a bug of some sort... again wasted too much time on this.
here are more details: http://ubuntuforums.org/showthread.php? ... ost4367668 |
Registered users: abc72656, Bing [Bot], daret, Google [Bot], Sogou [Bot], Yahoo [Bot]