1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-16 16:02:54 +02:00
Commit Graph

67 Commits

Author SHA1 Message Date
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
Benjamin Pracht
24c07775c1 * vlc_symbols.h, vlc_playlist.h, view.c : add a function to remove a parent from the parent list of an item (if anybody wants to make that another way...)
* playlist.m: implements full drag and drop of playlist items. Drop of multiple items and of items and nodes at the same time should be supported. You cannot mode service discovery items. This is a choice and can be changed if wanted.
* Hopes that compiles on current trunk (cannot check since latest comits on net functions broke the built of a half the modules and core of the OSX port...)
2005-07-01 20:48:48 +00:00
Gildas Bazin
5e5bf285f5 * include/vlc_playlist.h, src/playlist/playlist.c, src/video_output/video_output.c: added a lock to the playlist garbage collector to avoid a race condition with the vout creation/destruction. 2005-04-26 14:16:14 +00:00
Clément Stenac
9ceef3c75e * Playlist :
- fix crash when deleting current item
  - SAP: don't store pointers
  - don't pass pointers to interface in item-appended
  - remove VIEW_SIMPLE that was confusing and bug-generating

* wx: 
  - Fix open layout
  - Fix slider behaviour, patch by Greg Hazel
2005-04-13 17:43:12 +00:00
Clément Stenac
d41216c0fd * Fixes for wx2.5.5, patch by Greg Hazel <ghazel at gmail dot com>
I only changed two things in the patch 
* added a check for wx2.4 that does not seem to have sizer->Detach
* commented out the wxCheckVersion in open.cpp, which broke layouting under wx2.5.3
  (what was the intended behaviour ?)

* Added core support for a sorted by genre view
2005-04-10 18:40:52 +00:00
Sigmund Augdal Helberg
df15918b5a playlist: support for sorting a node based on numerical iterpretation of the
title
2005-04-10 11:03:57 +00:00
Sigmund Augdal Helberg
3fc7cdd5bc playlist/item.c, include/vlc_playlist.h: introduced playlist_ItemCopy
playlist/item-ext.c: O(log(N)) playlist_GetItemById()
2005-04-10 08:19:49 +00:00
Sigmund Augdal Helberg
984febc09a playlist: added a pp_all_items to playlist_t allowing GetItemById to return
nodes as well as items.
made playlist_Control not take the playlist lock, and created a
playlist_LockControl that does the same but takes the lock
2005-04-09 14:53:38 +00:00
Clément Stenac
8b3d3c15aa * wx : simplify some code, remove some useless duplications
hopefully prevent deadlocks

* API : add the b_force parameter to playlist_NodeDelete. If TRUE, nodes that are marked as read-only will also be deleted. Use with care.

* SAP/DAAP : Ensure that the  node gets removed on quit
* HAL : Remove the node on quit and fix f**age of the Close function
2005-02-06 12:05:43 +00:00
Clément Stenac
6c0ceeb39c Remove playlist info accessors (as they now belong to input_item) and use vlc_input_item_AddInfo and vlc_input_item_GetInfo instead 2005-01-16 14:10:47 +00:00
Clément Stenac
d8712f2ad1 No need to GuessType on directory content 2004-12-20 20:14:43 +00:00
Clément Stenac
c3550b59cc Better fix for wx deadlock with preparse
A few fixes
2004-12-14 17:42:42 +00:00
Clément Stenac
91d93983e6 * Provide playlist_LockFoo functions for some functions
* Fix deadlock with preparse
2004-12-14 11:40:09 +00:00
Clément Stenac
01aca2cc00 *experimental* input pre-parsing support.
Won't work for many things (only those for which metadata can be gotten during initialization).

Processing is done asynchronously, use playlist_PreparseEnqueue to add an item to the queue.
2004-12-10 18:58:22 +00:00
Clément Stenac
678c0546b0 Recursive sort 2004-11-22 09:37:58 +00:00
Clément Stenac
2b819bc143 Use item-append when an item is appended to a node -> don't rebuild the whole tree 2004-11-21 22:40:48 +00:00
Clément Stenac
e0d08374cf Sort a node (alphabetically, all sub-nodes come first) 2004-11-21 17:45:09 +00:00
Clément Stenac
3bb2997f39 * Add return values to all functions
* Fix locking issues in services discovery
* Add playlist_Replace function
* Beginning of playlist_TreeMove
* Fix some warnings
* Doxygen update
2004-11-17 21:38:23 +00:00
Clément Stenac
12f48a5b24 Add directory in wxWidgets
Update TODO
2004-11-13 23:06:53 +00:00
Clément Stenac
382926a8c1 include services discovery in interface 2004-11-08 23:47:32 +00:00
Clément Stenac
8b61d4ef61 Initial Services discovery support 2004-11-08 18:19:51 +00:00
Clément Stenac
211bbb8738 * Fixed autodelete
* Autodelete items played by the SDP demuxer
* Added playlist_CopyParents facility, for modules that use ItemToNode
2004-11-07 10:43:52 +00:00
Clément Stenac
f9d5e2baf5 Improvements to the playlist core 2004-11-06 11:17:46 +00:00
Sam Hocevar
2e11ee1562 * it's information, not informations (you missed some, dj :P) 2004-07-16 11:33:32 +00:00
Gildas Bazin
562ab59b24 * src/input/control.c: added INPUT_ADD_INFO/INPUT_SET_NAME to input_Control().
* src/input/input.c:
   + introduced input_item_t that is shared between the playlist/vlm and the input thread (contains input name, options, infos, etc...).
   + changed prototype of input_CreateThread() to input_thread_t *input_CreateThread( vlc_object_t *, input_item_t * ).
* ALL: use input_item_t and INPUT_ADD_INFO when necessary.
2004-03-31 20:52:31 +00:00
Clément Stenac
499a384591 Options as infos were bad in several ways: it broke PLAYLIST_GO, used
much memory, and was inconsistent, especially with input_CreateThread
taking an array of options

* Revert to using array of options

* To add an item with options:
    - either use playlist_ItemNew, ItemAddOption, and then AddItem
      (useful if you don't have all your options in an array)
    - either use playlist_AddExt (use this if all your options are
      already in an array)

* To add an item without options: use playlist_Add

You can still add options after an item has been added by using either
playlist_AddOption or playlist_ItemAddOption

* Attempt to improve API and solve thread safety issues.
  - playlist_Item* functions allow to touch items only.
    p_item->lock must be used when needed
    (playlist_ItemNew, playlist_ItemDelete, playlist_Item*Info,
     playlist_ItemSet* )

  - playlist_ItemGetById and ItemGetByPos give you playlist_items
    for GetByPos, you should have the playlist lock

At the moment, the playlist_Set* and playlist_*Info functions are kept (they work with position) but should be avoided.
2004-01-29 17:51:08 +00:00
Clément Stenac
6de15a630f * Strings review in include/
* Removed trailing spaces
2004-01-25 18:17:08 +00:00
Clément Stenac
37dbdbd8e1 * Doxygen doc fixes
* Add missing locks
* Duration sort
2004-01-23 10:48:08 +00:00
Clément Stenac
5dc722b554 * configure.ac : Added new folders
* New playlist import/export system:
   -export plugin in misc/playlist (contains one module for each file type)
   -open plugin = special demuxer2, that can be opened from the command
    line or the graphical interface.
  NB: the demuxer "playlist" is forced to earn speed, but this does not
  work yet, as we have a demux2

* modules/gui/wxwindows: use the new import/export.

* src/playlist/group.c : fixed boundary check

* src/playlist/item-ext.c: correctly reset stuff when clearing the playlist
2004-01-11 00:45:06 +00:00
Derk-Jan Hartman
767819540a * Fixed some doxygen comments.
* Added SORT_ID
* remember last sorting and ordering in playlist struct
2004-01-10 14:24:33 +00:00
Derk-Jan Hartman
0ce68cce73 * mtime_t != int This was causing incorrect results on big endian.
Changed playlist_SetDuration.
* changed SORT_NORMAL SORT_REVERSE into ORDER_NORMAL ORDER_REVERSE
2004-01-10 03:36:03 +00:00
Clément Stenac
982c016f90 - src/misc/win32_specific: compilation fix for win32 (can someone please
check that command line parsing still works for items and options? )

- src/libvlc.c
  include/vlc/vlc.h : New libvlc functions to get playlist status and
                      clear the playlist
     Patch by Tong Ka Man

- src/playlist/* : Update copyrights

- src/playlist/playlist.c:
  -When a user explicitely asks for an item, do play it, even if random mode
  -Do not stop playlist upon deletion of an autodelete item
  -playlist_Clear (Patch by Tong Ka Man)
2004-01-06 08:50:20 +00:00
Rocky Bernstein
12dc6ed79f Reinstate duration times on playlist item for CD-DA. Done via adding
an interface to allow setting the duration on adding a playlist item.
2004-01-06 04:57:34 +00:00
Clément Stenac
17557ea643 * Makefile.am : Added src/playlist/item-ext.c and src/playlist/info.c
* src/playlist/item.c
  src/playlist/info.c
  src/playlist/item-ext.c
  src/playlist/group.c
  src/playlist/sort.c
  src/playlist/loadsave.c
  include/vlc_playlist.h
      - New playlist_info structures and accessors
        It works pretty like the old input_info (with categories)
        It provides modularity to the playlist
      - Removed ppsz_options and i_options from playlist_item
        (we use the special category Options)
      - Added a unique id to each playlist_item to be able to track the
        items accross playlist reorders
      - Simplified adding of items.
           - playlist_AddExt is removed
           - playlist_AddItem is still here and exported but should not be used
           - use playlist_Add( p_playlist, uri, name, duration, mode, pos )
             and use the accessors for all other things
      - Added setters for fields of the playlist_item structure
      - Introduced "item-change" and "playlist-current" playlist variables
        to give more flexibility than only intf-change

      At the moment, duration is still in the structure (easier to use, IMHO)

* src/input/input.c
  src/libvlc.c :
        playlist item options parsing changed

* include/vlc_common.h : added playlist_info structures
2004-01-05 12:59:43 +00:00
Sigmund Augdal Helberg
ddc23167f9 all:
* in vlc, times are stored in microseconds. playlist_item_t::i_duration
   shouldn't be an exception
modules/gui/wxwindows/playlist.cpp:
 * fixed indentation
2003-12-03 21:58:43 +00:00