John Maguire
e9d770a864
Remove pjsip/stun code and make PortForwarder at least compile.
2011-11-28 16:22:13 +01:00
David Sansome
b873209d39
Remove the <xiphcomment.h> include from song.h so that windows headers don't infect everything else. Also move other bits of song.h into song.cpp, and reduce the number of includes in song.h.
2011-11-28 13:56:55 +00:00
Angus Gratton
360aaabd0d
Add playlist album artist for use in playlist grid view (Issue 509)
2011-11-28 11:04:38 +00:00
Angus Gratton
edb9b0b4fe
Add album effective_artist filter that falls back to artist when unavailable (Issue 509)
2011-11-28 11:04:38 +00:00
David Sansome
be4e70a9b1
Don't crash when using Player::PlayAt to play an index that doesn't exist. Fixes issue 2330
2011-11-27 22:24:38 +00:00
David Sansome
da532ef3ca
Make manual track changes ignore the "repeat track" setting. Fixes issue 2426
2011-11-27 21:02:37 +00:00
David Sansome
8334484c1e
Fix some symbol naming conflicts that happen when including windows header files (taglib >1.7 brings them in for us).
2011-11-27 19:43:07 +00:00
David Sansome
7444f437aa
Fade out tracks properly when changing between two URLs that have registered URL handlers (like spotify and grooveshark).
2011-11-27 16:35:36 +00:00
David Sansome
b8ee548eb4
Rename the existing "Shuffle by album" mode to "Shuffle tracks in this album", and add a new "Shuffle albums" mode that plays all the tracks in each album sequentially, but then jumps to a different random album afterwards.
...
Fixes issue 1152
2011-11-27 15:01:10 +00:00
Angus Gratton
5ee9961d4f
Fix bug w/ Organize deleting old files
...
Fixes issue #1806
2011-11-25 15:28:43 +01:00
Arnaud Bienner
cc20e6b6ae
Use task manager on most GS actions
2011-11-23 01:07:40 +01:00
Arnaud Bienner
fdad2bd706
Make the async load of folders thread-safe
2011-11-18 21:55:54 +01:00
David Sansome
13ae806005
Only use the Unity hack on Ubuntu. Fixes issue 2198
2011-11-13 00:40:29 +00:00
Arnaud Bienner
2511a97077
Add an index on filename on songs table. Particullary, this heavily speed up the 'Add folder' usecase
2011-11-12 19:33:50 +01:00
David Sansome
53f1f6509b
Fix URLs in device tables as well when upgrading
2011-11-12 17:15:10 +00:00
Arnaud Bienner
48db13b353
Make Playlist's InformOfCurrentSongChange public and use it when updating item instead of using UpdateItems (which will create a new item)
2011-11-11 02:42:48 +01:00
John Maguire
85ab8e260a
Restore Qt 4.7 behaviour by adding a content type to POST requests that don't have one.
2011-11-10 23:42:34 +01:00
John Maguire
8e4ec35c61
Fix playlist detection when playlist size is < 512 bytes.
...
Fixes issue #2319
2011-11-10 21:42:40 +01:00
John Maguire
ed0e6ba898
Lion build fixes
2011-11-10 20:56:49 +01:00
John Maguire
a57d947a33
Show global shortcuts dialog on Lion.
...
Fixes issue #2104
2011-11-09 13:59:25 +01:00
David Sansome
e3b7afbdf2
Add "Your radio streams" global search provider
2011-11-06 15:00:50 +00:00
David Sansome
8c69094931
Add a generic class for the "cached list of stuff" pattern used by last.fm and di.fm/sky.fm for keeping friend lists or stream lists around and refreshing them after a certain length of time
2011-11-06 00:02:32 +00:00
Arnaud Bienner
860d355f00
Ability to add a Grooveshark song to Grooveshark user's favorites
2011-11-02 00:02:49 +01:00
Arnaud Bienner
85ea3fe37f
Add songs to Grooveshark playlists by drag and drop
2011-10-30 23:59:43 +01:00
John Maguire
a1ece63f3a
Use URLs for openInFileBrowser.
2011-10-26 14:54:24 +02:00
John Maguire
cc986b7177
Update show in file browser to work with URLs.
...
Fixes issue #2002
2011-10-26 14:43:28 +02:00
David Sansome
9a739a3346
Add a DBus interface onto the global search engine, and add a KDE krunner plugin that performs global searches in Clementine.
...
This is optional and is not compiled unless you have the plasma developer packages installed.
2011-10-19 23:17:24 +01:00
David Sansome
da825d4659
Make clicking outside the global search tooltip work again
2011-10-15 21:57:08 +01:00
David Sansome
4cabb98b43
Fix compilation of the gnome global shortcuts backend when dbus isn't available
2011-10-15 20:49:53 +01:00
David Sansome
ce501d982a
Don't show the global search popup immediately when clicking in the search field, making it possible to double click the search box to select all text.
2011-10-15 20:48:48 +01:00
David Sansome
2bffe1fa82
Register and unregister for media key notifications properly from the gnome settings daemon
2011-10-14 22:01:25 +01:00
John Maguire
a526c7c13d
Make closures non-copyable.
2011-10-06 14:45:55 +02:00
John Maguire
265b174dc9
Fix warning on GCC 4.6
2011-10-06 14:24:33 +02:00
John Maguire
5e343611bf
Add some asserts to closure.
2011-10-06 13:19:42 +02:00
John Maguire
a6e8797b9d
Add some syntactic sugar to closures.
2011-10-06 13:11:18 +02:00
John Maguire
e77de84451
Add a closure variant using tr1::function. This may break the build...
2011-10-05 14:55:39 +02:00
John Maguire
fc34a244c6
Tidy up closure implementation.
2011-10-05 11:36:08 +02:00
John Maguire
20a967a19f
Basic working closure implementation.
2011-10-04 18:26:40 +02:00
Arnaud Bienner
4143823870
Get GrooveShark songs' length (give the ability to seek through stream). markStream and markSongComplete, as resquested by GrooveShark
2011-10-02 12:05:56 +02:00
Casey Jones
a49e2828e6
Display album art from FLAC tags
2011-09-28 00:16:02 +01:00
David Sansome
53e175e503
When stopping due to "Stop after this track", set the current song to the one after, so when the user presses Play it plays the next song instead of the last one again.
2011-09-27 23:31:15 +01:00
David Sansome
54016a8286
Add missing --help text for --search-popup
2011-09-25 11:53:42 +01:00
Arnaud Bienner
2406fdabf6
Check pointer nullity
2011-09-22 19:50:43 +02:00
Arnaud Bienner
399829291d
Merge branch 'master' of https://code.google.com/p/clementine-player into grooveshark
...
Conflicts:
data/data.qrc
2011-09-20 00:37:20 +02:00
David Sansome
e10efbc484
Make "Add and play now" work
2011-09-18 23:26:21 +01:00
John Maguire
b0c880d444
Adds --search-popup command line option.
2011-09-16 16:19:52 +02:00
Arnaud Bienner
99fdba877e
Merge branch 'master' into grooveshark
2011-09-02 00:35:40 +02:00
Arnaud Bienner
096680c576
Add Hmac for MD5
2011-09-01 23:45:47 +02:00
John Maguire
551a85cb9b
Add missing copyright headers.
2011-09-01 16:07:07 +01:00
John Maguire
c2d68fd697
Basic search popup triggered by a global shortcut.
2011-09-01 14:23:16 +01:00
John Maguire
85e101c8a7
Fix the global shortcut grabber on Mac.
2011-09-01 14:10:30 +01:00
David Sansome
2cbe90c2e5
When playing a last.fm stream, don't scrobble the next item in the playlist in between each track of the last.fm stream. Fixes issue 1943
2011-08-28 02:59:19 +01:00
David Sansome
195f618bf2
When organising files, make %albumartist behave as %artist if the song has no albumartist tag set.
2011-08-28 00:02:41 +01:00
David Sansome
1d098a40b8
Revert commit ddfb90a0a1
, and always delete files from disk rather than sending them to trash.
2011-08-27 23:54:55 +01:00
David Sansome
5884502389
Fix a bug loading where song metadata wouldn't be loaded from the library when loading a local file containing spaces. Fixes issue 2192
2011-08-27 22:51:30 +01:00
David Sansome
7e0e4e48e4
When loading a CUE from disk that isn't in the library, don't overwrite the metadata of its first song with the metadata from the audio file. Fixes issue 2092
2011-08-27 22:29:35 +01:00
Arnaud Bienner
5cbb86f247
Use toEncoded instead of toString in SQL query
2011-08-19 22:37:59 +02:00
Arnaud Bienner
f319a615d9
Use url when checking if a file is already in DB instead of filename when loading files (this usecase has been missed when we have decide to use urls everywhere)
2011-08-18 22:43:52 +02:00
David Sansome
082716e9c9
Don't try to compile audio CD support if libcdio isn't installed.
2011-08-10 16:30:36 +01:00
David Sansome
ae4cfeff1c
Always assume Icecast-style stream metadata is in the "Artist - Title" format, as this seems more common. Remove the hacks for soma.fm and stations from the icecast list. Fixes issue 1035
2011-07-26 15:56:19 +01:00
David Sansome
b628c2a26e
Use a template function instead of a macro
2011-07-26 13:22:23 +01:00
David Sansome
c366f722fb
Show the album cover dimensions on top of the images in the album cover search dialog.
...
Fixes issue 1704
2011-07-26 13:02:59 +01:00
David Sansome
5c90404915
Sort album covers by image size. Fixes issue 2048
2011-07-26 12:17:28 +01:00
David Sansome
a1062eb96f
Add sha256 and hmac-sha256 functions
2011-07-23 19:33:00 +01:00
David Sansome
9fadf57acc
Revert "Move TaskManager::Task and UrlHandler::LoadResult structs out of their parent classes - PythonQt doesn't understand nested structs."
...
This reverts commit 5234798a7f
.
2011-07-23 15:32:12 +01:00
David Sansome
dd3eee63e5
Remove python scripting support
2011-07-23 15:32:12 +01:00
Tyler Rhodes
ded8e5f6f0
Refactor "Radio" files into "Internet" files.
2011-07-15 13:27:50 +00:00
David Sansome
c8305c0eee
Don't record an undo step when all the songs inserted into the playlist were vetoed. Thanks schizosfera.
2011-07-01 20:48:18 +00:00
John Maguire
6e86caae2c
Define QT_STRICT_ITERATORS and fix the associated bugs.
2011-06-20 15:08:06 +00:00
David Sansome
36165ea9bf
Keep the state of the rain and hypnotoad menu actions in sync with whether they're actually playing. Fixes issue 1986
2011-06-19 14:42:00 +00:00
David Sansome
67f41ef886
Oops, remove some unused dbus includes
2011-06-18 22:05:35 +00:00
David Sansome
fd7d24b11a
Add Clementine to the Unity system tray whitelist on startup.
2011-06-18 19:08:09 +00:00
David Sansome
7415d85dce
When initialising a song from a library query, don't always assume the metadata originally came from a file (which means icycast tags are ignored when it is played). Fixes issue 1857
2011-06-17 20:00:10 +00:00
David Sansome
99390486bf
Show a song's URL in the title playlist column if it doesn't have a title or base filename.
2011-06-17 19:32:03 +00:00
John Maguire
25587286b2
Fix error when unref'ing cdda element after failing to read CD.
2011-06-15 19:28:25 +00:00
Arnaud Bienner
7fca5d37dc
Minor modifications on load audio CD, including better cleaning of objects
2011-06-14 23:38:43 +00:00
David Sansome
563de288ba
Encode URLs properly when doing the DB schema conversion to store filenames as URLs
2011-06-14 14:46:02 +00:00
Tyler Rhodes
a452971708
Change Mac media keys to respond on key release. Fixes issue 1985.
2011-06-13 10:20:37 +00:00
Tyler Rhodes
80abba66ca
Fix my compile fix in r3373
2011-06-10 09:37:50 +00:00
John Maguire
4917ae8f4f
Fix compile error.
2011-06-10 09:35:03 +00:00
Tyler Rhodes
006e085b7d
Fixes 64-bit compile issue from r3372
2011-06-10 09:19:30 +00:00
Arnaud Bienner
272841ab73
Starting audio CD support. Starts issue 701
2011-06-09 23:08:43 +00:00
Andrea Decorte
527171fadb
Toggle visibility for Pretty OSD by command line and global shortcut.
...
Fixes issue 1344
2011-06-05 08:21:17 +00:00
John Maguire
97a8aa54be
Use SPMediaKeyTap for global media keys on Mac.
...
Thanks to: tyler.s.rhodes@gmail.com
2011-05-30 10:09:34 +00:00
David Sansome
7de618beff
Fix registration of metatypes for list handlers on Qt 4.7
2011-05-29 14:08:55 +00:00
John Maguire
54a79f0665
Always pause on --pause.
...
Fixes issue #1599
2011-05-26 15:40:53 +00:00
John Maguire
799279afcd
Untested attempt to read album artist tags from ogg/flac/mp4 properly.
...
Fixes issue #1624
2011-05-26 15:30:42 +00:00
David Sansome
7228eb8676
Buffer stdout and stderr properly, and integrate with python's logging module
2011-05-22 11:48:12 +00:00
David Sansome
5234798a7f
Move TaskManager::Task and UrlHandler::LoadResult structs out of their parent classes - PythonQt doesn't understand nested structs.
2011-05-21 10:43:25 +00:00
John Maguire
8dd745895a
Add --version command line flag.
...
Fixes issue #1867
Thanks to: tyler.s.rhodes@gmail.com
2011-05-16 19:21:46 +00:00
David Sansome
792352be3b
When songs disappear from the filesystem (either they're deleted or are on a removable media that was unmounted), mark them as unavailable instead of removing them from the database. Thanks google@robbertkrebbers.nl. Fixes issue 401
2011-05-14 13:43:57 +00:00
David Sansome
3deb371537
If the spotify blob isn't installed, try to download it from the Clementine website. Also, make the blob separate from the core Spotify code in Clementine so you can build the core code without building the blob
2011-04-29 19:44:51 +00:00
David Sansome
5efe63462c
Get album art for Spotify tracks
2011-04-29 13:41:42 +00:00
David Sansome
06852aaeb7
Show spotify search results in a separate playlist tab rather than in a tree in the sidebar.
2011-04-28 17:50:45 +00:00
David Sansome
255682b057
Remove the special load behaviour from Playlist Items and instead add URL Handlers that do the same job but for all playlist item types.
2011-04-28 15:10:28 +00:00
David Sansome
ccb9f8cf94
Use URLs everywhere instead of filenames. Move the URL parsing and song loading code out of individual playlist parsers and into the base class. Fix the playlist parser unit tests.
2011-04-28 12:27:53 +00:00
David Sansome
b15156a7a3
Handle bigger protobuf messages, add spotify searching to the UI
2011-04-27 16:38:28 +00:00
David Sansome
3d6677fe6d
Allow radio services (Spotify) to store whole songs in playlist items
2011-04-26 22:06:58 +00:00
David Sansome
2bec9a00fc
Add license headers to all the spotify source files and obfuscate the API key
2011-04-26 13:43:13 +00:00
David Sansome
e152e3a3e3
Start of some spotify support - builds a binary blob linked against libspotify that Clementine starts as a separate process.
2011-04-25 19:16:26 +00:00
David Sansome
101985defa
Fix a build failure with glib >= 2.25
2011-04-22 17:52:09 +00:00
David Sansome
5a2f522895
Fix compilation on release builds
2011-04-22 17:17:37 +00:00
David Sansome
3eedc916ad
Add a new logging system
2011-04-22 16:50:29 +00:00
David Sansome
8f4c1dbbf6
When doing gapless playback, fix a bug where the TrackEnded signal would be emitted too early, before the track had actually ended. This caused the song after the current song to get scrobbled and its playcount increased. Fixes issue 1771
2011-04-17 14:11:37 +00:00
David Sansome
12b6bbd166
Scrobble radio streams even if we don't know the length of each individual part. Fixes issue 681
2011-04-16 15:13:53 +00:00
Arnaud Bienner
f7e614684d
Minor modifications thanks to David' comments. Adding some comments to explain the new process: hope it's clearer now
2011-04-16 15:06:13 +00:00
Arnaud Bienner
65ef047c38
Loading file in async way, in two times: fast loading files and insert them in playlist view, while loading info (tags, ...) in background thread
2011-04-16 14:04:15 +00:00
David Sansome
8d6f818d25
Maybe fix an assert when connecting WMDM devices
2011-04-16 13:39:31 +00:00
Andrea Decorte
5d8f1fe872
Added scrobbling button in main window and a global shortcut for
...
toggling it. Fixes issue 1090
Improved last.fm error handling
2011-04-07 16:25:52 +00:00
John Maguire
18bfa12042
Add the beginnings of an ICE socket implementation.
...
Currently, it can be demoed using --stun-test and the icedemo from pjsip as the other client.
TODOs:
Add ability to do a full demo using only 2 clementine instances.
Complete session initiation over XMPP.
Add local & port forwarded sockets as options.
2011-04-07 13:38:27 +00:00
Paweł Bara
032b5f7e48
initial commit of "multiple covers providers" feature:
...
- simple API for cover providers (both C++ and SIP)
- a new "package" for cover related code
2011-04-02 13:34:06 +00:00
David Sansome
a10d396f22
Fix the InsertUrls dbus method so it inserts tracks at the end of the playlist and plays them again.
2011-03-31 18:47:25 +00:00
David Sansome
e5bc2be85f
Add some more debugging output for deciding when to scrobble a song
2011-03-29 21:12:49 +00:00
David Sansome
f416c27483
Fix a compiler warning in mpris1.cpp
2011-03-29 19:05:04 +00:00
David Sansome
7d6eee590a
Don't force the track to stop at the end of a section unless it's part of a cue sheet. Fixes issue 1610. Fixes issue 1636.
2011-03-28 22:11:07 +00:00
David Sansome
f2ddc92a0d
Maybe fix the mac build without breakpad
2011-03-26 17:36:13 +00:00
David Sansome
0968e6680b
Oops, Fix a compile error
2011-03-25 21:52:56 +00:00
David Sansome
a707b4c502
Add a little bit of debugging output for system proxy URLs on linux
2011-03-25 20:13:04 +00:00
John Maguire
d86dce4b96
Add support for Google breakpad on mac. (Uploading crash reports doesn't work yet due to redirect).
2011-03-25 11:38:03 +00:00
David Sansome
d50cfaed46
Add google breakpad to 3rdparty, and gather crash reports
2011-03-23 21:53:24 +00:00
Jonathan Anderson
ddfb90a0a1
clementine Issue 858
2011-03-23 11:23:55 +00:00
John Maguire
b767c1ccf2
Fix display of stopped stream when stopped via play/pause shortcut.
2011-03-21 17:07:15 +00:00
John Maguire
eceb4164c1
Add more trayicon mouse wheel actions.
...
Update issue 1597
Status: Fixed
Thanks for the patch!
2011-03-21 15:15:17 +00:00
Paweł Bara
e619d7a280
fixing a bug where streams were removed from playlist during Clementine's startup
2011-03-20 16:07:24 +00:00
Paweł Bara
bfb068a6d1
conditionally hide some context menu actions in library view and playlist view
...
Song.is_stream()
2011-03-20 12:43:10 +00:00
David Sansome
9086ab8ed4
Add a "Show in file browser..." to the library context menu as well. Fixes issue #1563
2011-03-17 19:52:21 +00:00
Andrea Decorte
4b6e2a8a62
Add global shortcuts for repeat and shuffle modes. Fixes issue #955
2011-03-17 08:21:05 +00:00
David Sansome
85502e5516
Don't crash at the end of the last song on a playlist
2011-03-14 20:04:33 +00:00
David Sansome
cb275f318f
Add an option to disable automatic crossfading between tracks on the same album or from the same cuesheet. Fixes issue 1479
2011-03-13 18:37:46 +00:00
David Sansome
f22f361f66
Revert "Do not cross-fade if two songs of the same CUE file are consecutively being played"
...
This reverts r2921.
2011-03-13 18:37:39 +00:00
David Sansome
002ae13817
Use the canonical file path (resolve symlinks and '..') when adding directories to the library, and when adding files to the playlist. Fixes issue #1494
2011-03-13 14:43:03 +00:00
David Sansome
d7dbd21438
Fixed some of the "metadata changed" when doing a library rescan
2011-03-13 13:40:24 +00:00
David Sansome
db8359838a
Set a timeout of 5 seconds on musicbrainz network requests. Fixes issue #1390
2011-03-13 13:17:35 +00:00
David Sansome
b51566cdd9
Remove the dependencies on libtunepimp, libofa, libmusicbrainz. Use the gstreamer ofa plugin instead to fingerprint songs.
2011-03-12 21:19:41 +00:00
Paweł Bara
c8c394d200
don't push new URL into engine in the CurrentMetadataChanged slot - send it the beginning and end markers only
...
this means that Clementine still skips broken songs while at the same time fixes issue #1565
2011-03-12 20:20:13 +00:00
Paweł Bara
e25e9efffc
Clementine now skips broken streams (radios for example). At least I hope it always does. ;) Fixes issue #1562 .
2011-03-12 13:24:30 +00:00
Paweł Bara
8722e00103
Clementine now skips songs that don't exist anymore (updates issue #250 )
2011-03-10 18:01:35 +00:00
John Maguire
19af887465
Disable automated tag encoding correction and instead just mark tags as "suspicious".
2011-03-06 16:39:36 +00:00
David Sansome
2cb8b8dba7
Stop cue sections at exactly the right place, and move seamlessly between consecutive sections of the same file. Fixes issue #1233 . Fixes issue #1419 .
2011-03-06 16:35:47 +00:00
David Sansome
c2445edad5
Add a "complete tags automatically" shortcut to the playlist context menu. Fixes issue #1532
2011-03-06 14:07:41 +00:00
Andrew Udvare
4fe36ad7b3
Do not test if both songs don't have CUE files
2011-03-06 03:31:04 +00:00
Andrew Udvare
dabeab9360
Do not cross-fade if two songs of the same CUE file are consecutively being played
2011-03-06 03:15:28 +00:00
David Sansome
285f2c9ff9
Add cross-links to the PyQt4 docs, document Song, NetworkAccessManager, PlaylistSequence
2011-02-27 17:16:22 +00:00
David Sansome
4471e27ef6
Python docs for PlaylistParser, and clean up the interface a bit
2011-02-27 12:14:32 +00:00
Paweł Bara
aa6c3ab35b
a way to mark DB schema versions as requiring a full library rescan
...
message dialog for a user when he's reached a full library rescan requiring schema version (like the final one of CUE sheet support)
2011-02-25 20:10:41 +00:00
David Sansome
b04fbf226c
Fix MPRIS2's CanPause() PlayPause() behaviour
2011-02-23 19:31:12 +00:00
John Maguire
2e286e4271
Fix broken signal in MPRIS1.
...
Fixes issue #1497
2011-02-23 11:11:17 +00:00
David Sansome
bab78c2b4f
Fix mpris2's PlayPause method
2011-02-22 20:13:02 +00:00
David Sansome
107b7b54f9
Add an extra line to the track slider popup to show the difference between the current time and the destination time.
2011-02-21 20:59:30 +00:00
Paweł Bara
e1d5abd83e
first step of making CUEs read only (playlist view)
2011-02-21 18:18:16 +00:00
David Sansome
72096bf1c8
Move ArtLoader from mpris_common.h to its own file, add libxrme to 3rdparty, add a working XMPP remote.
2011-02-19 18:24:11 +00:00
David Sansome
304ce97b16
Fix a crash bug in MPRIS2 if MPRIS1 couldn't register on the bus.
2011-02-19 18:24:05 +00:00
Paweł Bara
7de912d3a1
moving the responsibility for naming playlists into mimeData() methods (into models)
...
this means that pretty names for new playlists now also work when double clicking (in certain mode) or dragging and dropping
fixes issue #1477
2011-02-16 18:29:35 +00:00
John Maguire
b106979fb7
Use correct preferences file on OS X and migrate old config files.
2011-02-16 13:43:01 +00:00
Arnaud Bienner
7221d93888
Minor syntactic changes on tagfetcher
2011-02-14 22:26:58 +00:00
David Sansome
dadbb3e6e5
Oops again :(
2011-02-14 21:23:01 +00:00
David Sansome
8c691d2b3e
Use constants instead of "1eN" literals for converting between time units.
2011-02-14 19:34:37 +00:00
Paweł Bara
0182829223
user-friendly name for 'Open in new playlist' playlists (fixes issue #1445 )
2011-02-14 17:00:13 +00:00
David Sansome
e67f39cedb
Fix the windows build
2011-02-13 20:25:55 +00:00
David Sansome
f801252e3d
Refactor Player and PlaylistManagers to have interfaces and add more MPRIS1 tests
2011-02-13 18:37:45 +00:00
David Sansome
12da941885
Add a really basic unit test for MPRIS1
2011-02-13 18:37:21 +00:00
David Sansome
e18409ebf4
Factor out a PlayerInterface from Player, and use it in MPRIS1 and MPRIS2
2011-02-13 18:36:29 +00:00
David Sansome
507c5e2632
Change the fields in Song from seconds to nanoseconds
2011-02-13 18:34:30 +00:00
David Sansome
37618dae96
Use nanoseconds instead of seconds or milliseconds throughout the Player and Engine.
2011-02-13 18:29:27 +00:00
Paweł Bara
60ac6768b8
Fresh new 'open in new playlist' action (Updates issue #1431 ).
2011-02-09 17:51:59 +00:00
Paweł Bara
e08c6cc6a5
just a prettier expression
2011-02-05 13:45:40 +00:00
Paweł Bara
9a9d8ad177
don't let invalid CUE related media files into library (invalid == those which were not recognized by TagLib)
...
better logging of erroneous DB queries (error + query + bound values instead of just error)
2011-02-05 13:43:04 +00:00
John Maguire
4fb6f92ad4
Fix compile warning on mac.
2011-02-04 15:25:05 +00:00
John Maguire
084b9a2fe3
Remove taglib prefix from includes as the taglib include path contains it already.
2011-02-04 12:36:56 +00:00
Paweł Bara
ed4b7abde0
changed my mind - reverting my playlist changes to previous status quo (just making the PlaylistParser's contract more explicit)
...
this doesn't mean the previous revision was pointless - it still fixed one CUE related bug which I forgot to mention...
2011-02-03 22:21:15 +00:00
Paweł Bara
7bdac8fba6
when loading playlist, take only it's valid songs (+ force validity of CUE and PLS related songs)
2011-02-03 17:47:32 +00:00
Paweł Bara
77151d7ebd
Hiding some of Song's cover art logic complexity in Song's API (namely: embedded and manually unset covers).
2011-02-02 21:01:08 +00:00
John Maguire
9786570f35
Add support for saving album covers/kittens.
...
Fixes issue #1395
2011-01-31 20:53:38 +00:00
Paweł Bara
2959dbff85
'show duplicates only' view for library where you can see which songs in your library are duplicated and delete unnecessary duplicates (fixes issue #1328 )
2011-01-30 21:00:49 +00:00
Arnaud Bienner
6c42240b02
Minor correction in tagfetcher. Thanks David
2011-01-29 15:32:55 +00:00
Arnaud Bienner
e9f19f2cdb
Correct regression introduced in r2705. Partially fixes issue 1390
2011-01-29 15:18:14 +00:00
David Sansome
bcc35ec29c
Add a test for stuff in the module's global dict
2011-01-28 21:43:10 +00:00
John Maguire
ba0c7bab65
Change "kittens" feature to fetch the kittens tag instead of cat tag for fluffier kittens.
2011-01-27 16:54:03 +00:00
John Maguire
703a3b43d6
Mac build fixes for musicbrainz integration.
2011-01-27 14:48:58 +00:00
David Sansome
f929a88473
Fix mpris
2011-01-24 21:25:09 +00:00
David Sansome
0beb12fc14
Add some options to control what happens when you double click or use the menu to add tracks to the playlist
2011-01-24 21:16:26 +00:00
David Sansome
5e9edd52fe
Hold the taglib mutex while loading embedded cover art from files. Fixes issue #1350
2011-01-24 20:06:59 +00:00
Arnaud Bienner
03df8195b0
Minors modification on TagFetcher. Fixes issue #1346
2011-01-24 17:03:36 +00:00
David Sansome
4291d21eab
Load embedded cover art from ogg files. Thanks markwatkinson. Fixes issue #1232
2011-01-23 15:50:59 +00:00
David Sansome
795a4df422
Fix compilation on mac and windows
2011-01-22 14:13:56 +00:00
David Sansome
2ecf61a57e
Move everything DBus related back to the main thread and use synchronous method calls everywhere
2011-01-22 12:47:19 +00:00
Arnaud Bienner
729e8e729d
Adding track selection dialog for tag fetcher results. Also corrected tagfetcher to prevent from infinite loop when no result is found
2011-01-20 23:42:28 +00:00
Paweł Bara
1c1d9551bb
fixes issue #553 ('seek forward' and 'seek backward' hotkeys worked wrong)
2011-01-19 16:05:16 +00:00
Paweł Bara
a575dac451
restoring CUE related files in playlist after Clementine's restart (fixes issue #68 )
2011-01-19 15:36:40 +00:00
David Sansome
3f9dec3808
Add an "Install script from file..." button
2011-01-18 23:10:22 +00:00
Arnaud Bienner
abb93cd020
Minor modification to tag fetcher (including adding mutex to prevent crashes) and changing cursor during tag fetching
2011-01-17 22:58:16 +00:00
Paweł Bara
a883630ab3
duplicate remover script ( fixes #21 )
...
fix a scripting crash when one native object was registered more than once
veto mechanism for inserting songs into playlist
2011-01-16 23:46:58 +00:00
Arnaud Bienner
55f212a713
Oops..
2011-01-15 20:35:12 +00:00
Arnaud Bienner
d53e74a91f
Start auto tagging support (using MusicBrainz)
2011-01-15 20:00:39 +00:00
Paweł Bara
ddd3f119d3
CUE songs are now properly updated in library - you can delete a CUE sheet, add it, you can change section markers in it etc. and everything should work as expected
...
Song now knows it's cue path (if any)
2011-01-15 18:46:23 +00:00
John Maguire
9249952b03
Only guess tag encoding for id3v1/2 tags.
2011-01-12 18:46:23 +00:00
Paweł Bara
4f7e804638
library: watcher now updates CUE associated songs + ignores the not-CUE-associated songs in a CUE sheet
...
CueParser: properly update length for the last song from every FILE in multifile CUE sheet
new 'playlist_path' argument in the 'Load' part of PlaylistParser's API
2011-01-11 23:09:59 +00:00
David Sansome
135b32642e
Refactor all the code that handles adding items to the playlist - whether it be by a context menu item, double clicking in a view or dragging. Everything now uses the models' mimeData() instead of duplicating the same code everywhere.
2011-01-10 22:26:13 +00:00
David Sansome
d922a75327
Add some more tracing to MPRIS registration on startup
2011-01-09 23:14:44 +00:00
David Sansome
380fa71e86
Do gnome global shortcut registration in a background thread
2011-01-09 23:11:51 +00:00
David Sansome
b3c211e26a
Move MPRIS setup to a background thread
2011-01-08 15:31:14 +00:00
Paweł Bara
9f95909848
exterminating a deceiving parameter name
2011-01-06 21:53:50 +00:00
Paweł Bara
55683887c0
implemented Seeked signal for MPRIS 2
2011-01-06 21:08:11 +00:00
Paweł Bara
3372340f6b
fixes the DesktopEntry() property of MPRIS 2
2011-01-06 19:29:54 +00:00
Paweł Bara
bb79a68be0
some minor .cue related changes
2011-01-04 17:12:29 +00:00
John Maguire
3f923d2cb1
Add default parameters to MPRIS constructors.
2011-01-04 11:53:37 +00:00
John Maguire
bde7902686
Refactor some initial setup out of MainWindow::MainWindow().
2011-01-04 11:33:22 +00:00
Paweł Bara
59378166b4
finalized the support for loading .cue based media using 'files' tab or drag and drop from the system's file browser
...
use FILE's PERFORMER as albumartist
2011-01-03 23:36:10 +00:00
Paweł Bara
bbe97b00a2
make engine 'multiple-section songs' aware -> you should now be able to play your .cue related music
2011-01-02 18:53:45 +00:00
David Sansome
5b1000834f
Add some basic script loading support and add python bindings for the Player class
2010-12-31 18:13:28 +00:00
David Sansome
b578c61b36
Fix loading songs with non-ascii characters in the filename on Windows. Fixes issue #1207 . Fixes issue #531 . Fixes issue #813 .
2010-12-30 17:13:11 +00:00
David Sansome
a9a8b849ca
Add some safeguards to the merged proxy model against dereferencing child models that have been deleted
2010-12-28 23:21:56 +00:00
David Sansome
d1d0236385
Make the "show full size" menu item in the now playing widget and edit tag dialog work with embedded covers
2010-12-28 22:20:54 +00:00
Paweł Bara
da5f941333
consider .cues when scanning the library
...
persist the new 'beginning' marker of songs
fixed a bug where %allsongstables script would not update the attached databases
2010-12-28 15:36:01 +00:00
David Sansome
97d7fe764a
Download higher resolution images from last.fm. Thanks markwatkinson. Fixes issue #1187
2010-12-26 20:19:12 +00:00
David Sansome
35242f740e
Fix dbus
2010-12-26 17:24:44 +00:00
David Sansome
dc31a0be7e
Make it possible to disable all lyric providers.
2010-12-26 15:06:11 +00:00
David Sansome
fd00924f26
Fix parsing non-ascii filenames passed on the commandline (or through a file browser). Fixes issue #773 . Fixes issue #752 .
2010-12-26 14:54:46 +00:00
David Sansome
e3a9bd7b26
Make DBUS bits optional on Linux. Thanks Nickollai. Fixes issue #1177
2010-12-26 13:38:35 +00:00
David Sansome
6737b8a5c2
Always use the gstreamer engine, remove xine, vlc and phonon engines.
2010-12-26 13:01:35 +00:00
David Sansome
b5942aa7d6
Fix network access on linux without a proxy
2010-12-26 12:03:10 +00:00
David Sansome
ae9ada254c
Maybe fix build error
2010-12-25 17:41:18 +00:00
David Sansome
9b22f2ce40
Proxy support. Fixes issue #38
2010-12-25 17:25:29 +00:00
David Sansome
843cd92615
Increment play counts even if the song is shorter than 30 seconds. Fixes issue #1172
2010-12-25 13:37:45 +00:00
Paweł Bara
d7fe4600b8
an initial version of .cue sheets parser
...
initial support for multipart media files in Song ('beginning' and 'end' fields)
2010-12-23 21:13:43 +00:00
Arnaud Bienner
ccd26b4002
Removing trackSkipped when stopping: even if Amarok wasn't acting like this, in my opinion, a 'stopped' track should not be considered as 'skipped'
2010-12-21 00:38:07 +00:00
David Sansome
2d8028d89a
Use a smaller cover in the tray icon tooltip again. Fixes issue #1135
2010-12-19 15:04:22 +00:00
David Sansome
a6445f2fe7
Don't strip off file extensions in the OSD. Fixes issue #1066
2010-12-18 20:40:35 +00:00
David Sansome
c133a8db7c
Don't scale album art when saving it to /tmp. Fixes issue #1096
2010-12-18 19:42:06 +00:00
David Sansome
f1f0a384a5
Sort songs loaded from directories by filename if there are no other tags present. Fixes issue #1104
2010-12-18 18:47:44 +00:00
David Sansome
28fdb147d8
Make last.fm optional. Thanks volkov0aa. Fixes issue #49
2010-12-18 17:28:02 +00:00
David Sansome
623ab527ee
Maybe fix a crash when loading tags from MP3 files with encrypted frames
2010-12-18 17:01:25 +00:00
David Sansome
6ec77eadf6
Fix a display bug in the Last played column for songs that haven't been played in the last week. Thanks gmail@robbertkrebbers.nl. Fixes issue #1081
2010-12-18 16:50:00 +00:00
Paweł Bara
5893c27d2b
missing include failing on windows
2010-12-17 17:05:55 +00:00
Paweł Bara
32f9825794
global shortcuts for rating songs (Fixes issue #1089 )
...
renaming *index* methods in Playlist to *row*
2010-12-17 00:21:20 +00:00
Paweł Bara
4563c2dbd9
you can now use "file path" attribute when creating dynamic playlists (Fixes issue #1073 )
...
some more MPRIS 2 corrections (Updates issue #1058 )
2010-12-15 15:50:22 +00:00
John Maguire
f95d893945
Add support for building without Sparkle on mac.
2010-12-14 18:20:14 +00:00
John Maguire
21415ff230
Fix some mac ui and metadata bugs.
2010-12-14 15:00:46 +00:00
Paweł Bara
5082d81ba4
some corrections to MPRIS 2 (Updates issue #1058 )
2010-12-12 23:20:41 +00:00
John Maguire
f28d67966a
Fix flickr url for kittens.
2010-12-11 14:31:03 +00:00
David Sansome
01cccc0468
Cache the last emitted state from the engine to fix some invalid values being emitted over DBUS while a last.fm stream is buffering. Fixes issue #374
2010-12-11 13:38:51 +00:00
David Sansome
67452baa4d
Fix a crash when requesting an invalid playlist index over MPRIS. Fixes issue #1041
2010-12-11 10:58:15 +00:00
David Sansome
08b2bcc816
Always write URLs in XML based playlists, instead of URLs of relative paths. Also load playlist items from the library if possible. Fixes issue #1054
2010-12-11 10:35:07 +00:00
David Sansome
7650c1eddc
Remove "-session" from the commandline to fix session management on KDE. Fixes issue #769
2010-12-11 10:04:17 +00:00
John Maguire
5f6dcbe4b7
Early Caturday!
2010-12-10 14:26:29 +00:00
Arnaud Bienner
6b35eea469
Moving emitTrackSkipped from Next to PlayAt, to handle cases where user doesn't use Next button to skip a track. Also emit TrackSkipped in Stop if track was not ended
2010-12-10 00:11:38 +00:00
John Maguire
81f43ac4f5
Unbreak the build.
2010-12-09 14:19:09 +00:00
John Maguire
4c66007e26
Code review comments from r2370.
2010-12-09 13:06:00 +00:00
John Maguire
3a19bb9d46
Fix config file location on Mac and automatically migrate.
2010-12-09 12:34:08 +00:00
Paweł Bara
04bbf73cff
MPRIS' TracklistChanged event now contains the length of the playlist that has actually changed (Update issue #374 )
...
the PlaylistChanged event now shows which playlist has changed
2010-12-08 00:09:17 +00:00
Paweł Bara
6bf3162449
some MPRIS 1 bugfixes (Updates issue #374 )
...
also:
- PlaylistSequence: RepeatMode and ShuffleMode are changed before change event is emitted
- PlaylistManager: emits an event after it has been initialized (which, for example, indicates that it's PlaylistSequence is now in place)
2010-12-07 21:14:40 +00:00
David Sansome
44dc05a87a
Don't stop the track when it's about to end if crossfading is enabled but fadeout is disabled. Fixes issue #1040
2010-12-07 20:29:13 +00:00
David Sansome
bbf0cd48c2
Insert songs as library playlist items if they're in the library. Fixes issue #1039
2010-12-07 19:33:19 +00:00
David Sansome
8aa7973312
Always create the schema in external databases if it doesn't exist yet. Fixes issue #1034
2010-12-07 19:07:12 +00:00
David Sansome
6a27020ccd
Make the volume down shortcut decrease the volume instead of increasing it... Fixes issue #1033
2010-12-07 18:52:21 +00:00
John Maguire
d17703d39a
Add function for getting the correct config directory on mac.
2010-12-06 17:06:02 +00:00
Paweł Bara
9f3e5773fb
QT tooltip now includes cover art and is generally prettier (updates issue #125 )
...
ArtLoader is now available to every object, even if MPRIS is off
2010-12-05 23:41:41 +00:00
David Sansome
cef02b4f61
Fix database test
2010-12-05 12:53:12 +00:00
David Sansome
fc15d66321
Remove a lot of the old MPRIS code from the Player class, and fix a couple of MPRIS2 bugs
2010-12-05 11:39:06 +00:00
David Sansome
f9959a4fba
Treat the Jamendo database schema the same as other databases.
2010-12-05 10:55:21 +00:00
David Sansome
987dd8c57a
Refactor and fix most of the MPRIS code. Fixes issue #374
2010-12-04 22:27:58 +00:00
David Sansome
f94f2cd03c
Clean up the background streams settings page a bit, and use a different icon
2010-12-04 15:11:50 +00:00
John Maguire
b67bc3939a
Fix a couple of mpris bugs.
...
Update issue #374
I've fixed some of the GetStatus/GetMetadata issues.
2010-12-03 15:01:36 +00:00
John Maguire
c625acfd87
Refactor background streams.
...
Add volume control for background streams and infrastructure for custom streams.
2010-12-03 13:53:43 +00:00
John Maguire
880909104e
Fix album cover handling in Jamendo.
2010-11-29 13:34:30 +00:00
David Sansome
b1bf95a668
Remember which library a dynamic playlist was using when you restart clementine
2010-11-27 19:11:36 +00:00
David Sansome
b85ddbb380
Put the Jamendo songs in a separate database that gets attached to the main database. "Reload" it by deleting the file, which is much faster than DELETEing all the songs inside. Make reloading the Jamendo, Icecast and Magnatune databases always bypass the network cache. Store the Jamendo track IDs in a separate table - for some reason this makes inserts faster. Fix the Jamendo model after the inital database load. Make the Jamendo dymanic playlist use the entries that are already in the local database rather than fetching the song metadata again.
2010-11-27 16:14:09 +00:00
John Maguire
eca1704384
Sort of working Jamendo dynamic playlist.
2010-11-26 15:16:48 +00:00
David Sansome
188c7a53ec
Add a database table, backend, and model for Icecast radio stations. Added a filter widget as well, but it doesn't actually search or sort yet.
2010-11-23 22:36:00 +00:00
Paweł Bara
eb41dea464
the title and artist of the currently playing song are now the title of Clementine's window (Fixes issue #779 )
...
better unmute behavior if Clementine was muted before it was closed (Fixes issue #983 )
2010-11-23 19:38:15 +00:00
John Maguire
5feabe09de
Add Jamendo support.
...
Fixes issue #470
2010-11-23 17:38:39 +00:00
David Sansome
89e3fde23b
Add missing copyright headers to the icecast source and objective-c
2010-11-23 11:42:19 +00:00
John Maguire
c2c3c8145b
Add basic icecast directory support.
...
Fixes issue #601
2010-11-22 16:57:26 +00:00
Paweł Bara
5ceb64c9e3
"mute" command in main menu and context menu of tray icon (Fixes issue #962 )
...
"now playing" tray icon's tooltip in Qt environments
2010-11-21 21:36:27 +00:00
David Sansome
4356adb9e3
Fix the windows and mac builds
2010-11-21 15:46:43 +00:00
David Sansome
0a5d286798
Bound song scores properly. Thanks arnaud.bienner
2010-11-21 15:38:26 +00:00
David Sansome
626c75cd45
Add MPRIS2 and gnome sound menu support
2010-11-21 15:13:26 +00:00
David Sansome
5969e2b3d7
Remember whether a dynamic playlist was active between restarts
2010-11-20 20:30:21 +00:00
David Sansome
7d54549213
Add support for dynamic playlists. A dynamic playlist is just a smart playlist that chooses and adds a new track when you finish listening to a song.
2010-11-20 18:49:54 +00:00
David Sansome
ed1a25693c
Add missing licenses to debian/copyright, and add copyright information to each source file
2010-11-20 13:27:10 +00:00
David Sansome
9e20ef13bc
Automatic scoring. Thanks Arnaud Bienner. Fixes issue #141
2010-11-01 21:15:52 +00:00
John Maguire
6c5ce58eda
Better check for MS-WMSP.
2010-10-25 12:19:36 +00:00
John Maguire
cc782430cf
Fix MS-WMSP streams.
...
Fixes issue #912
2010-10-25 12:14:28 +00:00
David Sansome
5d9e43bc14
Add a new smart playlist wizard. Doesn't do anything yet except look pretty.
2010-10-24 23:46:05 +00:00
John Maguire
29d1e9e7cb
Add bizarrely named "mtime" to MPRIS.
...
Fixes issue #893
2010-10-19 11:20:50 +00:00
David Sansome
f55ffe15d6
Format the last played column more nicely
2010-10-17 20:53:15 +00:00
David Sansome
a13e0ba3f3
Increment play and skip counts when playing or skipping songs from the library
2010-10-17 19:27:31 +00:00
David Sansome
42e4c4a8db
Add a skipcount field to the database, and read the last played time into Song objects. (still not used in the GUI yet).
2010-10-17 17:50:20 +00:00
David Sansome
f5750bc348
More comments
2010-10-17 16:30:22 +00:00
David Sansome
eb9660edad
Parse FMPS ratings and played counts from mp3 id3v2 tags
2010-10-17 16:03:49 +00:00
David Sansome
95556df6aa
Move database schema into a subdirectory of data/
2010-10-17 11:22:34 +00:00
David Sansome
47004d0ac3
Fix album cover manager test
2010-10-16 18:21:28 +00:00
David Sansome
b5f366c40a
Add a thread safe network disk cache, and remove the need to pass a NetworkAccessManager around everywhere. Fixes issue #852
2010-10-16 17:20:54 +00:00
David Sansome
b97b2138fa
Play last.fm tag radio or similar artists radio when clicking on a tag in the song/artist info pane.
2010-10-16 15:22:14 +00:00
David Sansome
14fb4ca202
Ignore playlists when loading local directories. Fixes issue #886
2010-10-16 12:37:33 +00:00
John Maguire
2d19c2899a
Ignore engine metadata notifications if the song was previously loaded via taglib.
...
Fixes issue #880
Fixes issue #864
Fixes issue #574
2010-10-12 11:55:45 +00:00
David Sansome
2f3732e73e
Move lyrics into the song info pane, refactor out a load of the common code between artist and song info.
2010-10-10 16:09:20 +00:00
David Sansome
d09bae16ee
Don't crash when the receiver of a network get is destroyed before the request finishes
2010-10-09 14:15:05 +00:00
John Maguire
4c186f15dc
Add more fields to MPRIS GetMetadata
2010-09-29 17:03:32 +00:00
David Sansome
4f1a4fe39a
Some initial lyrics support. Scrapes all the sites that are supported by Amarok's Ultimate Lyrics script. No GUI or configuration yet.
2010-09-26 14:21:23 +00:00