Commit Graph

98 Commits

Author SHA1 Message Date
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 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
Paweł Bara c8aed5fd30 further refactoring of duplicated playlist-insertion related code in RadioServices 2011-02-10 22:24:17 +00:00
Paweł Bara 38172c39b4 simplifying AddItems API of RadioService 2011-02-09 18:23:14 +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 b7cd42fe53 minor C++ stuff 2011-02-06 14:34:47 +00:00
Paweł Bara 82e92bb3ac library view has now three modes: 'all songs', 'duplicates only' and new 'untagged songs only' (check out the http://code.google.com/p/clementine-player/wiki/LibraryViewModes) - fixes issue #305
+ hiding the 'complexity' of QueryOptions filter and query_mode mutual exclusion behind it's API
2011-02-06 13:18:18 +00:00
Paweł Bara 2623a170a4 forgot this 2011-02-02 21:05:07 +00:00
David Sansome e4d9d54414 Link Clementine against SIP and PyQt on Windows, and add the modules to python's inittab 2011-01-31 23:44:44 +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
David Sansome 618aec2c74 Clean module dicts properly when unloading a script - works around a bug in Python 2.7.0 only 2011-01-29 00:57:58 +00:00
David Sansome bcc35ec29c Add a test for stuff in the module's global dict 2011-01-28 21:43:10 +00:00
David Sansome 9ca237bfa2 Add a unit test for some basic python scripting functionality 2011-01-28 20:52:38 +00:00
John Maguire c39a514f2b Add close shortcut to script dialog. 2011-01-24 17:06:21 +00:00
David Sansome 3f9dec3808 Add an "Install script from file..." button 2011-01-18 23:10:22 +00:00
Paweł Bara 07739d6c68 Python bindings for LibraryView + new UI hook for plugins: the view's context menu
support for IN operator in LibraryQuery.AddWhere
2011-01-18 16:34:43 +00:00
John Maguire 2c9964ffa9 zomg scripting support on Mac. 2011-01-18 14:02:51 +00:00
David Sansome 472ab04e97 Make libarchive optional, disable loading scripts from archives if it's not present. 2011-01-18 13:44:12 +00:00
Paweł Bara 3cfca9e926 fixes segfault introduced in last commit 2011-01-17 20:57:00 +00:00
David Sansome 35a61de0a4 Refactor ScriptInfo into another class, add some (currently unused) code to read scripts from archives. 2011-01-17 20:01: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
John Maguire d7df24816c Fix mac build. 2011-01-16 17:26:25 +00:00
David Sansome 7e9452f48d Fix the mac and windows builds 2011-01-16 16:43:19 +00:00
David Sansome 5eb916cdff Watch script directories for changes 2011-01-16 15:11:23 +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
David Sansome 5c29a62b19 Convert QObject subclasses to clementine wrapped python types properly when calling python functions 2011-01-15 17:59:33 +00:00
David Sansome 839e81b674 Fix a segfault when unloading a script that has registered actions, but they are deleted during unload 2011-01-15 16:55:21 +00:00
David Sansome dd5f5d16ae Move the script console into a developer mode extension 2011-01-15 16:20:16 +00:00
David Sansome c6d724f53a Add Python bindings for PlaylistParser 2011-01-15 13:59:34 +00:00
David Sansome 32b599f70c Add python bindings for the NetworkManager, SongLoader and IconLoader. Add a workaround for a SIP assertion bug (assign_helper != ((void *)0)) that was fixed in 4.10.3: http://www.riverbankcomputing.com/hg/sip/rev/3e647ed0f2a2 2011-01-15 00:55:45 +00:00
David Sansome 4e0cf13b26 Add python bindings for RadioService, RadioModel, MergedProxyModel, TaskManager and SettingsDialog. Make sure radio services are removed from the model when they are deleted (eg. when their python script gets unloaded) 2011-01-12 21:20:20 +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 3a3cba3a85 Add bindings for Queue and PlaylistSequence 2011-01-03 15:49:41 +00:00
David Sansome e1b899bc61 Add python bindings for the library 2011-01-03 15:15:51 +00:00
David Sansome 385753ad4f Oops 2011-01-02 18:22:22 +00:00
David Sansome a79ca8c556 Let scripts register actions at predefined locations in the UI 2011-01-02 18:10:26 +00:00
David Sansome fdc2ec2e73 Better (read: some) error handling when the clementine module can't be imported 2011-01-02 16:09:14 +00:00
David Sansome cdac0c6c86 Add python bindings for Playlist and PlaylistManager 2011-01-02 03:25:15 +00:00
David Sansome cfbbd3665c Show the script console tab in red if an error has occurred 2011-01-02 02:46:16 +00:00
David Sansome 5cadf923fc Unload scripts properly 2011-01-02 02:23:10 +00:00
David Sansome 7a7597500b Set __path__ properly so scripts can import other modules, and put all scripts in a namespace 2011-01-02 01:33:54 +00:00
David Sansome c8d8ef208d Don't create a separate interpreter for each script (it's not very well supported), instead create a module for each one. Redirect sys.stdout and sys.stderr to the clementine console. 2011-01-02 01:07:19 +00:00
David Sansome 11f4157f6f Let scripts show a settings dialog 2011-01-01 19:03:33 +00:00
David Sansome 2bbbda7714 Add buttons to the script manager to enable and disable scripts, and remember which ones were enabled and start them on startup 2011-01-01 18:37:08 +00:00
David Sansome dac0d071ea Add bindings for Song, PlaylistItem, PlaylistItemPtr and EngineBase, add a "player" attribute to the clementine module 2010-12-31 20:29:52 +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