Working on Amarok in an IDE

Bernd Wechner bwechner at yahoo.com
Thu Mar 10 08:16:23 UTC 2016


So far, all seems good. I have Amarok building and gitting fine. Now 
setting my naivite aside again for a moment and resting easy that I am 
not posting a question before but after hours of reading and trying I 
turn towards willing mentors with this question.

I have worked extensively with Visual Studio in C# and in Eclipse with 
Python in recent years (and plenty of other IDEs and languages over 
time). And generally I'm blown away by a couple of things that I'm 
finding joy with on Amarok yet:

1) I build and run in debug mode, so set break points, inspect 
variables, single step, trace and profile and more
2) I can look at end generally edit windows, dialog boxes controls, 
widgets and HTML pages visually at or close to WYSIWYG.

But on Amarok I'm focussed on this page:

https://community.kde.org/Amarok/Development/Hacking_On_Amarok_HowTo

And with it I have the project open in Kdevelop, tick.

I can build it in Kdevelop, tick.

I can't debug it. Cross.

So I get as far as configuring launches and faced with a complex ritual 
and little guidance ... stuck. Here's a work flow to my first few 
quizzically cocked eyebrows:

 1. I click *Configure launches* on the *R**u**n* menu, and the
    *Lau**nch Configurations* dialog box appears, tick.
 2. I see in the unlabelled list box on left (UI design cross, as I
    can't intuit what its listing and can't name it), I see *Global* and
    *amarok*, tick (I like seeing amarok).
 3. I click amarok and nothing happens but a neat little text on right
    suggest to me I should click *Add **N**ew*, so I do.
 4. A confusing little drop down leaps at me on which stands
    *Application* (good, likely candidate), *Plasmoid Launcher *(no idea
    what that is, shelf a small research effort later), *Sc**ript
    application* (can guess what this is but not real confident how it
    from Application), and then three amarok utilities, but not amarok.
    The utilities are *amarok_afttagger*, *amzdownloader*,
    *amarokcollectionscanner*.
      * First cocked eyebrow: Why is amarok not listed here? Three
        utilities yes, but not the main application, the player itself?
 5. I run with *Application* which creates under amarok in the list box
    at left, two children, *New Application Launcher* and under it
    *De**bug*, tick, getting somewhere.
 6. Under *Executable*, *P**roject **T**arget* on right I see a drop
    down again, and again, only the three utilities listed.
      * Second cocked eyebrow: Same as first and probably same reason
        and the same issue, but why is amarok not listed?
 7. So I have to go not with *Project Target*, because amarok apparently
    is not a project (note to self, it surely should be, what is broken
    here?) but with *Executable*, the alternative below it.
 8. Under *E**x****ecutable* I can browse to a binary, and in fact I can
    browse to the binary I just built, in theory but ...
      * Which binary did I just build? Double back to the main Kdevelop
        window check the *Build *output and get lost ... cannot find it
        anywhere.
      * I find a line "[ 79%] Built target amarok", but unlike my
        comfortable experience with other IDEs not showing me where
        amarok is, so I do a lot of cmake research, hours and hours of
        cmake research to conclude that: cmake is run to create a build
        director which seems to be a complete copy of the source
        directory with makefiles, and then make is run to build it. So a
        two step build process: cmake to create a build folder, then
        make to make the build folder.
      * Frustratingly though I have two build directories:
        ~/kde/build/amarok
        ~/kde/src/amarok/build
        Cross - compexity mounting!
      * I finally work out why. When I build by "standard means", I used:
        cmake -DCMAKE_INSTALL_PREFIX=$HOME/kde
        -DCMAKE_BUILD_TYPE=debugfull $HOME/kde/src/amarok
        run from within ~/kde/build/amarok
        and Kdevelop I presume created ~/kde/src/amarok/buildand built
        in there.
 9. Decide it's time I got checked if some kind soul who uses an IDE to
    work on amarok can't mentor me a little and save me more hours of
    reading and learning to just get me running!

On my second expectation (to see the Amarok GUI elements in a visual 
editor) I'm even further behind, my tentative impression is that 
Kdevelop won't provide that but Qt Creator will. But to be honest my 
cocked eyebow is raised sooner than with Kdevelop. If I follow the scan 
guide here:

https://community.kde.org/Amarok/Development/Hacking_On_Amarok_HowTo

which says simply: Navigate to the Amarok source directory and select 
the file CMakeLists.txt

Unsurprising Qt Creator opens it as a text file and is no better than 
gedit for me. Cocked eyebrow is raised, and what gives? Haven't done 
hours of work here yet, but getting in early and saying:

Guys, if you help me with this I'll improve this WIki page with what I 
learn:

https://community.kde.org/Amarok/Development/Hacking_On_Amarok_HowTo

Can we do that?

I've opted to look closely at Amarok because it ticks some big boxes for 
me that Rythmbox and Banshee didn't, among which is it actually builds 
;-), but there are significant others. But I would like to be able to 
tweak it and contribute if I can, but time is a premium and I'm already 
hurting for time I sunk into this to date, so if anyone wants to hold my 
hand a little and let me call them honorable mentor, to get me rolling 
and my teeth into stuff that matters I'm happy to update wikis and docs 
to help other newbs. I cna only promise I won't waste your time with 
trivial questions the answer to which is already easy to find on-line ;-).

Thanks in advance!

Bernd.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/amarok-devel/attachments/20160310/7456bf76/attachment.html>


More information about the Amarok-devel mailing list