Commit Graph

338 Commits

Author SHA1 Message Date
Pavel Vatagin 2792bce486 fixed "undefined reference to" for clementine-tagreader when build in MXE 2016-03-12 18:10:32 +03:00
Chocobozzz e6e189967d Merge remote-tracking branch 'upstream/master' into qt5 2016-02-29 18:03:02 +01:00
John Maguire b99b090adc Refactor simple dialogs to use Lazy 2016-02-12 16:01:35 +00:00
John Maguire f2daa772c1 Lazy initialise everything in Application. 2016-02-11 15:15:38 +00:00
John Maguire a7ca007e24 Tidy up lazy implementation. 2016-02-11 14:09:36 +00:00
John Maguire 4c8b1d8143 Add lazy initialisation helper. 2016-02-11 13:46:23 +00:00
John Maguire ac660dcf3d Use a simpler arraysize() implementation. 2016-01-14 16:14:13 +00:00
Chocobozzz ff7026c9fe Merge remote-tracking branch 'upstream/master' into qt5 2015-12-13 20:05:12 +01:00
David Sansome 170c64cd8b Link statically to libprotobuf from the spotifyblob 2015-12-14 00:02:07 +11:00
John Maguire f300946c81 Remove most usages of QFutureWatcher 2015-11-27 14:28:12 +00:00
John Maguire 2d61fe6c87 Changed my mind about automatically passing QFutures. 2015-11-27 12:04:14 +00:00
Arnaud Bienner ec98a68c3d Update SLOT signatures.
There weren't update as part of commit 33494dcddcb64f9fccae215f1100cfa885c72039: this prevented the slider to be updated, among other things.
2015-11-27 11:44:59 +01:00
John Maguire 3cc9c1e446 Remove ModelFutureWatcher 2015-11-26 19:02:08 +00:00
John Maguire 689858026e Actually pass the finished QFuture back. 2015-11-26 18:42:12 +00:00
John Maguire 2cd15ff430 Add NewClosure overload for QFuture 2015-11-26 18:35:17 +00:00
Chocobozzz 631a6cdabd Merge branch 'master' into qt5 2015-09-16 17:40:54 +02:00
Martin Babutzka bd3b953b08 Softened the metadata-editor behavior to not deliberately delete additional, valid frames which are stored in mp3-files.
Stashed commit of the following:

e54bcd2f058d186c2c919a84152ed5e8526047fc
Fixed bugs/comments from John Maguire

01c71c4c67be44dd6889498abc323a6d2d20dd99
Added description "Clementine editor" to new created lyrics frames.

70dfa0d1f177523ff897985ae022979cd052a6ed
Updated the SetTextFrame method as well:
Existing frames are cached and only the first frame (which is actually shown in the metadata editor) will be updated.
Prevents the cruel deletion of all other existing frames in a well defined mp3-file.

dfddf76eda417442c8c168eb8868038b0675cb10
Updated behavior of metadata-editor concerning lyrics (might follow for other id3v2-tag properties):
Existing further frames in the tags are not deleted but cached so only the true changes by the metadata-editor are applied on the edited frame.
Further frames in the metadata are preserved.
2015-07-27 22:52:29 +02:00
Chocobozzz 7a866ac46b Fix compilation with Qt5.5 2015-07-26 09:54:19 +02:00
John Maguire b2a532be62 Experiment with typesafe time units 2015-07-20 14:35:13 +01:00
Eduardo Sánchez Muñoz c051506fdd Fix "menu_previousmode" setting not loading when opening the settings window. 2015-07-15 18:46:18 +02:00
John Maguire e94ec8d119 Add Equifax root cert after Apple removed it.
Fixes #4942
2015-07-07 19:15:23 +01:00
Eduardo Sánchez Muñoz ef1992570b Define some original year tag keys as constants and enclose some if bodies with {}. 2015-07-01 15:02:52 +02:00
Eduardo Sánchez Muñoz 8dd4506697 Add support for more original year tags. 2015-07-01 00:50:19 +02:00
Eduardo Sánchez Muñoz c46fb5eec7 Code formatting fixes 2015-06-30 19:51:01 +02:00
Eduardo Sánchez Muñoz e0816800b1 Add support for original year tags. 2015-06-30 18:34:34 +02:00
Chocobozzz 149e870ab4 Fix log messages (lines and classname) 2015-06-16 19:58:36 +02:00
Mark Furneaux f4b7c22bc2 Revert "Revert "Add track intro mode""
This reverts commit ece262f7f4.
2015-06-15 16:27:40 -04:00
John Maguire ece262f7f4 Revert "Add track intro mode" 2015-06-15 15:49:08 -04:00
Mark Furneaux b57cebbf2d Add track intro mode
This repeat mode plays the beginning of each track, good for quickly getting a feel for a new album for example.
2015-06-14 13:32:58 -04:00
Chocobozzz 43c98fd74e Adapt spotify part to qt5 2015-06-13 23:01:52 +02:00
Chocobozzz 98a450ad77 Fix compilation error (logging macros) 2015-06-13 20:51:18 +02:00
Andreas 0abdf545a0 Network remote: Insert Song as well as urls. Is used for global search to add metadata for non library tracks. 2015-06-13 16:00:15 +02:00
Chocobozzz d755d5b602 Use functions instead of macros for logs 2015-06-11 18:11:19 +02:00
Chocobozzz 4943bca877 Fix release compilation error because of qt_no_debug_output flag 2015-06-11 11:35:30 +02:00
Martin Babutzka 0b16dad50f - Fixed decoding of non-ASCII lyric texts
- Lyrics can now be viewed/edited in the metadata-editor

Squashed commit of the following:

commit 0851f619c27348e3ceeaf31a8edc3a567ccee99c
Author: Martin Babutzka <martin.babutzka@online.de>
Date:   Wed Jun 10 21:21:50 2015 +0200

    'make format' and brackets in a condition clause.

commit bab7a1d07af3bc53034e3883d352ae6d4dd33e2a
Author: Martin Babutzka <martin.babutzka@online.de>
Date:   Sun Jun 7 01:51:31 2015 +0200

    Added capability to SAVE lyrics frames to mp3 files in tagreader.
    Improved scaling properties of edittags dialog.

commit 4bd71a2d6a4479a664bf8b5b3ead05c23c86e15d
Author: Martin Babutzka <martin.babutzka@online.de>
Date:   Sat Jun 6 23:33:22 2015 +0200

    Updated lyrics tag buddy to lyrics

commit 2ceb8967f67e76a0f78b25a7a128c4429a93bcd9
Author: Martin Babutzka <martin.babutzka@online.de>
Date:   Sun May 17 18:52:33 2015 +0200

    Add lyrics field to tag editor

commit 04b65e33a83e449055659a72a283954311a12fb7
Author: Martin Babutzka <martin.babutzka@online.de>
Date:   Fri May 8 23:24:02 2015 +0200

    Using decode method to fix non-ASCII letters.
2015-06-10 21:23:40 +02:00
Chocobozzz 5aec1c0e24 Merge remote-tracking branch 'upstream/master' into qt5
Update qt version to 5.4.2
2015-06-03 22:57:58 +02:00
Andreas 3c332782fd Network remote:
- Send status.
- Since QIcon can not be converted in a background thread, create a QImage from it in the SearchProvider itself.
2015-05-31 12:08:33 +02:00
kiselev-dv f7ebeb53da Stop after each track 2015-05-22 18:11:58 +05:00
Chocobozzz 60a8ae5880 Fix setting album artist tag for FLAC files if it already exists 2015-05-09 21:13:39 +02:00
Andreas 488d64b702 Bump protocol buffer message version. 2015-05-03 19:19:30 +02:00
Andreas d59e864947 Send search provider icon to the remote when sending the search results. 2015-05-03 18:30:58 +02:00
Andreas d93917ce9b Network remote: Send song url as well. 2015-04-24 15:35:18 +02:00
Chocobozzz afda8f7505 Update again from master 2015-04-17 16:06:57 +02:00
John Maguire aa22a43f44 Add exponential back-off to Amazon requests. 2015-04-17 12:10:40 +01:00
Chocobozzz 7bfe32c7df Avoid warning message when the level exceeds the threshold 2015-04-16 23:22:53 +02:00
Chocobozzz e986ab5a4b Merge master branch and adapt it to qt5 2015-04-16 17:16:34 +02:00
Chocobozzz 8b226c2171 Update non optionnals sources to qt5 2015-04-11 23:24:07 +02:00
Chocobozzz ded70d6555 Update internals CMakeLits to qt5 2015-04-11 23:24:06 +02:00
Martin Babutzka 258ae281d8 IDv3 tag lyrics support.
Squashed the following commits:

5c723ad commit: Fix: Includes alpha sort
15ac350 commit: Fix: Updated Database::kSchemaVersion to 49.
767a26a commit: Fixed small code style issue. Added schema-49 to data.qrc instead schema-48
bf6aa64 commit: fixup! Modified async handling of CollapsibleInfoPane as recommended by Andreas. Display of IDv2 tag lyrics works now.
c1f97e9 commit: fixup! Added support to read/display the ID tag lyrics in MP3 files:
c946b1d commit: Added support to read/display the ID tag lyrics in MP3 files:

-Added schema to the database to store it
-Added readers/writers for ID tags
-Added readers/writers for the database to the song class
-Added the taglyricsinfoprovider to show the lyrics in songinfo
2015-04-10 21:05:07 +02:00
Andreas f34734443b Remove pending playlist requests in SpotifyClient if sp_session_player_load failed as well. 2015-03-14 15:26:44 +01:00
Andreas 55e5eab157 Fix Race-Condition in SpotifyClient that caused playback to break.
QList.removeAll calls the destructor for the elements in the list. This caused `req` to be initialized in `SpotifyClient::TryPlaybackAgain()`. Therefore, spotify method calls might crash because the pointers are invalid.

This commit moves the `pending_playback_requests_.removeAll` to the end of the method to ensure `req` is accessible all the time.
2015-03-13 14:12:19 +01:00
John Maguire 705cdf11fc Move ScopedNSAutoreleasePool to ext 2015-03-02 17:51:17 +01:00
Chocobozzz 071be6bc83 Make format 2015-02-21 16:57:37 +01:00
Chocobozzz fb5781eee2 Add performer tag support for mpeg 2015-02-21 16:49:00 +01:00
John Maguire 87fed5d0f4 Merge pull request #4715 from Chocobozzz/albumartist_flac
Fix album artist for FLAC/OGG files (with vorbis comments)
2015-01-19 10:57:31 +01:00
Chocobozzz c61d866caf Fix album artist for FLAC/OGG files (with vorbis comments) 2015-01-16 18:30:11 +01:00
Arnaud Bienner e1139e731f run make format 2015-01-14 22:55:20 +01:00
Arnaud Bienner 7039c2a2bf Spotify: add the ability to add/remove tracks to/from Starred playlist 2015-01-14 22:49:36 +01:00
Arnaud Bienner 7278e7c4d0 Add ability to get a link to share Spotify playlists 2014-12-27 18:05:04 +01:00
Andreas ff172f6ed4 Network remote can now transcode lossless files before sending them to the remote.
- It is configurable in the settings.
- Any format can be chosen that is supported by the transcoder.
- The status of the transcoder is send to the remote.

- Transcoder format settings have now a postfix so we can define mutliple transcoder formats and use them separatly. Here one for the normal transcoder and one for the network remote transcode. You can pass the postfix in the constructor.
- Fixed Transcoder crash (was introduced with the gstreamer1.0 merge, decodebin doesn't have a "new-decoded-pad").
- Transcoder emits the output filename as well on "JobComplete" signal
- Transcoder can now convert a file to a temporary file ("AddTemporaryJob")
2014-11-13 22:31:49 +01:00
John Maguire 4f4c8f6894 Merge pull request #4580 from Chocobozzz/hide_internet_services
Hide internet services
2014-10-31 12:02:29 +01:00
Arnaud Bienner f2eecadbd3 Don't write rating if not set
Fixes issue #4128
2014-10-21 21:49:23 +02:00
Andreas c43eb02efd Android Remote: Add global search. 2014-10-21 18:07:02 +02:00
Chocobozzz 50b7b7d889 Make format after update to avoid conflicts 2014-10-15 21:57:57 +02:00
David Sansome 88a6300509 Completely revert the Spotify seeking stuff - it's hacky and I don't like
waiting 4 seconds to have my songs start.  I'll reimplement it properly later.

Reverts commits 96387803cd and 160b151652.
2014-10-14 19:33:03 +11:00
Arnaud Bienner f81fa2d119 Add the ability to remove tracks from Spotify playlists 2014-09-28 02:00:32 +02:00
Arnaud Bienner 39db4dbefe Add the ability to add a Spotify track to a Spotify playlist through context menu.
TODO: drag and drop (i.e. implement DropMimeData), update special playlist (Favorites), remove from playlist.
2014-09-22 22:40:21 +02:00
David Sansome eaad4c32ee Merge branch 'gstreamer-1.2'
Fixes #3332
2014-09-22 22:45:28 +10:00
David Sansome bb08a0f416 Fix misleading offset_bytes names 2014-09-22 00:13:00 +10:00
David Sansome 3f0dc01b06 Make Spotify work with gstreamer-1.0. 2014-09-21 22:39:30 +10:00
David Sansome a2408f7c0e Merge branch 'master' into gstreamer-1.2
Conflicts:
	src/moodbar/moodbarloader.cpp
2014-09-21 19:39:27 +10:00
David Sansome 6b32ecec27 Various bits for gstreamer-1.0 compatability 2014-09-21 19:38:13 +10:00
Arnaud Bienner 160b151652 Add seek ability to Spotify tracks.
This is functional but pretty hacky.
And, as noted in the comments, there is a small delay (depends, but usually several seconds) to have the seek taken into account. But IMHO it's better than nothing.
Fixes #2503
2014-09-14 02:15:58 +02:00
pie.or.paj cbc6e5cf4d Pause spotify track (issue 2503)
(patch slightly modified, not sure why it wasn't applied before: it looks good to me)
2014-09-06 19:21:23 +02:00
David Sansome 6bb81328e8 Merge branch 'master' into gstreamer-1.2
Conflicts:
	ext/clementine-spotifyblob/mediapipeline.cpp
	gst/moodbar/gstfftwspectrum.c
	src/core/songloader.cpp
	src/core/songloader.h
	src/engines/gstengine.cpp
	src/engines/gstenginepipeline.cpp
	src/moodbar/moodbarpipeline.cpp
	src/musicbrainz/chromaprinter.cpp
	src/transcoder/transcoder.cpp
	src/ui/mainwindow.cpp
	src/visualisations/projectmvisualisation.cpp
2014-06-09 16:20:24 +10:00
Chocobozzz ef6dd38d0d use unique_ptr instead 2014-06-05 17:42:55 +02:00
Chocobozzz 2595df9779 Change the comment for TagLib::MPEG:File 2014-06-05 15:48:20 +02:00
Chocobozzz 357a9ff194 Fix memory leak in tagreader 2014-06-05 15:47:14 +02:00
David Sansome 0bf911aec4 Clean up the stream if ownership isn't taken by a taglib file. 2014-06-05 20:20:57 +10:00
Andreas f52e48c956 Send filesize and file count in advance when client wants to download songs. 2014-05-10 14:53:38 +02:00
Andreas 24481ae7bc Clementine Remote can now download all urls that are in the library. 2014-05-08 19:17:58 +02:00
John Maguire 41e9c15248 Add arraysize macro from Chromium 2014-04-29 14:11:52 +02:00
John Maguire 30d1c2f8db Remove Ubuntu One support.
http://blog.canonical.com/2014/04/02/shutting-down-ubuntu-one-file-services/
2014-04-02 16:02:00 +02:00
John Maguire 192b60d965 Use nullptr as parent parameter default everywhere 2014-02-10 16:03:54 +01:00
John Maguire 3323c2d094 Convert all instances of foreach() to a C++11 for
find ext src -name '*.cpp' -exec \
    sed -i -e 's/foreach(\([^,]\+\),/for (\1 :/' {} \;
2014-02-10 14:43:32 +01:00
John Maguire bebd781fdf Reformat all non-3rd-party C/C++/Objective-C++.
Command line:
find src ext -regex '.*\.\(h\|cpp\|mm\)' -exec clang-format -i
 -style='{BasedOnStyle: Google, DerivePointerBinding: false}' {} \;
2014-02-07 16:34:20 +01:00
John Maguire 1ac3f53a89 Build spotify blob as c++11 2014-02-06 18:06:25 +01:00
John Maguire 71893e4847 Use nullptr instead of NULL everywhere. 2014-02-06 17:29:59 +01:00
John Maguire d309d4ab27 Use c++11 instead of boost where possible. 2014-02-06 16:51:39 +01:00
David Sansome 5ac83bd463 Merge branch 'master' into gstreamer-1.2 2014-01-25 00:24:31 +11:00
Andreas 8ff0692809 Network remote: send md5 hash along with library and files. 2013-12-31 15:26:42 +01:00
Martin Brodbeck b5eb77528b Don't use TPE1 for performer 2013-12-19 14:03:23 +01:00
Martin Brodbeck a8ae737bce Improved file type detection for Ogg/Opus 2013-12-16 13:45:25 +01:00
Martin Brodbeck 587fa39dad Improved embedded cover handling for Ogg METADATA_BLOCK_PICTURE 2013-12-11 14:30:27 +01:00
Martin Brodbeck 818a028739 Added rudimentary support for METADATA_BLOCK_PICTURE tag 2013-12-10 15:39:43 +01:00
Andreas 03a4145082 Check if track position is valid before sending. Bump protocol version. 2013-12-08 20:19:25 +01:00
John Maguire cc43e339c1 Use boost function for compatibility 2013-11-22 11:53:47 +00:00
John Maguire b17b075361 Compile fixes for 10.9 2013-11-21 17:59:31 +00:00
Andreas 7470f67acf - Fix remove songs from playlist in network remote.
- Update protocol buffer version.
2013-10-31 19:52:02 +01:00
John Maguire 56c949815b First pass at Gstreamer 1.0 porting.
This at least compiles against gstreamer 1.2.
Things that work:
* Playing audio
* Automatically completing tags

Things that don't work
* Spotify
* Moodbar

Things I haven't tested
* Transcoding
2013-09-26 17:49:24 +02:00
Andreas 9237356e33 - Send songrating to client.
- Receive songrating as float (like saved in Song).
- On RemoteClient destructor check if socket is still connected before calling waitForDisconnect()
2013-09-22 12:06:19 +02:00
David Sansome f0b9120c43 Create a Fatal logging level, and use it when sqlite symbols can't be resolved. 2013-09-18 00:15:46 +10:00
Andreas 1254d025ab Include rate song feature in network remote. 2013-08-15 20:52:12 +02:00
Arnaud Bienner 8ddba1dfb5 Make ConvertPOPMRating works with slightly different POPM rating scheme for 5 stars. Fix issue 3794. 2013-08-02 22:13:29 +02:00
Arnaud Bienner c32408eded Fix ConvertToPOPMRating 2013-08-02 22:09:46 +02:00
Andreas 3a309e9b25 Added message to retrive the library (table songs). 2013-08-01 18:13:14 +02:00
Andreas 0785214949 - Do not offer streams to download clients.
- Move Google Play logo and qr code to the middle of the settings screen.
2013-07-27 14:13:02 +02:00
Andreas cf1dfe0d58 Clementine will offer a song before download first. The client can deceide if it want to download it or not. Only when the client accepted the file, Clementine sends it. 2013-07-23 16:59:50 +02:00
Andreas 1e4819f2df Add stop after current track feature to network remote. 2013-07-20 19:38:37 +02:00
Andreas f67083c92e Network remote: Each song will be send after client confirms that the previous track was received. Saves a lot of memory especially when sendings lossless files. 2013-07-18 11:28:53 +02:00
Andreas c09d77f413 Network remote can now send songs to clients. 2013-07-12 12:31:27 +02:00
Andreas 9e0b877e5a The network remote can now send lyrics to clients. 2013-07-10 13:24:23 +02:00
Andreas 7406057e5f Bump proto version, so users have to update Clementine in order to use the new features. 2013-05-07 18:33:45 +02:00
Andreas 4bb433e912 - Correct filename in coverexport when textfield is empty.
- Network clients can now love and ban tracks.
2013-05-07 17:57:53 +02:00
Andreas 5fe0f3402a New requests for opening and closing playlists in the network remote. 2013-04-20 16:11:57 +02:00
Andreas 8888cc410a Send closed playlists too if requested. 2013-04-16 13:57:04 +02:00
pie.or.paj 18e8d6ca20 - Added basic playlist management (add and remove tracks) in network remote. 2013-04-13 11:57:05 +02:00
Arnaud Bienner 88918d45c5 Update issue 1175:
Save rating and statistics in two distinct ways, and let users activate them separately in preferences.
2013-03-30 23:42:29 +01:00
Andreas a79834755b Change connect message handling. 2013-03-27 16:54:02 +01:00
Andreas 8251b53411 Merge branch 'master' of https://code.google.com/p/clementine-player 2013-03-21 16:15:38 +01:00
Andreas 7939890545 - Send the playlisttracks from the currenly active one in SendFirstData().
- New proto type FIRST_DATA_SENT_COMPLETE: Is send, when the method SendFirstData() finishes.
2013-03-21 16:14:13 +01:00
John Maguire a459eff0d3 Support audio/x-flac as a mime type for FLAC files. 2013-03-21 14:03:41 +01:00
Andreas be68c9f702 If use auth code is enabled, check if the client has sent the correct auth code before processing any messages. 2013-03-21 10:57:52 +01:00
Andreas ed86c7b09b - New protocol buffer type: ACTIVE_PLAYLIST_CHANGED. This type is sent when the currenly active playlist changes instead of sending all playlists to the clients. 2013-03-20 15:57:22 +01:00
Arnaud Bienner 8450a9ded0 Try to fix Windows build 2013-03-18 23:41:01 +01:00
Arnaud Bienner 77c6a22962 Write/Read score to/from files' tags, as "Amarok score" as we use the same algorithm 2013-03-15 22:54:59 +01:00
Uwe Klotz a6d3b48231 Extend tag support: performer, grouping
The transaction handling while upgrading the database schema had to be revised.
Furthermore some QSqlQuery statements needed to be finished properly.

Fixes issue 2556
2013-03-10 18:16:03 +11:00
Arnaud Bienner 1abadaf8fd Use constants 2013-03-03 00:49:51 +01:00
Arnaud Bienner 0b6e91daea FMPS support for MP4 files 2013-03-03 00:18:59 +01:00
Arnaud Bienner f04923210d FMPS support for ASF files 2013-03-02 23:54:54 +01:00
Arnaud Bienner b0d643cbd9 Save/read FMPS tags to/from FLAC using Vorbis comments + some refactoring to parse VorbisComments in a unique place, when possible. 2013-03-02 00:03:51 +01:00
Arnaud Bienner 1386a54d78 Read/Write FMPS tags for Ogg files 2013-02-28 20:55:21 +01:00
Arnaud Bienner 16793744c0 Read and write POPM tags 2013-02-28 02:17:15 +01:00
John Maguire dd59aaada0 Delete closures if the receiver is deleted. 2013-02-26 16:27:44 +01:00
Arnaud Bienner 08d40f5fca Handle statistics tags apart, and write them to file when they change.
Next step: add a preference to activate this (should be deactivated by default IMO).
2013-02-24 17:45:25 +01:00
Arnaud Bienner 39e1275980 Write FMPS metadata (rating, playcount) to MP3 files in tagreader + corresponding test cases 2013-02-23 20:12:17 +01:00
Arnaud Bienner ba1a3f45ec Fix the build 2013-02-23 01:02:36 +01:00
Arnaud Bienner 3fb041ff03 Ooops... I forgot tagreader files :/ 2013-02-23 00:02:02 +01:00
Arnaud Bienner 47c9153fe2 Move everything about reading/writing tags from tagreaderworker to a new tagreader class.
Re-activate Song tests.
2013-02-22 23:57:31 +01:00
John Maguire b3d5c3e6e2 Remove unused variables. 2013-02-12 12:23:29 +01:00
Andreas 589816e82c - Added various playlist signals.
- Bump Proto version to 3, so that people update Clementine when using new Android App Version is released.
2013-02-07 21:34:04 +01:00
John Maguire 53608665e4 Merge branch 'master' of https://code.google.com/r/asfa194-clementineremote 2013-01-28 15:41:51 +01:00
Martin Brodbeck d05041dfa1 Add support for Opus tags. 2013-01-26 11:18:24 +00:00
Andreas 9472c5ace2 - Fixed a bug where clementine crashed when restarting the server (e.g. changed setting). Cause by wrong connect statement.
- Added set track position feature in proto
- Added authentication method
- Clementine sends now a disconnect message when closed
2013-01-23 20:02:12 +01:00
Andreas 0828115c74 - Display a qr code in the remote control settings to download the android app
- Transfer the current track position to clients
2013-01-22 22:02:16 +01:00
Chris Throup 6cb083be30 Read comments from MP4 tags. 2013-01-22 08:58:28 +00:00
Chris Throup f41d333788 Read and write extra metadata for MP4 tags. Fixes issue 222.
Now writes album artist, disc number, composer, compilation and bpm.
Now reads disc number and composer.
Previously read album artist.
Unconfirmed read for compilation and bpm.
2013-01-21 09:16:18 +00:00
Andreas 51ba9f47dc added repeat and shuffe functionality 2013-01-15 14:43:02 +01:00
Andreas 0a97623df3 Changed sending playlist songs 2013-01-15 14:03:00 +01:00
John Maguire 06568248fc Tidy up some remote control protobuf usage and style quirks. 2013-01-15 13:05:43 +01:00