* 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 :)
* 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.
When true, the interface will automatically start playing the playlist when (and only when) it is ready. (particularly useful for embedded vouts).
* src/libvlc.c, src/vlc.c: new VLC_AddIntf() prototype.
* src/interface/interface.c: if the interface doesn't support "playing on start", do it ourselves.
* modules/gui/wxwindows/wxwindows.cpp: implement "play on start".
* modules/gui/wxwindows/video.cpp: implement vout_ControlWindow().
* modules/video_output/directx/events.c, modules/video_output/x11/xcommon.c:
+ call vout_ControlWindow() when resizing in embedded mode.
+ implemented a VOUT_REPARENT/CLOSE mode in Control() so the interface can signal that it closes its video window.
+ new input_Control() function (doesn't do much for now).
+ started bookmarks support through input_Control().
+ new --bookmarks={name=foo,bytes=foo,time=foo},{...} config option.
* src/video_output/*:
+ started support for embeddable vouts (vout_RequestWindow()/vout_ReleaseWindow())
+ new --video-x/y config options
- splitted the enormous playlist.c file
- implemented a better item group system: groups have a name
and must be created before use by
playlist_CreateGroup( p_playlist, "newgroupname")
* modules/misc/sap.c
- Create our own playlist group ("SAP") and use it
* modules/access/slp.c
- Create our own playlist group ("SLP") and use it
* modules/demux/util/id3tag.c
- Trigger playlist update when we have parsed our tag
* modules/gui/wxwindows/interface.cpp
- Fixed the about box by using vlc_wraptext
- Added the simple open and the streaming wizard icons
*** Icons need to be changed ! ***
- Added the visualization to the extended gui
* modules/gui/wxwindows/preferences.cpp && include/vlc_help.h
- Enlarged the window to fit the wrapped text
- Added help for audio encoders
* modules/gui/wxwindows/stream.cpp & open.cpp & include/vlc_interface.h
- Created a "streaming wizard" window (3-step streaming)
* modules/gui/wxwindows/iteminfo.cpp:
- Group change is now based on the name
* modules/gui/wxwindows/playlist.cpp
- Added author and group columns to the listview
- Redesigned the window
- Added the Sort menu with several criteria (title, author, group)
- Added up/down buttons to move an item in the playlist
- Added the group menu to enable/disable a group in an understandable way
TODO:
-----
* playlist core :
- Implement advanced sort capabilities (multi-criteria)
- File format to save the new features
- export playlist (to M3U, eg)
- more robust group creation (duplicates check, ...)
* wxWindows playlist:
The idea of a treeview seems impossible, because of wxWindow's treeview,
that don't allow multi-selection, and, as far as I know, multi-columns.
- Provide a frontend to advanced sort (when it's done :-) )
- Allow moving items by drag & drop (well, if possible, haven't checked yet)
- Allow moving several items at once
- Customizable listview (ability to remove/move columns)
- Find a solution to the focus problem
(when you change track, the selected one scrolls at the
bottom of the visible screen)
* wxWindows interface:
- New icons, our icons begin to get old and not so pretty
- Find a solution for the volume bar (nobody understands what it is)
Use wxApp::OnExit() to cleanup the dialogs provider.
Added a "Miscellaneous" section to the menu. Added a "Switch interface" and "Add interface" entries to this menu.
* modules/gui/skins/src/*: dialog providers have object types of VLC_OBJECT_DIALOGS.
Don't forget to attach/detach the dialogs provider to its parent intf.
Work around a bug in imlib2 when we close the plugin.
* src/misc/objects.c, include/vlc_objects.h: added VLC_OBJECT_DIALOGS for dialogs providers.
* src/interface/interface.c, include/vlc_interface.h: added 2 object variables to switch/add interfaces on the fly (intf-switch and intf-add).
Dialog providers expose an api that allow other modules to use the GUI dialogs the module provides (open dialogs, etc...).
+ misc small enhancements.
* modules/gui/skins/*: completely removed the dependancy on the wxwindows code (which also eliminates the need for the basic_skins module).
The skins module will now try to load a "dialogs provider" to display the open, messages, file info and preferences dialogs.