You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
298 lines
17 KiB
298 lines
17 KiB
TODO-list for Amarok
|
|
======================
|
|
<nick> == reported by
|
|
-->nick == assigned to
|
|
|
|
|
|
SHORT-TERM (URGENT):
|
|
<sebr> When using "Copy files to collection" in the filebrowser, tags wont get recognised from
|
|
urls which are organised from media:/ locations.
|
|
|
|
<jeff> When playing a stream from e.g. Ampache, even if an Artist is detected, Wikipedia
|
|
will pull up "Artist - Song" instead of just Artist.
|
|
|
|
<sebr> PlaylistBrowser::slotDoubleClicked() and PlaylistBrowser::addSelectedToPlaylist()
|
|
should be merged for better code reusage. They are practically the same.
|
|
|
|
<markey> I just deleted a tag by accident: Clicked on a file in the playlist, pressed
|
|
delete to remove the track from the playlist. I had not noticed that it
|
|
went into edit mode, though. So I clicked somewhere else, and BAM, the new
|
|
empty tag was written. My tag was gone :S IMHO we should require confirmation
|
|
before writing, e.g. only write the tag after pressing enter.
|
|
|
|
<markey> When you start a lastfm stream, the old metadata from the last stream is
|
|
shown before the new stream starts. Doesn't look nice.
|
|
|
|
<shanachie> update podcast-tuples when the feed get's corrected after a mistake by the podcaster/publisher. eg. pubdate, url, title.
|
|
|
|
<sebr> We need to check for pkg-config when configuring, otherwise we can't check for things
|
|
like libgpod. Currently its a silent error, and its very difficult to debug without
|
|
trawling through configure.in.in
|
|
|
|
<sebr> Don't reload media device plugins when saving config settings. Its annoying, slow
|
|
and all around unnecessary. It also crashes if the device is connected/loaded.
|
|
<aumuell> Cannot reproduce anything of this with ipods - i think i fixed that already.
|
|
|
|
<markey> After doing "Delete downloaded podcast", the icon still indicates downloaded.
|
|
|
|
<sebr> LastFm:
|
|
- determine how hard it would be to tag songs
|
|
<eean> - display history in the playlist somehow <markey> I'm against this.
|
|
-subitems?
|
|
-just disabled?
|
|
- 'stop after current track' should work
|
|
<markey> - when you've never listenend to lastfm before, all stream links on the
|
|
website are disabled ("Download the player"). we need to do a handshake on
|
|
startup once, and then set a config item, e.g. handshaked=true.
|
|
|
|
<markey> xine-engine: when "xine could not init any audio driver" happens, always retry
|
|
with Autodetect. This seems to be an issue with leftover amarokrc's from 1.3.
|
|
|
|
<sebr> Adding an m3u with non existant items has filesize = 16,777,216.0 TB!
|
|
|
|
<sebr> Refactor code for PlaylistBrowser::removeSelectedItems(). I can see pathological cases
|
|
where it won't work.
|
|
|
|
<illiss.> Is using the score for the number, but the rating for the vis. in the context browser
|
|
confusing? (I think it is, but that might be becuase my theme doesn't use stars but a
|
|
partially-filled bar). If so it should be reverted for beta 1, I have a better solution
|
|
already planned but that won't be in time.
|
|
|
|
<illiss.> The various UI and behaviour refactorings for Dynamic Mode should be finished up and
|
|
polished. Among them, add a button to turn it off in the bar-above-the-playlist, fix
|
|
drag-and-dropping of dynamic playlists, and when loading a dynamic playlist, clear the
|
|
existing playlist first, instead of making it dynamic (which has all sorts of nasty side
|
|
effects).
|
|
|
|
<sebr> Podcast Fixme's:
|
|
* Have i listened to podcast streamed?
|
|
|
|
<illiss.> Loading normal (M3U) playlists from the playlist browser doesn't block the UI per se,
|
|
but it does nothing for really long time, until suddenly the whole playlist shows up,
|
|
which is strange and confusing.
|
|
|
|
<markey> Tooltips don't work for 3rd level items in the Playlist Browser. They do how
|
|
however work (for me) for 2nd level items. Very bad, cause you can't read the
|
|
text!
|
|
|
|
<sebr> When starting a drag in the collection browser, we can block the gui if the user makes a
|
|
selection which is sql intensive (eg, select all). Instead of calculating the items
|
|
in each of those nodes, we should add the sql to the drag and allow the playlist loader
|
|
to do the work for us (which is threaded).
|
|
<muesli> See SqlLoader class in playlistloader. We do the very same stuff for
|
|
Smart-Playlists already.
|
|
|
|
<sebr> The unknown album should ALWAYS be shown last. Year has a higher weighting than album
|
|
name. We should special case the Unknown album.
|
|
|
|
<markey> When all 5 browser tabs are activated, the current tab button is drawn a few
|
|
pixels below the normal position. This has the side effect that the separator line
|
|
at the bottom of the bottom becomes invisible.
|
|
You can see the problem easily when you hide the current browser by clicking twice
|
|
the button twice. This problem AFAIK also affects 1.3-branch.
|
|
|
|
<markey> Add DCOP functions for showing dialogs, similar to kdialog.
|
|
|
|
<sebr> More consistent playlistbrowser drag and drop actions; No dropping of default streams, set
|
|
e->accept( false ) if dropping one type onto another.
|
|
|
|
<sebr> Use KIO queues for podcast download queues. Should simplify the lot. Problems atm included
|
|
selecting multiple downloads individually, and automatic downloads occuring for more that one
|
|
podcast item.
|
|
|
|
<markey> In EngineController::play(), add a sanity check when querying the track length
|
|
from the engine. Apparently AAC can deliver ridiculous values with GST and Helix,
|
|
like 1192479:38:49. If length is too extreme, default to the TagLib provided
|
|
value.
|
|
|
|
<eean> Currently custom dynamic playlist selection is simply based on the titles. So its less then
|
|
ideal. Via some method, each playlist should be assigned iteratively a number paired with its
|
|
type.. Dynamic playlists and static playlists should probably have seperate numbering so
|
|
that the "next" number can be determined by looking at one XML file.
|
|
Remembering which PartyEntry was used on close should be remembered with the same method.
|
|
|
|
<eean> Smart playlists bypass checks on whether the media is playable or not.
|
|
Or perhaps such media shouldn't be in the collection at all? This is the sort of
|
|
thing we're going to have to worry about now that we have m4a and wma tag support.
|
|
|
|
<markey> Consider moving the GHNS provider list to a different server than amarok.kde.org,
|
|
possibly download.kde.org or similar. (When our site is down, the GHNS feature fails
|
|
to work entirely)
|
|
|
|
<markey> Amarok fails to download any stream playlist from http://dir.xiph.org. Part of the problem is
|
|
PlaylistLoader::isPlaylistFile(const KURL&), which only looks at the filename's extension. This
|
|
fails for URLs like http://dir.xiph.org/listen.php?pid=669641&file=listen.m3u, because the filename
|
|
is "listen.php". So it must look at the whole url instead.
|
|
|
|
<mxcl> On first-ever-run, if Amarok crashes building the sqlite collection, it is impossible to _ever_
|
|
build a collection unless the user's amarokrc file is deleted! This MUST be fixed before 1.2!
|
|
::muesli:: We could just _always_ try to create the sql tables on startup. This would fail on
|
|
::muesli:: systems which already got the tables, but would fix the situation where tables are
|
|
::muesli:: missing, as in this situation. Just pump the debug of these calls to /dev/null.
|
|
|
|
<mxcl> Just before we load any engine plugin, write to a file, and it we don't succeed the next time
|
|
Amarok starts show a big warning saying "Gah!" and load a different one.
|
|
|
|
<mxcl> If you inline set the title tag to "", prettyTitle gets inserted as the title tag.
|
|
|
|
<markey> When the KDE color scheme is changed while Amarok is running, all toolbar buttons (those with text)
|
|
lose their texts.
|
|
|
|
<shakes> The scrobbler code should report some sort of error message rather than just saying that the
|
|
submit failed. That way when last.fm goes down we wouldn't get so many people asking why they
|
|
can't submit. It'd also be nice to be able to tell people they've got their password wrong.
|
|
|
|
<jefferai> When hovering the mouse over the Repeat/Random icons in the bottom taskbar, the popups that appear
|
|
not only have inconsistent icons with the ones shown in the taskbar, but they're pixellated and ugly
|
|
as sin. Should probably be redone as SVGs.
|
|
|
|
<jefferai> Xine proxy value is not saved across sessions. Problem exists in Xine-UI as well, at least for me.
|
|
Maybe an upstream bug and nothing we can fix.
|
|
|
|
MID-TERM:
|
|
<eean> Implement a "Find My Music" button in the first-run wizard. Just a basic
|
|
thing that will look at file extensions and try to figure out where the users
|
|
music is located. Ignore /opt/, /usr etc. to avoid adding sound effects. Prompt
|
|
user with the directories at the end of the scan, allowing them to exclude some.
|
|
|
|
<eean> The FileBrowser doesn't check for recursive symlinks. This is a KDirOperator (or the
|
|
classes it depends on) problem.
|
|
|
|
<eean> Basically need to re-add some of the functionality I removed in re-doing dynamic
|
|
--><eean> custom playlist creation.
|
|
1) the default dynamic playlists need to be more insistent, the same way the
|
|
the default smart playlists are.
|
|
<eean> Implement leinir's mockup:
|
|
www.leinir.dk/temp/gallery/?image=pictures/amarok-playlist-bar-dynamic-mode.png
|
|
<leinir> The idea with the look of the top is, as you can probably see from the colours
|
|
otherwise present, that it's the active window titlebar/colour/font, with the name of the
|
|
playlist being un-bolded (if the window title is bold)...
|
|
<leinir> eean: Some people will identify the active window by titlebar colour alone :)
|
|
|
|
<mp8> Album covers as icons from filebrowser.
|
|
|
|
<eean> When the player window shades, it should lose its title bar and be replaced with something more
|
|
compactish. This would probably have to be created manually.
|
|
|
|
<sebr> Make the player window scroll the text in the opposite direction if using right-2-left text
|
|
(eg hebrew or arabic)
|
|
|
|
<sebr> Use Metabar's box retraction animation to the context browser. More iCandy. Any Javascript experts around?
|
|
|
|
<mxcl> Should be able to open collection browser by right clicking on stuff in contextB, so show the
|
|
artist or album that is right clicked.
|
|
|
|
<markey> AudioCD support for gst engine (cdparanoia ! *sink). -->markey
|
|
|
|
<markey> We should cut down on unnecessary/redundant debug output/warnings (noise).
|
|
|
|
<mxcl> Perhaps a nice idea: when you drag playlistItems to a branch in the collection browser
|
|
it prompts to change the track's tags, so drag a track to the "moolaaa" album and that
|
|
track get's it's album tag changed to "moolaaa" and is inserted into the branch, so the user
|
|
know's what has happened.
|
|
|
|
<mxcl> User asked for a CTRL-J itty-bitty dialog that allows you to jump to a specific part
|
|
of a track. I'll see if I can do it with tiny amount of code -->mxcl
|
|
|
|
<muesli> Don't rely on KDE timeouts to see whether a file is accessible or not,
|
|
since this really sucks for disconnected network shares. XMMS handles
|
|
this way better and it really is a problem in userland. maybe a thread
|
|
helps, which simply tries to fopen() the file. if this task hasn't been
|
|
finished in (let's say) 3 seconds, jump to the next song. XMMS even
|
|
remembers such files and their folders, so that it's not going to open
|
|
another file from that folder for the next few minutes. what about hdd
|
|
sleep-timeouts? opinions?
|
|
|
|
<mxcl> Determine some behavior for the clear/shuffle/etc. buttons when a search is in action
|
|
clear -> only clear the stuff that was searched for?
|
|
shuffle -> stop the search and do normal shuffle?
|
|
ADDitionally what to do when user rearranges a set of items that are the search result?
|
|
<larson> No big deal to me as long as the behaviour is consistent. I.e. if shuffle shuffles
|
|
the search, then clear should clear the search only, and visa versa.
|
|
|
|
<larson> Make playlist toolbar buttons toggle like the playerwidget buttons.
|
|
|
|
Toolbar button in FileBrowser for switching recursive directory reading.
|
|
|
|
<mxcl> Can't resize newly displayed columns if they are hidden at beginning of session -->mxcl
|
|
|
|
<muesli> Add an option "clean up playlist on startup".
|
|
<mxcl> Do you mean remove duplicates or dead entries etc. ? Cool.
|
|
|
|
<mxcl> Option: don't crossfade for sequential tracks on same album. Comments? -->mxcl
|
|
Of course, there would still be the up to 150ms gap, but we can fix that some other time..
|
|
<markey> Please clarify: is this the same as BR #75388 ?
|
|
<mxcl> No, this is just to make crossfading not ruin album transitions
|
|
|
|
Add dirs to combo history when user adds a track from that dir to the playlist.
|
|
|
|
"Show playlist" to the right click menu, redundant but necessary.
|
|
|
|
More KTips, better KTips, somehow use the "Did you know" tip dialog (eg kmail, gideon, etc.) -->mxcl
|
|
|
|
Option to automatically adjust column widths.
|
|
|
|
Option to implicitly sort playlist by { track, album } (on drop only) -->mxcl
|
|
|
|
<berkus> Playmode indication button in main widget (repeat track/pl/shuffle), clickable.
|
|
|
|
|
|
LONG-TERM:
|
|
|
|
<sebr> Support multiple collections. This could be really powerful, and could be handled
|
|
with the collection browser. We could support non-local collections, audio cd/dvds,
|
|
NFS/Samba etc. This would also allow us to retrieve tracks from other networked pcs.
|
|
Auto-polling of added collections for a 'hot-sync' style detection of collections.
|
|
|
|
<markey> Use more accurate interpolation for analyzers (cubic or spline)
|
|
|
|
Tabbed playlists.
|
|
Pro: it's convenient to have several playlists
|
|
Contra: the playlist is getting cluttered enough as it is!
|
|
<illissius> I already added a comment wrt this to the b.k.o bug, but here's the idea:
|
|
switch between playlists with the playlist browser -- that's what it's there for.
|
|
This avoids the clutter. The way it'd work is the currently playing playlist would
|
|
have the same fancy fading thing the current track has. The context menu for playlists
|
|
would have two seperate items, one for showing and one for playing. When just showing,
|
|
the previous playlist would continue playing while you view/edit the other one.
|
|
(If you doubleclick a song in the new playlist, it would naturally start playing that
|
|
one instead). What to do when the user doubleclicks a playlist -- show, play, or both
|
|
-- is TBD.
|
|
|
|
Make windows magnetic / sticking together (difficult).
|
|
|
|
<mxcl> Implement beat detection (thread?), interface should glow/move to
|
|
the beat, visualisations have access to beat/bpm info.
|
|
|
|
Audio system info widget, showing all available codecs and similar info.
|
|
|
|
Resizable playerwidget, like in Winamp3.
|
|
|
|
IDEAS:
|
|
|
|
Bookmarks inside of tracks (good for very long tracks), and nifty bookmark browser
|
|
|
|
Using filelight (as a kpart maybe) for a graphical representation of the playlist. so
|
|
you could see at first glance how the altogether playing time is divided into different
|
|
albums, tunes and so on.
|
|
|
|
|
|
DO-NOT-IMPLEMENT (stuff that was rejected):
|
|
|
|
<markey> Allow removing of playlist items by dragging back into browser.
|
|
<larson> I think this is really weird. When I drag something I expect that someting to be
|
|
ADDed or opened in the target. Not removed from the sender.
|
|
(RFC: is this still appropriate or would it be misleading?)
|
|
<muesli> imho, it's misleading and not hid-compatible. i would rather
|
|
expect that file to be copied to the browser's current directory.
|
|
|
|
"Hide playlist when main widget is not active" option (?? comments please: )
|
|
<berkus> Noo, we have it hiding into tray, thats enough (imagine how much flashing will be
|
|
if i drag mouse around with "focus follows mouse" on - this is the one i use all the time)
|
|
<mxcl> Hence it's an option, you'd not use it with focus follows mouse. But it was just an idea
|
|
anyway.. dunno if I like the sound of it anymore either.
|
|
|
|
|
|
BACKTRACES/DEBUG/VALGRIND:
|
|
|