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.
- r�indentation de quelques bouts de code
- les plugins vont �tre cherch�s en priorit� dans . puis ./plugins
puis dans le r�pertoire habituel
- d�but de communication entre le thread gnome et l'input
- l'interface gnome ne segfaulte plus en sortant
- le menu "Exit" fonctionne
10 avril:
- fen�tre Gnome au lieu de fen�tre Gtk
*** ATTENTION *** l'interface Gnome n'est vraiment qu'un d�but, soyez
gentils de ne pas faire de bug report si un bouton ne fonctionne pas.
- popup "About"
11 avril:
- fen�tre playlist (rien dedans encore)
- masquage du pointeur souris
- popup menu dans la fen�tre vout
- hide/show des fen�tres playlist
- les boutons "Exit" fonctionnent quel que soit le menu
12 avril:
- d�but du cassage des channels
- d�but des menus g�n�r�s en runtime
13 avril:
- ajout du target "snapshot" dans le makefile
14 avril:
- d�codage de tous les sous-titres connus
- spu_decoder.c ne segfaulte plus quand on quitte
- rajout du flag b_active dans la structure audio_decoder
- le bouton pause fonctionne
. la palette des sous-titres par d�faut est moins affreuse.
Bugs que j'avais oubli�s:
. ne marchent qu'en 16 bits (devrait se fixer vite)
. parfois quelques glitches graphiques que je ne comprends pas.
. encore un peu de parsage de sous-titres
. affichage des sous-titres.
BUGS:
. �a segfaulte toujours au moment o� on quitte, mais c'est le probl�me
habituel, �a sera r�gl�.
. pour le moment ils sont en noir et blanc, parce qu'il faut aller
chercher cette putain de palette dans les .IFO du dvd et que pour
l'instant j'ai la flemme
. les sous-titres ne sont pas affich�s comme il faut si la largeur
de l'�cran n'est pas 720.
. dimensions par d�faut mises � 720x576 (format DVD) au lieu de 640x480
pour la raison �voqu�e ci-dessus. mais �a sera r�gl� bient�t.
. pas de gestion de transparence, coordonn�es, fade in/fade out
. pas de gestion de date : le sous-titre est affich� d�s qu'il est re�u
et n'est pas effac� tant qu'on en a pas re�u un nouveau.
le flood, c'est la derni�re fois.
. apr�s le demoronifier, le GPLifier: il y a les ent�tes de la GPL dans
chaque fichier ; votre mission, si vous l'acceptez, est de mettre votre
nom dans chaque fichier qui est votre oeuvre ou auquel vous avez
particip�, pour qu'on sache qui a fait quoi. Pas de fausse modestie,
c'est plus pour des raisons pratiques que pour la gloire.
. rajout de -lthreads pour que �a linke sous Hurd
. rajout de quelques #include pour que �a compile sous FreeBSD
(d'ailleurs �a compile mais �a ne linke pas, je ne sais pas comment
linker avec la libpthread sur la machine de Dae)
. quelques #ifdef SYS_BSD �� et l�.
Bon ben voila, j'ai commence a bouger les .h comme je voulais le faire...
C'est encore un peu le bordel et j'en suis desole. Mais je compte bien
deplacer des trucs jusqu'a ce que ca soit a nouveau bien range :)
D�sol� pour le flood. Les en-t�tes de fonctions ne font plus 81
caract�res, et il n'y a plus d'espaces inutiles, Tous les trailing
spaces ont disparu, j'ai essay� de v�rifier que �a ne p�tait rien,
mais j'ai pu oublier un truc con. J'accepte tous types de ch�timents
� base d'orties fra�ches.
D�sol� d'avoir aussi modifi� les fichiers de ceux qui formataient
bien proprement leurs en-t�tes � 80 et pas 79 sans emb�ter personne,
mais j'ai d� choisir entre les deux.
Dor�navant ce serait bien de formater les en-t�tes et les commentaires
justifi�s � droite � 79 colonnes, ou au pire � 80.
. 1343 moronic long lines destroyed
. 12893 trailing spaces eradicated
. 115 ugly macros fixed
. 959 innocent a_bit_long lines shortened
But hey, 40054 lines were OK !