This commit is contained in:
craig.p.drummond
2014-01-17 20:06:08 +00:00
parent bc8aa999d1
commit feca96b470
2 changed files with 44 additions and 7 deletions

6
README
View File

@@ -35,14 +35,14 @@ Cantata is a graphical client for MPD. It contains the following features:
installed)
9. Dynamic playlists.
10. Online services; Jamendo, Magnatune, SoundCloud, and Podcasts.
11. Radio stream support - wth the ability to search for streams via TuneIn or
11. Radio stream support - with the ability to search for streams via TuneIn or
ShoutCast.
12. USB-Mass-Storage and MTP device support. (Linux only, and if relevant
libraries installed)
13. Audio CD ripping and playback. (Linux only, and if relevant libraries
installed)
14. Playback of non-MPD songs - via simple in-built HTTP server if connected
to MPD via a standard socket.
to MPD via a standard socket, otherwise filepath is sent to MPD.
15. MPRISv2 DBUS interface.
16. Support for KDE global shortcuts (KDE builds), GNOME media keys
(Linux only), and standard media keys (via Qxt)
@@ -61,7 +61,7 @@ the Artist tag), to provide album counts, tracks counts, etc in the browser
views and tooltips, and also to help with copying songs to/from devices.
This cache is updated only when MPD indicates that its version of the collection
is different to Cantatas. If you press the 'Refresh Database' button in either
is different to Cantata's. If you press the 'Refresh Database' button in either
the artist, albums, folders, or playlists views, then this cache is deleted and
recreated with the response from MPD.

45
TODO
View File

@@ -1,24 +1,44 @@
- Qt5 port
- Fix raising of mainwindow via dbus. (Qt5 no longer has QX11Info)
- Qt 5.2's QLineEdit has clearbutton functionality. If compiled against Qt5.2
then Cantata should use native QLineEdit.
- After KDE Frameworks 5 is released, add CMake option to use system Solid
libraries.
- Windows port
- CMake scripts not working
- Build QtNetwork with SSL support? libeay32.dll and libssl32.dll will also
need to be supplied with instaler.
- Port to Qt5. With Qt5.2 use QWinThumbnailToolButton
- MacOS port
- Initial work imported into 1.2.0, however no builds we ever released. No
idea if this still compiles or not!
- Streams
- If radio stream is a playlist, Cantata currently only uses the 1st entry.
Perhaps Cantata should loop over all entries until we find one that plays?
- last.fm streams?
- Move service json/xml response parsing into perl helper scripts?
- Online services
- GPodder support?
- DAPP servers?
- Subsonic server?
- Devices
- libMTP does not support album artist tag.
- libMTP does not support album artist tag. Cantata contains some
work-arounds for this (such as guessing the album-artist tag via the folder
structure, etc). These should be removed if libMTP ever supports album
artist.
- Port to MTP DBus service when this is released.
- Allow to drag songs from albums/library to devices, and vice versa.
- RemoteFsDevices
- Cantata hangs if smb service is stopped before its un-mounted
- Re-enable covers in sync dialog?
- CD-Text?
- Fix time-remaining calculation in action dialog.
- Seek support for AudioCDs. Might be due to sending data as WAV
- MPD seems to send 1 seek to skip 44 bytes, then actual seek
- Seek support for AudioCDs. Initial implementation works sometimes, but
other times the song is re-started. Not in build due to beeing too flakey.
- Possible issues wth UDisks2, might not be able to get block device
(e.g. /dev/sr0)?
- Playback from MTP devices.
@@ -31,6 +51,16 @@
- Add copy to device to context menu?
- Will need to be careful that songs are not from device
- Also, check that songs are not streams!
- When adding songs to playqueue, if a filter is active (genre, or text) then
we should only add songs that pass the filter
- Affects; Artists, Albums, Folders (text only), Playlists, Online, Devices,
Streams (text only)
- Would need to put the device/artist/album expansion code within proxy
models
- then we call filenames()/songs() on the proxy.
- NOT 100% sure. - as the items show #tracks, etc. If we are only going to
add so many tracks then this would also need to be updated. (As well as
tooltips). Again, this would need to be in the proxy model.
- Cue files
- How to (reliably) determine duration of last track?
@@ -44,5 +74,12 @@
- mpdscribble management
- mixramp tag calculation
- mixramp MPD settings
- Does MPD need to be restarted to change settings?
- Create a base 'Page' class?
- Reduce memory usage - use QCache for artists and albums models?
- Bugs
- Jamendo search sometimes causes crash (not seen for a while)
- Handle font (High DPI detection) and palette changes in custom widgets
(Volume control, time slider, etc)