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.
297 lines
17 KiB
297 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 TDEIO 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: |
|
|
|
|