Working on Amarok in an IDE

Bernd Wechner bwechner at yahoo.com
Tue Mar 22 00:41:49 UTC 2016


An update. Have had some luck on IRC, and am progressing with QtCreator 
and have put some notes for news here on what I've learned to get past 
my roadblocks:

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

Am still blocked on Kdevelop so anyone using Kdevelop on Amarok is 
invited to help out, get me running and debugging in that and to update 
the Kdevelop notes on the wiki above.

Alas, activity on the dev list looks pretty dead of late. A wake up call 
to any Kdevelop users then to at least help make entry for newbs easier 
and keep Amarok dev alive before hibernating too deeply ;-)

Regards,

Bernd.

Bernd Wechner wrote:
> 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/20160322/e8f2559f/attachment.html>


More information about the Amarok-devel mailing list