Before amaroK was born, most KDE users were stuck with XMMS; others would even run console-based audio players. Now those days are over. amaroK, written for the KDE desktop environment with its slick GUI and plugable, engine-independent audio capabilities is coming to a computer near you!
amaroK is the first KDE application to use the GStreamer Multimedia Framework without any dependency on external bindings. amaroK can also integrate with xine so you have the freedom of choosing your own flavor.
With version 1.1 there are many exciting changes that make using amaroK even more fun. Here are some of the features that you will simply love :
- Fully Integrated with KDE: Play from your Samba share with smb:/, or use the fish KIO slave to play from a remote host.
- Simple and Elegant: Collection-based system where you can choose songs from a variety of criteria, including artist, most played, never played, etc.
- Stream Support: Listening to online radio has never been easier. Just load the playlist file and it starts playing.
- Engine Independence: Ability to use GStreamer or xine. (There is also aRts engine but it is not ported to the new engine architecture yet).
- Improved Crossfade: Crossfading with customizable fade-in/fade-out durations now works for GStreamer engine too
- Inline tag editing: Tag your music while you play it.
- MusicBrainz support for tag editing: No voodoo needed for tagging your music, just click the MusicBrainz button and it will get the song information from the online database.
- Album cover support: If you have album covers in your music directory amaroK will automatically load them - better yet, amaroK can automatically download album covers from the Internet!
- Multimedia Keyboard Friendly: If you happen to have extra multimedia buttons on your keyboard, using amaroK is even more fun. Just use KHotkeys to map those special buttons to amaroK's dcop functions (like play/pause/volume up/volume down and many more)!
- On-screen Display: amaroK can optionally announce the currently playing song using its smart and stylish on-screen display.
So give amaroK a spin today! You won't be disappointed and that is guaranteed. Fire up amaroK, start playing your favorite songs, and visit the amaroK development squad @ irc.kde.org #amarok. Tell us why you just love amaroK, or your killer new idea for it. We are waiting for you!
Comments
hi, i wish, "amarok" will get features like "Helium" has got ( http://www.helium2.com ).
amarok seems to become very nice, altough i have got a lot of crashes when using version 1.1 especially when i try opening streams while using arts-engine, but also xine-engine doesn't work with streams (for me).
thanx, and keep on the nice work..
I just don't get it - why is the big list on the right empty after clicking on 'Current playlist' in the 'Playlists' tab? Is that a bug or am I too confused?
I thought it would work like that: browse through collection, drag a few files from here and there into the playlist, doubleclick on one to play it immediately, and the playlist would persist during at least the current session. It should be possible to shuffle stuff around in the playlist by dragging it up and down, remove it by hitting the delete button when selected and so on. All that works fine as expected, but the 'Current Playlist' does not. I thought when doubleclicking on other playlists in the 'Playlists' tab like 'Cool Streams' I would switch to that other playlist but I can switch back to what I previously assembled by clicking on 'Current Playlist', but that doesn't work - the other playlist is displayed in the big window on the right, but when going back the current playlist is always empty.
Anyone care to explain?
(amarok 1.1 from Kalyxo Debian package)
I think this is a typical JuK users issues with amaroK. We don't work the same way as JuK at all. The playlist on the right is static, not dynamic.
Hmm, I need to think about how to address this.
I've given up on juk after a short try some months ago, so I'm not a typical juk user, rather a 'drag and drop from konqueror into xmms playlist' type. From this rudimentary interface I'm very used to having one dynamically during the session assembled playlist. Having the possibility to deal with more playlists looks like a cool feature to me, but then I would expect 'current playlist' to be the one I assembled before and the others saved ones. If it is not, what else is 'current playlist'? Why is it always empty?
Btw, when clicking on 'current playlist' it displays the empty list but the current song continues to play and I have no idea how to make it appear in the big list on the right again.
Could you elaborate what you mean with static? If it is meant to always stay there I would understand it, but then the 'current playlist' always being empty is clearly a bug, no?
The current playlist item is a bit of a hack, and apparently a big usability issue. It's there so you can easily add the current playlist to the playlist-browser list. Clicking it doesn't go back to what you had before. It wouldn't be current then anyway. I think we need to remove that from the browser.
It appears empty because if you click it it just loads what you alredy have in the playlist.
Yeah it should be removed init. We can have a toolbar button instead.
Thanks for the answer! I'm still confused about the meaning of the button but at least there's hope that after the change I'll understand it.
So am I right in assuming that the list in the big box on the right should be considered very volatile and not something that can be assembled steadily during a session? How could I achieve the following in amarok: select a few songs from my collection, while it is playing add some more songs from the (very slick) recently played list, then add some more from the collection? Would that work with a saved playlist?
The playlist on the right is winamp like. You build it steadily during the session.
Drag and drop is the main method we recommend for using amaroK, also right click on stuff and you can "append to the playlist".
The playlist-browser should append by default really as everything else in amaroK works this way. I think it was changed to be more like JuK and this is a mistake destined to cause confusion.
i really don't know how people can compare juk and amarok and say that juk's better. for me it's not. i tried it once and it was terrible. amarok interface is really clean and simple to use. maybe control buttons could be moved to the top, as most peaple are used to itunes, rythmbox and other. but collection viewer, file browser, search and last but not least context viewer are just awesome!
best regards
yemu
AmaroK just saved me 50$... my Asus K8V SE Deluxe card isn't very well supported by aRtsd, so I where going to by me a new SB Live 5.1 just to listen to my music...
But then I discovered that Xine played DVD's just fine, so I just recompled AmaroK with xine-support, and now it works like a charm...
Morten
that's what you deserve for using crappy onboard hardware.
it ain't the 90s anymore, sound cards (or in this case, a sound chip) don't need to be spiffy to do everything you'd ever need them for.
"Multimedia Keyboard Friendly: If you happen to have extra multimedia buttons on your keyboard, using amaroK is even more fun. Just use KHotkeys to map those special buttons to amaroK's dcop functions (like play/pause/volume up/volume down and many more)!"
Why not use amaroK's global shortcuts?
Every kde app can use these keys, not only amarok.
http://linuxreviews.org/software/media-sound/amarok/
:-)
Like the majority here, I've been using amarok for a while. I always hated xmms... gtk... file dialogs... painful skin... ugh. Noatun is okay really; but why on earth does it load so slowly. kplayer and kaffiene are quite good too at playing; but their interfaces are more geared towards video. JuK was a giant leap forward, and is still uniquely good in a few ways, but I always found it very heavy. The scanning of my audio many large folders always would kill my system in the past.
Amarok suddenly appeared. Nice new ideas. Interface took a little bit to get used to (especially the weirdness of not being able to save/organize playlists). But generally it was just a pleasure of simplicity, with loads of wow factor (like when i discovered it was keeping stats on what files i played, and ranking them).
Now my complaints! I still find amarok pretty heavy in many ways. I actually use it's own colour scheme, it's pretty nice: but it's absolutely annoying the way the selection bar in the playlists insists on forever fading in and out. I wish i could turn off the infernal title scrolling in the player window. (Just like animated GIFs on web pages are usually annoying, this stuff annoys me.) And also while the level display embedded in the bottom of the playlist is extremely nifty, i'd like to turn it off too. I find that just having amarok running, not even playing anything, increases my system load more than any other player, which annoys me. Yes it only increases it slightly; a few tenths or so, but still... it's needless. I like my cpuload display to be as flat as possible when i'm not doing anything on the system.
But ... well, amarok is still the best for me for now.
You can turn off the player-window and you can remove the analyzer from the toolbar. You've always been able to save playlists - I don't quite understand what you mean by "especially the weirdness of not being able to save/organize playlists".
We like the flashy stuff, but considering how many people seem intolerant to it, are starting to consider making it optional. Frankly I don't understand why people spend enough time looking at it get annoyed. I tend to minimise amaroK pretty quickly when I'm just using it (rather than developing it).
I'd be surprised if just having amaroK running increases your CPU at all. I'm very sensitive to that kind of thing and spent quite some time hunting out stray timers and disabling them when amaroK is hidden.
Thanks for the feedback, any feature requests?
I appreciate you response to me, and others I have seen above. It's clear that you love your project a lot, as well as respect the (even sometimes negative) perspective of others. Very admirable.
I haven't checked what you say yet, but I if you say it it must be true. It may indicate that there is indeed some room for usability improvement/redesign in the interface to make things more intuitive. Many have said this above; though some of them I don't agree with on some points. But my comments above are based on my using amaroK for months and months now as my primary audio player. And I somehow missed the options to save play lists and turn off some of the animations? Hmmm.
As for feature requests: perhaps it already is one... but the reason i keep the player window open (and am afflicted by the scrolling titles <-:) is because I like having the player controls (and occassionally actually one or other of the alternate analyzers available, though i usually turn it off). Need to move player controls onto the playlist window somewhere. Yeah, i know you'll probably say just use right click on the kicker icon to get controls... but that's too many clicks on an areas of the screen i'm not likely to be. <-;
You may also tell me to just use the global hot keys... fair enough. But i just prefer the player buttons for some bizarre reason. I guess i'm just used to them. Up to you whether you want to make your app more comfortable for people stuck in their ways, or make people conform more entirely to your way. I know by all the stuff you have thrown in you do try to do a bit of both.
Wow, you can save play lists! How bizarre; all this time, I never actually really considered those icons on bottom left of the playlist window. They don't seem "attached" to the playlist to me somehow, being over there underneath the pannel. Simple suggestion: place the option on the context menu when right clicking on the actual playlist. Or maybe move the buttons to the right side to the left of the "menu" button.
I still can't figure out how to remove the analizer from the tool bar though. I found the frame rate selector. But if i cared *that* much i'd probably have complained on a mailing list by now or something. <-;
I also should apologize that all my comments are based on 1.0 ... maybe some little things have changed in 1.1 which this thread is attached to the announcement of. (FreeBSD is currently in ports freeze for the impending 5.3 release, so an easy amaroK build hasn't been updated for us yet.)
Anyhow great work. My complaints are not signficant. Just keep improving everything for as long as you can, is all we can really ask. (-:
P.S. you are also right in that amarok does pretty much not take any cpu when minimised (ie. existing only in kicker). I guess i just have to train myself to minimize it. I tend to just use ALT/CTL-TAB to switch between apps/desktops... don't usually minimize anything normally.
I think we need to cater more to the non-flashy crowd. A single option to disable flashy stuff is something other developers have suggested before. I'll propose it on the mailing-list, probably to much surprise since it is usually me who says "naaa.." ;-)
You can already have the player-controls in the playlist, we cater for two main interface options. The first we call XMMS-mode, the second is COMPACT-mode. You can switch between them using the first-run wizard. Compact-mode is only the playlist-window with a statusbar and a more complete (ie playback buttons) toolbar. I think we need to make this switch behaviour available in the configure dialog. For 1.0 you can adjust this using the Welcome-tab (replaced by the wizard in 1.1).
You are right that the playlist toolbar should be under the playlist. I will shortly try this out to see how it feels. Hopefully it'll seem so right the other developers will like it too.
Thanks for the suggestion to have a hide-this-analyzer option in the playlist-analyzer's context-menu! I have no idea why it didn't occur to me to add this in the first place. Currently you have to configure the toolbar to remove it. Yes.. I know this is not intuitive, but you see, it's in the toolbar so it kind of makes sense ;-)
amaroK should stop using extra CPU when on different desktops too, since KWin sends a hideEvent to the application when you switch desktop. But I'll investigate.
Thanks for the suggestions! :-)
I'm using amarok 1.1 from the kalyxo debian package with gstreamer 0.8 outputting to alsa and experience short skips frequently in cpu usage peaks, e.g. when konqueror renders a complicated page. Any well known problems with this setup?
This is a recent pentium M machine that definitely should be capable of playing uninterrupted. xmms outputting directly to alsa works fine, even under higher load.
Thats a gstreamer bug that is fixed in the last version.
regards
Daniel
I'd love to join in the praise/criticism of amaroK, but I've been completely unable to get it to play anything. I've been trying each new version for the last 2 or 3 months, and I always have the exact same problem....namely that everytime I try to use amaroK to play an mp3, it starts up, splash screen stays for ages, and then I get a message saying amaroK could not be started, try running it from the command line (this is while the blue amaroK speaker icon is in my systray btw)
Now, I'm not necessarily saying that it's amaroK itself - I mean on my system I'm running LFS, with everything freshly compiled from source - so it could be that I've not compiled something correctly. Also, I run KDE cvs, updating every few days... so again, that could be the problem.
Any advice, hints etc.. would be appreciated.
PS
xmms, juk, and other media players seem to work ok
Try running the amarokapp binary instead. amaroK startup depends on some IPC that you may have disabled with your LFS (?).
Tried that....
bash-3.00# amarokapp Blondie\ -\ Call\ Me.mp3
kdecore (KConfigSkeleton): Creating KConfigSkeleton (0x827c7a0)
kdecore (KConfigSkeleton): KConfigSkeleton::readConfig()
amarok: BEGIN [static EngineBase* EngineController::loadEngine()]
amarok: [PluginManager] Plugin trader constraint: [X-KDE-amaroK-framework-version] == 3 and [X-KDE-amaroK-plugintype] == 'engine' and [X-KDE-amaroK-name] == 'void-engine' and [X-KDE-amaroK-rank] > 0
kio (KSycoca): Trying to open ksycoca from /home/gogs/.kde/cache-insp8200/ksycoca
kio (KTrader): query for amaroK/Plugin : returning 1 offers
amarok: [PluginManager] Trying to load: libamarok_void-engine_plugin
kdecore (KLibLoader): Loading the next library global with flag 257.
amarok: [amaroK::Plugin::Plugin(bool)]
amarok:
amarok: PluginManager Service Info:
amarok: ---------------------------
amarok: name :
amarok: library : libamarok_void-engine_plugin
amarok: desktopEntryPath : amarok_void-engine_plugin.desktop
amarok: X-KDE-amaroK-plugintype : engine
amarok: X-KDE-amaroK-name : void-engine
amarok: X-KDE-amaroK-authors : (Max Howell,Mark Kretschmann)
amarok: X-KDE-amaroK-rank : 1
amarok: X-KDE-amaroK-version : 1
amarok: X-KDE-amaroK-framework-version: 3
amarok:
amarok: END [static EngineBase* EngineController::loadEngine()]
amarok: [browserBar] Initialisation statistics:
amarok: Init: ContextBrowser
amarok: [ContextBrowser::ContextBrowser(const char*)]
khtml (xml): using compatibility parseMode
amarok: KMultiTabBarTab::updateState(): setting text to an empty QString***************
amarok: Time: 0.04s
amarok: Init: CollectionBrowser
amarok: [CollectionView::CollectionView(CollectionBrowser*)]
amarok: [void CollectionView::renderView()]
amarok: KMultiTabBarTab::updateState(): setting text to an empty QString***************
amarok: Time: 0.02s
amarok: Init: PlaylistBrowser
amarok: KMultiTabBarTab::updateState(): setting text to an empty QString***************
amarok: Time: 0.03s
amarok: Init: SearchBrowser
amarok: KMultiTabBarTab::updateState(): setting text to an empty QString***************
amarok: Time: 0.01s
amarok: Init: FileBrowser
kio (KDirLister): +KDirLister
kio (KDirListerCache): +KDirListerCache
kio (KDirWatch): Available methods: Stat
kio (KDirLister): +KDirLister
kio (KDirLister): -KDirLister
kio (KDirLister): [virtual void KDirLister::stop()]
kio (KDirListerCache): [void KDirListerCache::stop(KDirLister*)] lister: 0x83a9b40
kio (KDirListerCache): [void KDirListerCache::forgetDirs(KDirLister*)] 0x83a9b40
kio (KDirLister): [virtual bool KDirLister::openURL(const KURL&, bool, bool)] file:/home/gogs/ keep=false reload=false
kio (KDirListerCache): [void KDirListerCache::listDir(KDirLister*, const KURL&, bool, bool)] 0x83b77b8 url=file:/home/gogs keep=false reload=false
kio (KDirListerCache): [void KDirListerCache::stop(KDirLister*)] lister: 0x83b77b8
kio (KDirListerCache): [void KDirListerCache::forgetDirs(KDirLister*)] 0x83b77b8
kio (KDirListerCache): listDir: Entry not in cache or reloaded: file:/home/gogs
kio (KDirWatch): Added Dir /home/gogs [KDirWatch-1]
kio (KDirWatch): Global Poll Freq is now 500 msec
kio (KDirWatch): Started Polling Timer, freq 500
kio (KDirWatch): Setup Stat (freq 500) for /home/gogs
kdecore (KAction): WARNING: KAction::plug(): has no KAccel object; this = 0x83bb2b8 name = add_bookmark parentCollection = (nil)
amarok: KMultiTabBarTab::updateState(): setting text to an empty QString***************
amarok: Time: 0.04s
amarok: BEGIN [void App::applySettings(bool)]
amarok: Discovered 170 widgets in PlaylistWindow
amarok: BEGIN [static EngineBase* EngineController::loadEngine()]
amarok: [PluginManager] Plugin trader constraint: [X-KDE-amaroK-framework-version] == 3 and [X-KDE-amaroK-plugintype] == 'engine' and [X-KDE-amaroK-name] == 'gst-engine' and [X-KDE-amaroK-rank] > 0
kio (KTrader): query for amaroK/Plugin : returning 1 offers
amarok: [PluginManager] Trying to load: libamarok_gstengine_plugin
kdecore (KLibLoader): Loading the next library global with flag 257.
amarok: [amaroK::Plugin::Plugin(bool)]
amarok: [GstEngine::GstEngine()]
amarok:
amarok: PluginManager Service Info:
amarok: ---------------------------
amarok: name : GStreamer Engine
amarok: library : libamarok_gstengine_plugin
amarok: desktopEntryPath : amarok_gstengine_plugin.desktop
amarok: X-KDE-amaroK-plugintype : engine
amarok: X-KDE-amaroK-name : gst-engine
amarok: X-KDE-amaroK-authors : (Mark Kretschmann)
amarok: X-KDE-amaroK-rank : 255
amarok: X-KDE-amaroK-version : 1
amarok: X-KDE-amaroK-framework-version: 3
amarok:
amarok: BEGIN [virtual bool GstEngine::init()]
kdecore (KConfigSkeleton): Creating KConfigSkeleton (0x844a0e8)
kdecore (KConfigSkeleton): KConfigSkeleton::readConfig()
amarok: Thread scheduling priority: 2
amarok: Sound output method: alsasink
amarok: CustomSoundDevice: false
amarok: Sound Device:
amarok: CustomOutputParams: false
amarok: Output Params:
amarok: END [virtual bool GstEngine::init()]
amarok: [static void PluginManager::unload(amaroK::Plugin*)]
amarok: [virtual amaroK::Plugin::~Plugin()]
amarok: [PluginManager] Unloading library: libamarok_void-engine_plugin
amarok: END [static EngineBase* EngineController::loadEngine()]
amarok: END [void App::applySettings(bool)]
amarok: [App] Pruned 0 of 1 amazon cover images.
amarok: file:/mnt/hdc2/home/gogs/normal mp3/Blondie/Blondie - Call Me.mp3
QThread object destroyed while thread is still running.
kio (KDirListerCache): [void KDirListerCache::slotEntries(KIO::Job*, const KIO::UDSEntryList&)] new entries for file:/home/gogs
kio: KSambaShare: Could not found smb.conf!
kio: KNFSShare: Could not found exports file!
kio (KDirListerCache): [void KDirListerCache::slotResult(KIO::Job*)] finished listing file:/home/gogs
Now I have the little blue amaroK speaker icon in my systray, but no sound. I know (or at least I'm assuming) that alsa is working ok, because I'm using xmms with the alsa output plugin, and that works fine
So amaroK loads up OK? Click the little blue icon and configure amaroK. If you have no sound then the gst-engine is outputting to a sink plugin that doesn't actually give any PCM to your sound card. I suggest you read our faq, there is a section that explains how to test gstreamer with the various output plugins. Alternatively use the xine-engine, in our experience the xine-engine "just works (tm)".
/me hangs head in shame. I did as you suggested, and discovered that there was a part of gstreamer that wasn't installed - namely the ffmpeg bit. Once I installed that, amaroK played ok. The sound skipped a bit, and I still on occasion got the message that amaroK could not be started (while it was running), but given my kindergarten attempts at setting up gstreamer, I'll assume that that is my fault as well. :o)
Thanks for taking the time to answer my question, and for trying to help
Gogs
the ffmpeg plugin ain't that good either. pick the libmad plugin and you'll be really happy :-)
regards,
muesli
I'm still using xmms sometimes because arts dosen't have some plugins I like for playing videogames songs like spc (super nintendo) and psf (playstation)
Try using amaroK with GStreamer, which has a ModPlug plug-in. That should handle most of them (though not zipped ones, I believe).
PSF, SPC etc. aren't SoundTracker files (which is what modplug plays). They are direct rips of the sound from a video game (the players tend to have a stripped down emulator in them).
There is possibly a GStreamer port of HighlyExperimental (PSF/PSF2 player) in the works, according to it's homepage (http://www.brownjava.org/software/he-xmms). As for SPC, NSF, GYM etc., somebody has to write a gstreamer plugin for them (I'd try myself, except I have no experience of gstreamer ^_^;;)
Yes, someone HAS to write a gstreamer plugin for NSF, SPC and PSF(2)!
Because I love amaroK and hat to use xmms for those formats.
I have absolutly no experiance in codec programming, but maybe I try it on my own (and fail and cry...).
Isn't there any news about this topic?
I heared it WAS possible to use xmms-plugins with older versions of gstreamer, but there is a glib version conflict with newer versions (this is the same reason why those old xmms-plugins won't work with bmp).
So what we need is at least someone to port the xmms-plugins to a new glib version so the gstreamer-xmms plugin works again.
btw. I just found this:
http://grammarian.homelinux.net/~kde-cvs/kfile_spc/
"Lately clee's SPC plugin for gstreamer has been integrated into their development version, so hopefully we will have SPC support in a major sound system in time for KDE 4. :-)"
I haven't tried it yet, but when I can reboot back to Linux, I'll give it a shot. I'm completely fed up with Noatun, KPlayer works -ok- for video, so I've been using Juk. There are a few things with Juk I would like to change, but I just don't have the time ATM. From the little I've read and screenshots of amaroK, it looks like maybe I don't have too. :)
Just from a users persepective, later today I'll give it a shot, and give my own little review -- someone MAY care :)
I dunno about you guys but playlist and how it is organized is most important to me. AmaroK is simply superior here. I love the possibility to add album covers. All other features are intelligently implemented.
Excellent job developers.
as the most people only write if they want to complain , and no-one writes if they like the app , i thought i will write that amarok is really nice and has a excellent interface !
dont change , i think most people like it - you can't count the comments here as the impression of *all* users , just the one that complain.
AmaroK is nowhere near replacing XMMS. It's probably more usable, but it can't handle exotic file formats, like tracker or C-64 sound files, and XMMS really rocks with its other plugins too. So stop that nonsense!
By this I didn't mean to mock the program. It's excellent, and I use it every day to listen internet radio. But it doesn't compete with XMMS. They're on different fields.
Actually that's not quite correct. I haven't used AmaroK myself, but I understand it can use xine as a backend. Support for tracker formats was added to xine-lib about 6 months ago (through the use of libmodplug), so in theory AmaroK should be able to play tracker files if your xine-lib was compiled with libmodplug support enabled.