Commit Graph

838 Commits

Author SHA1 Message Date
John Maguire 5146bcdebc Some more NULL -> nullptr conversions. 2014-02-21 17:30:46 +01: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
Alexander Bikadorov 2ab8ab8077 Use double click settings as default behaviour for new files added as command line arguments. 2014-02-07 20:28:37 +01:00
Krzysztof A. Sobiecki 0ecf1e76a6 Reformat done with clang-3.5 svn200967 2014-02-07 17:08:31 +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 3df3a5b645 Add missing header for syscall().
This is cunningly not defined in syscall.h
2014-02-06 19:03:10 +01:00
John Maguire 8d1f4612db Hide use of boost multi-index behind pimpl. 2014-02-06 17:53:33 +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
Arnaud Bienner 7084697aa3 Prevent Clementine to loop forever when trying to play a song with repeat enabled in a playlist which contains only unavailable songs 2014-02-04 22:08:32 +01:00
John Maguire ddda13ceb7 u_int8_t is missing on mingw 2014-02-04 14:10:59 +01:00
Arnaud Bienner a349a96f5a Avoid having similar filenames when organising songs (number them instead) 2014-02-02 19:28:45 +01:00
David Sansome 96075faf88 Namespace clementine's 3rdparty implementation of sha2 to prevent its symbols
conflicting with the system's openssl symbols with the same names.

This was causing SSL connections to fail in weird ways on Debian.

Fixes #4130.
2014-02-02 20:25:11 +11:00
Arnaud Bienner 06184cc5fb Avoid having empty filenames, or filenames with extension only.
In this case, keep the original filename.
2014-02-01 03:22:41 +01:00
John Maguire 7ddf3aab45 Merge pull request #4145 from sobkas/master
Initial support for "Copy to device" in a podcast section
2014-01-31 04:31:43 -08:00
John Maguire b96ec7555a Reformat all Objective-C++ files with clang-format.
clang-format -style=Google -i src/*/*.mm
2014-01-30 14:54:51 +01:00
Krzysztof A. Sobiecki 361cca83cb Cpplint.py fixes 2014-01-29 17:30:58 +01:00
Krzysztof A. Sobiecki 09d68bf415 Scrub the auto usage, use unique_ptr, use correct types instead of QList 2014-01-28 17:01:14 +01:00
Krzysztof A. Sobiecki b0a97de603 Use more auto in for statements 2014-01-27 23:59:38 +01:00
Krzysztof A. Sobiecki f7be18b326 Fixed some problems reported by cpplint.py, changed foreach to for in files touched by me 2014-01-27 23:59:38 +01:00
Krzysztof A. Sobiecki 35060d6916 I accidently break this, nothing to see here 2014-01-27 23:59:37 +01:00
Krzysztof A. Sobiecki 4944e99d56 Fix copy functionality, break copy of a directory 2014-01-27 23:59:37 +01:00
Krzysztof A. Sobiecki f60327b1d1 Initial 'Copy to device' support for podcasts 2014-01-27 23:59:36 +01:00
David Sansome 5ac83bd463 Merge branch 'master' into gstreamer-1.2 2014-01-25 00:24:31 +11:00
David Sansome f816a47ad9 Make SongLoader add URLs as raw streams if there exists a URL handler
for that scheme.  This fixes a bug where sky:// URLs couldn't be added
with MPRIS.
2014-01-24 23:54:38 +11:00
David Sansome dc5670edfb Encode song URLs when inserting them into the database. This was broken by revision 98dd001a. Fixes issue #4127 2014-01-20 21:39:18 +11:00
Andreas 7ad1d7abc3 Remote: Use sha1 instead of md5 for file hashing. 2014-01-18 18:33:49 +01:00
John Maguire 1a972e0f36 Fix rendering of source icons in playlist view on retina OS X 10.9 2014-01-10 16:57:32 +01:00
Andreas 94ccd325d7 - Move sha1 cover hash to utilities
- When initializing song check if we have a cover art. If not, check if there is one in the cache and use this.
2013-12-31 15:21:50 +01:00
Martin Brodbeck 774027a927 Removed tobytearray macro because it coerces to ASCII. 2013-12-12 15:41:49 +01:00
Martin Brodbeck 6be0964258 Make sure that we feed set_url() with a QUrl from an UTF-8 encoded string. 2013-12-12 15:41:49 +01:00
Alexander Bikadorov 5207af6f93 Create QShortcuts to catch key bindings from global shorcuts and hide them from widgets
Fixes issue 722
2013-12-02 21:36:14 +11:00
Arnaud Bienner 503b8445ad Remove debug message 2013-11-22 20:52:14 +01:00
John Maguire 4c23072bef Link dynamically against sqlite3 but still use a copy of QSqlLiteDriver 2013-11-22 16:31:41 +00:00
Aggelos Biboudis 2647fe4bbc Emit MPRIS notification when we add or remove a playlist.
Fixes issue 3962.
2013-11-19 00:13:45 +01:00
Arnaud Bienner 51d9080a81 Update issue 3962: don't try to activate a playlist which doesn't exist/isn't opened anymore (otherwise we crash on Q_ASSERT) 2013-11-16 19:53:02 +01:00
Andreas afae01156d Merge branch 'portable' 2013-10-26 09:34:07 +02:00
Andreas f6ab3a9044 Fix library download in network remote. 2013-10-25 20:31:56 +02:00
Andreas 98dd001a4f Further work on portable version. 2013-10-03 17:08:42 +02:00
Andreas acb18cdcde First tries on a portable version. 2013-09-29 10:43:34 +02: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
David Sansome 1efd88cc2a Create a Fatal logging level, and use it when sqlite symbols can't be resolved.
(cherry picked from commit f0b9120c43)
2013-09-18 01:24:36 +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
Glad Olus efc5f31d9b Use short locale format in playlist view.
Fixes issue #1451
(cherry picked from commit f8efbd81e4)
2013-09-07 19:58:10 +02:00
Glad Olus f8efbd81e4 Use short locale format in playlist view.
Fixes issue #1451
2013-08-29 16:31:29 +02:00
Andreas 53b8f59e6f Try to fix Windows build. 2013-08-01 19:13:43 +02:00
Andreas 3a309e9b25 Added message to retrive the library (table songs). 2013-08-01 18:13:14 +02:00
Arnaud Bienner fc1880161c Add a 'language_without_region' as this is not specific to networkremotesettingpage 2013-07-27 19:23:55 +02:00
David Sansome 1a3f6af1bd Clean up the network remote settings page, add a "Get it on Google Play" button. 2013-07-27 15:27:08 +10:00
Andreas 1e4819f2df Add stop after current track feature to network remote. 2013-07-20 19:38:37 +02:00
John Maguire f166954495 Add Google cpplint & lint one class 2013-07-19 15:38:22 +02:00
David Sansome eb20fb5945 Remove all the soruce for WMDM devices. Fixes issue 3748 2013-06-30 08:25:12 +00:00
Andreas ecd94cf472 Oops. 2013-06-09 16:41:02 +02:00
Andreas a6a8997a2e Use QDir::toNativeSeparators instead of QString::replace. Add QProcess include for windows build. 2013-06-09 16:29:40 +02:00
Andreas d16ac382ef Highlight the opened file in Windows Explorer. Fixes issue 3695. 2013-06-09 15:52:47 +02:00
Kevin Cox 9cc7169904 Used kNsecPerSec for milliseconds in a second. 2013-05-30 08:28:21 -04:00
Kevin Cox 7381f381e6 Added --restart-or-previous option.
Fixes bug #3524.
2013-05-29 15:27:07 -04:00
Arnaud Bienner c6068b16c9 Handle leading spaces when splitting schema update queries.
Otherwise the commands aren't splitted correctly, so the queries aren't run correctly, and the root cause might not be obvious.
2013-05-13 23:04:24 +02:00
Arnaud Bienner 5e6821dead Add a 'favorite' widget to playlist tab, and keep in playlistlist container only favorite playlists, instead of all playlists. 2013-05-11 23:18:03 +02:00
David Sansome fe964b9457 Never start playing a background stream on startup, even if it was enabled last time. 2013-05-04 19:26:24 +10:00
graehl 6fa77b8749 RevealFileInFinder for mac "show file in browser"
on mac, use QProcess to call "/usr/bin/open -R file", which highlights the file
when you context-menu click "show file in browser", instead of merely opening
the directory

Fixes issue #3634
2013-04-25 15:23:43 -07:00
David Sansome bb0f7412be Include any user-agent supplied by client libraries. Fixes issue 3612 2013-04-15 21:41:54 +10:00
pie.or.paj 18e8d6ca20 - Added basic playlist management (add and remove tracks) in network remote. 2013-04-13 11:57:05 +02:00
David Sansome 264d5ee0fa Add Radio GFM 2013-04-13 14:28:42 +10: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
Arnaud Bienner db5fbe2059 Update issue 1175:
Add an option in preferences to save all ratings/statistics into files, for all songs
2013-03-26 23:56:46 +01:00
David Sansome dc208962f6 Don't update device_ tables with %allsongstables_fts. 2013-03-15 20:25:38 +11:00
David Sansome d89954ae31 Fix style, hide the new columns by default, and move the new columns to the end of the enum 2013-03-10 18:16:14 +11: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
Mateusz Kowalczyk 7f2c17a0b7 Add track rating/score to OSD.
Fixes issue #2586
2013-02-26 16:33:05 +01:00
Arnaud Bienner b5b371ef6f Use Qt's foreach instead of C++11 foreach, as it doesn't work with older versions of gcc 2013-02-24 19:16:52 +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
David Sansome 115964d1b4 Load local tags asynchronously in SongLoader. 2013-02-17 18:19:05 +11:00
David Sansome 4acafb4930 Remove some old code 2013-02-17 18:10:08 +11:00
Mateusz Kowalczyk 6904b06cf8 Add --increase-volume-by and --decrease-volume-by commandline options. Fixes issue 3496 2013-02-17 15:13:39 +11:00
John Maguire d21fa8cc67 Add support for Box. 2013-02-12 17:11:18 +01:00
Joel Bradshaw bb7a1e65f4 Adding spot for a unique album ID and implementing on Spotify
To resolve albums with duplicate tracks

Fixes issue 3429
2013-02-07 21:39:10 +01:00
Andreas 3cb7a76656 Add Engine::TrackChangeFlags as MetaType, so the connect workings. 2013-02-07 19:27:54 +01:00
Andreas f779e14df7 Fix connects for Repeat and Shuffle. They were never reached. 2013-02-03 21:09:48 +01:00
John Maguire 90803fa0e0 Remove use of deprecated gstreamer functions. 2013-01-29 13:19:26 +01:00
Martin Brodbeck d5139ac2b2 Add opus support to transcoder.
Fixes issue #3453
2013-01-28 14:09:31 +01:00
Martin Brodbeck d05041dfa1 Add support for Opus tags. 2013-01-26 11:18:24 +00:00
John Maguire fe2fb788d3 Merge branch 'subsonic'
Conflicts:
	data/data.qrc
2013-01-24 17:02:08 +01:00
Andreas 78ad2fb517 Fixed an issue where clementine could crash: A client connects before the playlist manager is
initialized. This caused a null pointer exception. Now the server is started after the
playlist manager was initialized.
2013-01-22 22:58:32 +01:00
Alan Briolat 349231793f Hacky basics of starting to load Subsonic library 2013-01-10 22:08:52 +00:00
John Maguire b7b7e97455 Merge branch 'master' of https://code.google.com/r/asfa194-clementineremote into remote 2013-01-08 13:05:54 +01:00
David Sansome 41f89904b6 Compare against the translated message text to determine whether a typefind failed. Fixes radio playlists in non-english languages. Fixes issue 3394 2013-01-04 21:16:26 +11:00
TTSDA efd42349e7 Add year and bitrate fields to mpris2 metadata 2013-01-02 07:54:50 +11:00
Andreas f10292eb95 Added remote control for clementine 2012-12-31 23:37:39 +01:00
David Sansome e3c8caa613 Preserve user stats like play/skip counts when reloading song metadata when opening the edit tag dialog. Fixes issue 3359. 2012-12-26 00:50:32 +11:00
David Sansome 9e9b7f7fa6 Don't ever replace taglib metadata on file:// Songs. init_from_file_ gets lost after a restart so just assume all local files are good. 2012-12-26 00:26:48 +11:00
David Sansome 24219b93cc Add some more debug output when applying database schema updates 2012-12-25 17:37:27 +11:00
John Maguire 919e9215c4 Support indexing files from Skydrive. 2012-12-13 14:27:21 +01:00
John Maguire 941aaca87c Refactor cloud tagging into base class. 2012-12-06 14:23:27 +01:00
John Maguire 7058d238fb Be more aggressive about tagging by having as many tag clients as cores. 2012-11-30 16:43:44 +01:00
John Maguire ea8655af83 Add Dropbox service and settings page. 2012-11-29 20:48:34 +01:00
John Maguire 6c5e831a7d Remove tag encoding detection as we don't really use it anymore. 2012-11-29 13:41:20 +01:00
John Maguire 9c7a3ab105 Rename google drive tagging methods to more appropriate generic names. 2012-11-28 16:34:10 +01:00
John Maguire db586ca00e Read tags from Ubuntu One files and add to local database. 2012-11-28 14:43:03 +01:00
John Maguire 24ac9adbe5 Beginnings of playback from Ubuntu One file store. 2012-11-27 18:35:06 +01:00
Arnaud Bienner af8e8c753e Use a better data structure to track uniques songs when removing duplicate. 2012-11-22 02:06:29 +01:00
Arnaud Bienner cf22a91c6a Merge git://github.com/szemek/clementine 2012-11-22 00:37:51 +01:00
John Maguire fddce90624 Use boost::bind & boost::function instead of std equivalents for better compatibility. 2012-11-21 17:17:37 +01:00
John Maguire 1fd0515168 Make variadic version of ConcurrentRun::Run() 2012-11-21 16:39:10 +01:00
Przemysław Dąbek 92637cb7d1 improved removing duplicated songs 2012-11-21 16:06:19 +01:00
John Maguire 543a6bf2fa Remove use of linked SAC shim and depend on DLL version (which doesn't exist yet) 2012-11-13 17:04:54 +01:00
Mateusz Kowalczyk 2bf8172590 Use the actual artist name's initial if 'Ignore "The" in artist name' option is used when organizing files.
Fixes issue 3201.
2012-11-10 17:55:33 +01:00
John Maguire 0822482b4d Respect XDG_CACHE_HOME for network & moodbar cache.
Fixes issue #3264
2012-11-06 15:38:40 +01:00
Veniamin Gvozdikov 95dc49ac77 Fix IsLaptop() check on FreeBSD.
Fixes issue #3244
2012-10-31 13:30:23 +01:00
David Sansome 9fae3881ed Add a new "Playlists" tab to the sidebar that contains all the playlists created by or imported into Clementine. The tab bar now contains only "open" playlists - closing a tab closes the playlist without deleting it.
Update issue 1811
Added a Playlists tree view to the sidebar.
2012-10-30 23:04:22 -07:00
John Maguire 6cadc9321d Remove legacy config file migration code for mac. 2012-10-29 12:47:59 +00:00
John Maguire 1abd9c3821 Fix the types of some MPRIS metadata fields. 2012-10-15 11:40:18 +02:00
John Maguire 20196edcac Ooops. 2012-10-11 16:18:14 +02:00
John Maguire d674d9ecf7 Implement MediaPlayer2.Playlists from MPRIS2.
Fixes issue #3194
2012-10-11 15:38:51 +02:00
John Maguire 4de0b93305 Add Fullscreen/CanSetFullscreen properties for MPRIS 2.2 2012-10-11 13:45:42 +02:00
John Maguire a56947e356 Add support for new musicbrainz cover art archive.
See: http://blog.musicbrainz.org/?p=1616
2012-10-10 14:45:13 +02:00
John Maguire a1361dfa7e Enable fullscreen support for OS X 10.7+
Fixes issue #2329
2012-10-09 14:56:17 +02:00
John Maguire 606bf71208 Disable automatic conversions to QUrl from strings. 2012-09-26 17:09:13 +02:00
John Maguire 6dbd0baafc Remove conditional code for Leopard. 2012-09-26 12:38:32 +02:00
Arnaud Bienner f51ac3f970 Actually check if a file exists to know if it's local or not (therefore set the scheme to "file" therefore interpret it correctly in SongLoader)
URLs with ":" were sometimes wrongly interpreted as remote URLs. But some local files may have ":", and moreover on Windows all files have ":" because of the drive letter scheme.
2012-09-17 20:47:57 +02:00
John Maguire 340e6dabce Use notification center on OS X when available. 2012-09-13 16:15:28 +02:00
David Sansome 5940b0ead1 Make SongKick results a bit prettier 2012-08-27 12:25:33 +01:00
Anand 1aec4a4c7f When pressing the Previous button in Repeat Track mode, go to the previous track instead of repeating the current one. Fixes issue 2897 2012-08-26 13:11:28 +01:00
David Sansome edb57e1b92 Add a constructor to DBusStatus to fix a build failure in release mode. 2012-08-20 10:28:29 +01:00
David Sansome 6fca8b1c3d Fix some possible crashes when requesting MPRIS data during Clementine's startup 2012-08-17 14:41:57 +01:00
John Maguire c5b74c832e Add tasks for indexing Google Drive songs. 2012-08-06 14:00:54 +02:00
John Maguire e06ae8a282 Support reading OGG & FLAC files from Google Drive. 2012-07-31 15:18:14 +02:00
David Sansome 9653a45f66 Read Google Drive metadata in the tagreader worker process 2012-07-28 19:35:12 +01:00
John Maguire f48383c73e Index Google Drive MP3s and write to local database. 2012-07-27 16:04:12 +02:00
Arnaud Bienner 0e3dc5a8be Add new ConcurrentRun templates for void functions, and functions with 3 arguments + corresponding test cases.
+ SongLoader now has its own QThreadPool to load folders/playlist in background.
Update issue 2598
This should fix slowliness problems reported.
2012-07-16 00:06:55 +02:00
David Sansome 73792668eb Check for the length of a track being <= 0 instead of == 0 when seeking. 2012-07-15 12:17:44 +01:00
Arnaud Bienner 7f89e8832e When loading songs aync, always load the first song of our list, as it may be played immediately once added to the playlist
Fixes issue 2598
2012-07-14 00:53:42 +02:00
David Sansome 497928d693 Don't try seeking a song if there's no song playing, or the song isn't seekable.
Fixes issue 3041
2012-07-10 15:00:47 +01:00
David Sansome abe8d10b9c Add a compatibility header so liblastfm and liblastfm1 can both be used with the same source. 2012-06-28 18:40:20 +01:00
Harald Sitter 769baa5c16 Use liblastfm1 2012-06-28 18:40:20 +01:00
Arnaud Bienner b49c3db6e0 Sort retrieved GS songs only in some cases.
Indeed, even it makes sense sometimes (e.g. for playlists) it doesn't make sense at all for search results...
Make the sorting function part of Song.
2012-06-27 01:55:51 +02:00
John Maguire 74fe419659 Factor out metatype registration. 2012-06-20 15:07:28 +02:00
David Sansome 413f3b5186 Scale the missing cover image in the Edit Tag dialog, and don't overwrite the art_automatic field when reloading metadata. 2012-06-17 16:55:19 +01:00
David Sansome 21fbd40f9f Don't try to initialise the library model until after the grouping settings have been read from the config. Fixes issue 3005 2012-06-16 20:54:08 +01:00
David Sansome 404deff537 In RedirectFollower, don't emit readyRead() from replies that contain a redirect header. Fixes issue 3000 2012-06-14 13:50:49 +01:00
John Maguire b237d436d1 Remove obsolete code for unicode sqlite LIKE. 2012-06-11 12:05:31 +02:00
Robbert Krebbers 3b186c698d Allow playlist sorting and shuffling to be undone. Fixes issue 654.
Also:
  - When sorting a dynamic playlist, only songs after the currently playing track are sorted.
  - When moving songs in a dynamic playlist, recolor them if moved across the current track.
  - When playing a future song in a dynamic playlist, move it to the current location.  Fixes issue 1140
2012-06-09 14:33:51 +01:00
David Sansome 69980c80da Use g_signal_parse_name instead of g_signal_lookup in CheckedGConnect to support connections that look like "signal-name::detail". Also use qFatal() instead of Q_ASSERT(0). 2012-06-09 14:23:21 +01:00
John Maguire cbc650f44b Use CHECKED_GCONNECT instead of g_signal_connect everywhere. 2012-06-08 15:34:00 +02:00
John Maguire 80ab12aeff More concise checking of callback param counts. 2012-06-08 15:13:23 +02:00
John Maguire ae4898655d Add support to gsignal checker for more parameters. 2012-06-08 14:30:31 +02:00
John Maguire 2da6c40fb5 Add runtime checker for gsignal callback arguments. 2012-06-08 14:27:38 +02:00
David Sansome abdc6d8844 Add moodbar settings to the settings dialog 2012-05-27 23:56:40 +01:00
David Sansome b03563f317 Make it possible to compile out moodbar support 2012-05-27 21:33:05 +01:00