Working on Amarok in an IDE

Bernd Wechner bwechner at yahoo.com
Sat Mar 19 00:34:08 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 *Run* menu, and the
     *Launch 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 New*, 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*, *Project **Target* 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 *Executable* 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 Rhythmbox 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 can 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.




More information about the Amarok-devel mailing list