Hi Amarok developers, what's up? I don't see much recent activity in the archives of this list, on the website, blogs, or the wiki. What are the future plans for Amarok? I am interested in getting involved, primarily to make Amarok an awesome SoundCloud client.
I started working on a QtScript service plugin to stream from SoundCloud (attached), but it seems that Amarok's QtScript API will not be enough to really make use of SoundCloud's features. Is it possible to add to Amarok's GUI outside of populating the collection pane or putting simple HTML in the the info or lyrics applets with QtScript? I initially was thinking of trying to do an ugly hack of using the info applet or a lyric script to display information from SoundCloud and links to like a track, comment, follow an artist, and other functions. However, I do not see a way to do that without opening a separate browser, which kinda defeats the point of the Amarok service. So it seems that this service would have to be written in C++ to really make it awesome or a lot of work would have to be done to extend the API exposed to QtScript. Amarok already has places in its GUI that it would make sense to integrate SoundCloud functions. Comments could be displayed along the play bar like bookmarks, analogous to how they are displayed on the waveform on SoundCloud's web interface. Adding a comment would be done like adding a bookmark to a track in the local collection. Perhaps the interface for this could be reused to create an annotation feature for bookmarks in the local collection. Liking tracks, following artists, showing who an artist follows, sharing tracks/playlists to the users' stream or a group, and maybe more functions could be invoked by pressing buttons added to the Current Track applet when a track from SoundCloud is playing. As for the collections pane, this could be structured like: Users -User list generated from search terms, with thumbnails of user's avatars --Playlists ---Playlists with album art and year ----track list in order of playlist ---Other tracks, using user's avatar as thumbnail ----track list --All tracks ---track list --Likes ---track list --Shares ---track list --Following ---user list --Groups ---group list -Own account --Same as above, plus: --Personal stream ---track list Tracks -Track list generated from search terms Groups -Group list generated from search terms --Tracks ---Track list --Members ---User list --Contributors ---User list --Moderators ---User list What would make this service awesome (and another feature that does not seem possible via QtScript) and really take advantage of SoundCloud's social features is that the hierarchy would be interlinking. Double clicking a user or group anywhere in the hierarchy would load that user/group in the user/group list at the second level of the hierarchy. For example, when viewing who User A follows, double clicking on User B in that list would load User B's information, displayed at the same level of the hierarchy as User A with all the elements (playlists, tracks, likes, following, groups) shown for any user. What will make this a challenge for me is that I do not know C++ or Qt yet. I have some programming experience with Python, Bash, and EMCAScript. I think writing this SoundCloud service could be a fun and useful way to learn C++ and Qt (which I also want to learn to contribute to Mixxx). Suggestions welcome! :)
soundcloud_service.tar.xz
Description: application/xz
_______________________________________________ Amarok-devel mailing list Amarok-devel@kde.org https://mail.kde.org/mailman/listinfo/amarok-devel