summaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-01-09 23:52:48 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-01-09 23:52:48 +0000
commit3ce9174229de91411a9abf5381a1f335fe0c6a98 (patch)
tree84b2736fa1b0d3fbf9c60fc04f510d2a13916b09 /TODO
downloadamarok-3ce9174229de91411a9abf5381a1f335fe0c6a98.tar.gz
amarok-3ce9174229de91411a9abf5381a1f335fe0c6a98.zip
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
Diffstat (limited to 'TODO')
-rw-r--r--TODO297
1 files changed, 297 insertions, 0 deletions
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
+======================
+<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:
+