From 3ce9174229de91411a9abf5381a1f335fe0c6a98 Mon Sep 17 00:00:00 2001 From: tpearson Date: Sat, 9 Jan 2010 23:52:48 +0000 Subject: Added abandoned KDE3 version of Amarok git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/amarok@1072335 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- TODO | 297 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 297 insertions(+) create mode 100644 TODO (limited to 'TODO') diff --git a/TODO b/TODO new file mode 100644 index 00000000..f03e5158 --- /dev/null +++ b/TODO @@ -0,0 +1,297 @@ +TODO-list for Amarok +====================== + == reported by +-->nick == assigned to + + +SHORT-TERM (URGENT): + When using "Copy files to collection" in the filebrowser, tags wont get recognised from + urls which are organised from media:/ locations. + + When playing a stream from e.g. Ampache, even if an Artist is detected, Wikipedia + will pull up "Artist - Song" instead of just Artist. + + PlaylistBrowser::slotDoubleClicked() and PlaylistBrowser::addSelectedToPlaylist() + should be merged for better code reusage. They are practically the same. + + 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. + + When you start a lastfm stream, the old metadata from the last stream is + shown before the new stream starts. Doesn't look nice. + + update podcast-tuples when the feed get's corrected after a mistake by the podcaster/publisher. eg. pubdate, url, title. + + 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 + + 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. + Cannot reproduce anything of this with ipods - i think i fixed that already. + + After doing "Delete downloaded podcast", the icon still indicates downloaded. + + LastFm: + - determine how hard it would be to tag songs + - display history in the playlist somehow I'm against this. + -subitems? + -just disabled? + - 'stop after current track' should work + - 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. + + 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. + + Adding an m3u with non existant items has filesize = 16,777,216.0 TB! + + Refactor code for PlaylistBrowser::removeSelectedItems(). I can see pathological cases + where it won't work. + + 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. + + 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). + + Podcast Fixme's: + * Have i listened to podcast streamed? + + 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. + + 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! + + 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). + See SqlLoader class in playlistloader. We do the very same stuff for + Smart-Playlists already. + + The unknown album should ALWAYS be shown last. Year has a higher weighting than album + name. We should special case the Unknown album. + + 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. + + Add DCOP functions for showing dialogs, similar to kdialog. + + More consistent playlistbrowser drag and drop actions; No dropping of default streams, set + e->accept( false ) if dropping one type onto another. + + 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. + + 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. + + 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. + + 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. + + 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) + + 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. + + 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. + + 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. + + If you inline set the title tag to "", prettyTitle gets inserted as the title tag. + + When the KDE color scheme is changed while Amarok is running, all toolbar buttons (those with text) + lose their texts. + + 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. + + 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. + + 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: + 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. + + The FileBrowser doesn't check for recursive symlinks. This is a KDirOperator (or the + classes it depends on) problem. + + Basically need to re-add some of the functionality I removed in re-doing dynamic + --> custom playlist creation. + 1) the default dynamic playlists need to be more insistent, the same way the + the default smart playlists are. + Implement leinir's mockup: + www.leinir.dk/temp/gallery/?image=pictures/amarok-playlist-bar-dynamic-mode.png + 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)... + eean: Some people will identify the active window by titlebar colour alone :) + + Album covers as icons from filebrowser. + + 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. + + Make the player window scroll the text in the opposite direction if using right-2-left text + (eg hebrew or arabic) + + Use Metabar's box retraction animation to the context browser. More iCandy. Any Javascript experts around? + + Should be able to open collection browser by right clicking on stuff in contextB, so show the + artist or album that is right clicked. + + AudioCD support for gst engine (cdparanoia ! *sink). -->markey + + We should cut down on unnecessary/redundant debug output/warnings (noise). + + 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. + + 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 + + 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? + + 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? + 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. + + Make playlist toolbar buttons toggle like the playerwidget buttons. + + Toolbar button in FileBrowser for switching recursive directory reading. + + Can't resize newly displayed columns if they are hidden at beginning of session -->mxcl + + Add an option "clean up playlist on startup". + Do you mean remove duplicates or dead entries etc. ? Cool. + + 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.. + Please clarify: is this the same as BR #75388 ? + 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 + + Playmode indication button in main widget (repeat track/pl/shuffle), clickable. + + +LONG-TERM: + + 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. + + 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! + 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). + + 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): + + Allow removing of playlist items by dragging back into browser. + 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?) + 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: ) + 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) + 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: + -- cgit v1.2.1