This orders existing files into a new directory structure, to
group related elements together. The Xcode project is adapted
as well and reflects the same structure under macosx.
All includes include the subfolders now and are reordered and
cleaned up. Existing structure and alphabetic ordering shall be
kept.
The fullscreen window can have a new size if the fullscreen monitor
was switched or the user used split screen in between.
Center FS panel in those cases. Also constrain size as the new
available space might be smaller.
Limit dragging / moving of fullscreen panel to video content area.
This forbids dragging the fspanel outside of fullscreen. Also make
sure that the fs panel stays inside the video view if dragged, in
case the video view is smaller then the complete screen (this can
happen with macOS split screen feature).
win32, by ipkiss and myself...
Among the features:
- framework rewritten from scratch, heavily based on design patterns
=> new controls can be (hopefully) created more easily, portability
to other OS is better, and the interface is less dependant from
the vlc core
- new concept of "layout", to provide a window with several different
views (as in winamp3 skins)
- controls can now be placed at a relative position to the edges of
a window, which allow controls and layouts to be resizable (e.g
for the playlist window)
- Use of libpng and libfreetype2 for better portability between x11 and
win32 => ttf fonts and antialiasing
- New DTD for the xml theme ( *it will probably change again* )
- Very very beginning of scripting in the xml file
- And many things I miss
- And probably many bugs ;)
As for video output 4, this breaks almost everything, but I'll slowly
do what remains to be fixed during the weekend.
Changes in vlc:
===============
* vlc is now a very small program (20 lines) which uses the libvlc API;
it is quite simple for the moment but can be extended in the future.
* interfaces, decoders, video outputs, etc. are now almost the same
objects (yes, I know, this is C++ redone in C) and are structured in
a tree. More about this later, but basically it allows the following
nice features:
- several interfaces
- several playlists with several outputs
- input plugins spawning helper interfaces (will be used for DVD menus)
- anything spawning anything; I swear there are useful uses for this!
* libvlc can be used in other programs; I'm currently writing a Mozilla
plugin for my employer.
Things currently broken:
========================
* most interfaces, most ports
* the playlist handling (almost finished rewriting this though). This means
no file can be played from the GUI, you need to use the commandline. This
also means it segfaults at EOF, when exiting the program, and it sometimes
refuses to open a file when asked to.
title/chapter/audio/spu/angle, we tell the input to do intead of doing
it inside the interface. It results in fewer locks during the changes.
*The dvd plugin reads again blocks of 32 sectors to gain speed since
there are no more lock-ups during stream change. I've also created a new
file that contain function to described video and audio streams with ifo
datas.
The changes are made only for gtk. We should update the other interfaces
soon (beos at least).
There is a memory corruption somewhere that make the vlc crash. I've no
idea where to search.
*added a b_stopped flag to interface playlist to have a stop function in
interface plugins. As a consequence, the playlist no longer loops on end
but wait for the user to press 'play' or to add another item (gtk/gnome
interface). I think that other plugins are broken but it shouldn't be
difficult to repair: just add a 'p_main->p_playlist->b_stopped = 0' in
play functions and 'p_main->p_playlist->b_stopped = 1' when you have to
stop.
*Updated gtk interface so that it has the same features as gnome. I
think I will merge the code so that we don't have to copy and paste each
change. Only the .glade file would be different.