Commit Graph

101 Commits

Author SHA1 Message Date
Jean-Baptiste Kempf
a33fbe9023 DBUS: fix by Mr_Mirsal 2007-03-08 00:04:54 +00:00
Clément Stenac
85ff1461a2 * Start cleaning up libvlc playlist API (Refs:#457)
- Return correct item ids
  - Structures for navigating the playlist
  - Consistent locking
* Add a b_locked parameter to the remaining playlist API calls
2007-02-20 07:29:54 +00:00
Filippo Carone
1ae081bee3 playlist_ItemGetByInputId now included in libvlc 2007-02-11 21:18:13 +00:00
Clément Stenac
496a54201d * Do not take and release the structure lock for each element of the list while
releasing it. mutex locks /= 20 on a standard preparse run
* Only create absolutely necessary variables while preparsing
--> Preparse speed *= 4 (with item in disk cache of course)

* Do not rebuild playlist too much while adding a directory. Add a new flag
  to NodeCreate and Add to control this behaviour
2006-12-10 14:00:54 +00:00
Clément Stenac
fbf4c8060d A bit of vlc/libvlc cleanup:
* libvlc sources and plugins now define __LIBVLC__ and headers exported to
  plugins (ie, include/vlc_*.h) check for this
* libvlc sources use the value of the "libvlc" component in vlc-config instead
  of vlc
* Apply flags directly to "libvlc" in configure.ac - might temporarily break win32 :)
2006-12-03 13:48:21 +00:00
Clément Stenac
d3fe7f2879 A bit of headers cleanup
* Headers in include must contain the structures and prototypes needed
  by the plugins and should be named vlc_*.
* Headers in include/vlc must contain the structures and prototypes
  needed by external libvlc clients

* Moved and renamed some things in headers. 
   - Removed vlc_cpu.h, vlc_error.h (merged in vlc_common)
   - Removed snapshot.h (merged in vlc_vout.h)
   - Removed vlc_spu.h (merged in vlc_osd.h)
   - Removed intf_eject.h and vlc_interaction.h (merged in vlc_interface)
   - Moved all internal headers to src
   - Merged vlc_video.h and video_output.h and move private things to src
   - Removed vlc/intf.h, vlc/aout.h, vlc/vout.h, vlc/decoder.h and vlc/input.h
     (meta headers for use in modules, and often implying too large 
     dependencies)
* Removed some useless dependencies
* Unexported a bunch of functions and structures used only in src/
  (--> Still some work here)
* Finally made input_thread_t and input_source_t (mostly) private. 
  Added input_GetItem to fetch the input_item of an input_thread
* Cleaned up deprecated entries in vlc_symbols.h and bumped up symbol 
  prefix

This commit has a 99% probability of breaking the build, 0.1% of killing
your cat and 0% of getting you hot chicks.
2006-11-26 14:20:34 +00:00
Clément Stenac
420d5f170e * Documentation belongs to the .h, step 1
* Unexported a few internal functions
  (playlist_ItemDelete, playlist_ThreadCreate, playlist_ThreadDestroy)
* Remove playlist_AddSDModules and merge its features into ServicesDiscoveryAdd
* Fix a bug in signaling of node destruction (fixes Qt source selector assertion failures)
* Disable unused generic devices probe code
2006-11-19 14:37:04 +00:00
Antoine Cellerier
4bdf68b034 Small doxygen doc fix (i hope) 2006-11-19 14:04:06 +00:00
Clément Stenac
0900f11014 Finish the playlist API transition (hopefully)
- Remove a bunch of transition now-useless API.
 - Remove all playlist_Lock* functions. Matching functions now accept a
   b_locked parameter that should be set to VLC_TRUE if the playlist is
   locked when calling the function. The advantages are that it reduces
   the API bloat and that the b_locked flag can be propagated in the
   call stack
 - Remove useless playlist testsuite
 - Remove broken daap plugin (unmaintained wrt VLC API changes, relies on 
   an unmaintained library, probably unable to read content from new itunes, 
   ...). Implementations exist in rhythmbox, xmms2 and 
   daap-sharp, we should see if a proper lib exists or if we could 
   make one
 - Reduce verbosity a bit
 - Documentation
2006-11-19 13:20:02 +00:00
Clément Stenac
e8aa094f86 Preparse playlist items that don't have enough meta
If the item is not to be preparsed but has enough meta, mark it as preparsed
2006-11-12 18:19:49 +00:00
Clément Stenac
673861da5c * Remove some unneeded complexity in playlist and directory
* Remove some unneeded wrappers and locking
2006-11-11 23:37:25 +00:00
Rémi Denis-Courmont
717e0b68fe Ever const 2006-11-10 20:45:26 +00:00
Rémi Denis-Courmont
fad2848881 Some more const 2006-11-08 15:53:28 +00:00
Clément Stenac
d3217fc729 Clean up and improve core handling for album art. Still only "always fetch" implemented 2006-10-23 21:02:45 +00:00
Clément Stenac
b6d0e5a07a Rebuild the array of currently playing items as a background task.
This array is now usable as a reliable source of data for size
Use playlist_CurrentSize(p_playlist) to retrieve the size of the current playset.
2006-10-21 16:59:09 +00:00
Clément Stenac
2d3be24e0f Don't loop continuously the playlist thread, use cond.
Not tested heavily yet ...

For interaction implementers: you need to call playlist_Signal after changing the status of a dialog. Please see the diff for qt4/dialogs/interaction.cpp
2006-10-21 13:33:06 +00:00
Clément Stenac
799b2826ee Playlist
* Remove the random special case
 * Use the array of currently playing items for all cases
 * Convert array items to array API
 * Replace standard searches in sorted arrays by bsearches
 * Size is not yet fixed (next round).

Array
 * Add reset/value and bsearch functions
 * Add foreach helper
2006-10-21 11:09:51 +00:00
Clément Stenac
9cd8ee7b4e Improve drag&drop handling 2006-10-15 15:28:34 +00:00
Clément Stenac
0326005e1c Lazy allocation of the stat structure
Update stats in the input threads instead of playlist thread
2006-10-01 14:24:44 +00:00
Antoine Cellerier
2d90e869b4 Some more (mostly) untested stuff:
* Secondary queue items now have a b_fetch_art flag
 * You can use the playlist_AskForArtEnqueue function to ask for art from an interface. This will enqueue at the begining of the secondary queue
 * other stuff which i don't remember :)
 * (fix issues with previous (and unrelated) DIR_SEP commit)
2006-09-24 22:01:28 +00:00
Antoine Cellerier
560105460d Start of meta engine stuff. src/input/input.c needs to be fixed a bit. I'll finish it today. @zorglub: now you have to use the psz_arturl meta to display stuff in the interface. 2006-09-23 15:47:53 +00:00
Clément Stenac
6ecd4022a3 Remove vlc_object_find for playlist from the core 2006-09-15 22:10:37 +00:00
Clément Stenac
28d49d986f Store playlist object in instance-specific object 2006-09-15 16:18:08 +00:00
Clément Stenac
4e5e7e2dc0 Rename playlist_NodesCreateForSD to playlist_NodesPairCreate and document it 2006-09-15 11:43:22 +00:00
Clément Stenac
315069b3b1 Split playlist include file in public/private 2006-09-05 06:09:42 +00:00
Clément Stenac
98de0c4bd4 Start grabbing hotkeys in Qt. Unfinished 2006-09-03 21:53:38 +00:00
Clément Stenac
3f1e3abe35 Auto load and save media library (Closes:#433) 2006-09-03 17:31:02 +00:00
Clément Stenac
532a761def Re-enable random.
It is now based on a shuffled array of items, so that next + prev takes you back to what you were playing
2006-09-02 16:59:50 +00:00
Clément Stenac
fe8f7fc784 Fix a few quirks with playlist filters 2006-09-02 10:20:26 +00:00
Clément Stenac
948676af6e Fix for deletion of current item 2006-08-27 10:34:35 +00:00
Clément Stenac
6a42cf33fb * Allow service discoveries to state whether they prefer being displayed as tree
* Start putting together all interface strings (Refs:#703)
2006-08-26 16:51:55 +00:00
Clément Stenac
e6e82bdad0 Add functions to use the media library 2006-08-11 13:32:42 +00:00
Clément Stenac
a5df65a280 Fix sort by artist 2006-08-07 17:26:02 +00:00
Clément Stenac
f3c6bbcc0a Some infrastructure work for playlist autoload/autosave 2006-07-08 17:28:51 +00:00
Clément Stenac
06b57a510f * Add a "media-library" option to enable/disable ML
* Add a "playlist-tree" option to force onelevel/catgory mode
2006-06-14 20:09:51 +00:00
Clément Stenac
63db764f0e Fix vout/sout garbage collection and input spam debug messages 2006-06-08 18:59:14 +00:00
Clément Stenac
c21acbbcf5 * Remove unused playlist_ItemCopy
* Fix some debug
2006-05-25 09:52:57 +00:00
Clément Stenac
c6e29a7dda New helper to create nodes for services discovery 2006-05-15 05:57:19 +00:00
Clément Stenac
ed0b72e371 Merge back branch 0.8.6-playlist-vlm to trunk.
What is currently broken:
 * Some playlist demuxers (shout, dvb and pls)
 * DAAP
 * BeOS playlist
 * GPE playlist, I suppose

What has some trouble:
 * Meta handling in several demuxers (most notably TS)
 * Skins2 playlist (doesn't refresh correctly)
 * OS X playlist (see bigben's latest commits)
2006-05-14 18:29:00 +00:00
Antoine Cellerier
081c2366df Code the playlist_TreeMove function.
zorglub: i'm not really sure about the i_serial incrementation stuff, could you give it a look ?
2006-03-04 17:00:41 +00:00
Clément Stenac
1ab90751c0 Compute global input/output stats (Refs:#473) 2006-01-28 10:45:13 +00:00
Clément Stenac
6fbe51edaa Enqueue the item ID instead of pointer for preparse
Add a PLAYLIST_PREPARSE flag to tell that the item must be enqueued for preparse on add (not implemented yet).

Refs:#192
2006-01-21 16:44:36 +00:00
Antoine Cellerier
2cb472dba0 FSF address change. 2006-01-12 23:10:04 +00:00
Clément Stenac
1f319885ef Interaction facility (Refs:#27) 2005-12-06 19:09:20 +00:00
Clément Stenac
5afb060fb5 Very beginning of the interaction framework (Refs:#27) 2005-12-05 15:51:39 +00:00
Clément Stenac
28563cf139 Sort-by-album patch by Pierre Marc Dumuid 2005-09-15 17:42:24 +00:00
Antoine Cellerier
698c1a3d3a add new playlist_PreparseEnqueueItem function which preparses a playlist_item
and all its children.
2005-08-20 10:17:20 +00:00
Rémi Denis-Courmont
efeb7db736 Fix incorrect free() of const-qualified pointer in services_discovery.c 2005-07-10 08:55:16 +00:00
Rémi Denis-Courmont
fe087a3828 Make Zorglub less unhappy 2005-07-09 06:17:09 +00:00
Rémi Denis-Courmont
85b29bdc28 Copyright fixes
(da big courmischage)
2005-07-08 18:12:44 +00:00