jb, 26y

Keyword - Qt4

Entries feed - Comments feed

Saturday, May 23 2009

Want to include vlc in your Qt application?

Qt and VLC

Well, we have a very easy howto for you: libVLC in Qt .

This will output the video inside the widget that you want using QWidget::winId() method.

This has been tested on Linux and Windows, using libVLC 0.9.9.

Need

If you can't build your application easily, remember to install libvlc-dev or to use the SDK for windows from the .zip files of the releases!

Participate

Don't hesitate to complete this!

Thursday, April 30 2009

VLC and IDE

I receive many questions about using an IDE to build VLC.

Usually, the answer is VIM. But I will try to introduce something else today.

Needs

Yeah, VIM is TEH awesome, but sometimes we would like more. But usually, more is slow, incomplete and boring...

Would you want an editor with:

  • VIM syntax and command,
  • Completion that is faster than the one from Eclipse
  • Git inclusion
  • Doesn't eat all your RAM
  • Debuggueur and step-by-step+breakpoints integration like MSVC?

I guess so!

Believe it or not, there is a solution: QtCreator from Nokia/QtSoftware that I have tested to work with VLC.

Even if you don't think this will be useful for you, at least read in diagonale the following post.

Installation

  • Take QtCreator 1.1 (don't take older versions, they won't fit for VLC, or the VIM part will suck...)
   `apt-get install qtcreator` in Debian/Sid
  • Take Qt4.5.1 (I mean it, Qt 4.5.0 is buggy!)

Setup

General Setup

  • Run QtCreator and launch Tools->options
    • Activate FakeVim and set ShiftWidth to 4
    • Text Editor->Behaviour, set Tab size at 4
    • Text Editor->Display, enable Text Wrapping and display right margin, and if you like Alexis' vim, Visualize whitespace
    • Text Editor, change the colour schemes to match you old editor ;)
  • Save options.

VLC Setup

For the example, I assume that you build your vlc in a "build" subdir of the source (as xtophe usually gives advice)

 * File->New
   Select 'Import of Makefile-based Project'
   -
   Project Name 'VLC'
   Location '/home/you/vlc' and Choose, Next
   -
   Let it process... It should take around 1minute
   Finish.
  • EXIT QtCreator... I MEAN it.

Setup Indexation

QtCreator will have done VLC.includes VLC.creator, VLC.files and a VLC.config in your vlc/ folder.

Overwrite the VLC.includes and the VLC.files with the one you can find:

Doing this will gain you some time. Those could be auto-generated one day, I guess...

Setup Build

Relaunch QtCreator

  • Select Projects (on the left) and select VLC on the list
  • Build Settings,
    • Change Build directory to /home/you/vlc/build, using browse
  • Run Settings,
    • Add a custom Executable with the blue '+'
    • Name it VLC, browse to /home/you/vlc/build/vlc for Executable
    • Put -Iqt in Arguments
  • Click on Edit on the left. You should see VLC with most useful files.

Build VLC and launch it.

  • In the Menu, Build and Build All, you should see the Compilation output on the bottom (or by clicking on the left build progressbar)
  • In the same menu, Build and Run it, and VLC will launch directly, outputting everything in the Application output.

Cool. But that was just a minimum...

Using it like VIM: Good!

Open modules/codec/avcodec/audio.c from the file browser and see... You are using VIM commands to control. You have Visual, Edit and all usual VIM modes!

  • Completion is triggered with Ctrl+Space and will give you a list. If there is no ambiguition, it is filled.
  • . and -> triggers the list of the members of the struct or the class by default.
  • After function completions, it will give the type of the arguments.
  • F2 will give you access to the function definition where your mouse is.

Debugging it: awesome!

  • You can put breakpoints in the margins near the line numbers. (Like in modules/gui/qt4/main_interface.cpp:100 and 108)
  • Now re run it using debug running.

It will stop at your breakpoint and you will have the function call lists (and line numbers) but also pointers values (like p_intf, and this in main_interface.cpp) http://people.videolan.org/~jb/QtCreator/VLC_Qt_Creator.png

You can, of course Step In, Step Into and Step Out, resume or stop the code

More coolness:

Locate

Use the locate search box to find quick declarations: 'm vlc_object_act' will help you to go quickly to the method declaration, etc...

Git

Use the Git menu to checkout from within QtCreator.

Nota Bene

The indexing shouldn't be too long, but could be a bit longer the first time you launch the project!

Have fun!

Thursday, November 27 2008

Evaluation of Google Summer of Code 2008 for VideoLAN

This is a post to summarize and evaluate the work that we did this year, compared to last year too.

This was our second year of the Google Summer of Code project.

Continue reading...

Monday, November 3 2008

VLC 0.9-1.0 with native GTK Open File Dialog.

Since the latest discussions and comments on this very blog: VLC media player and GTK, here is some work to make VLC use native GTK File Open:

Profit.

Wednesday, May 21 2008

VLC media player and GTK

Switch to Qt4

As many of you know now, VLC main interface will switch to Qt4 for many reasons that we have already detailed.

GTK issues

Many GNOME users are not pleased because of the differences between the look of Qt applications and native looks of GNOME/GTK application.

Solution

Trolltech has made a new QGtkStyle that uses GTK to design the widgets. Then you can have a VLC using Qt that seems exactly like any Gtk application.

Screenshots

Wednesday, January 23 2008

KDE4

Après 2 ans et demi de développement, le nouvel environnement de bureau pour Linux et Unix, KDE4, a été présenté officiellement, lors d’une rencontre de la communauté KDE, dans les locaux de Google, à Mountain View (CA), du 17 au 19 janvier. Lors de cette rencontre, à laquelle a participé le service scientifique de San Francisco, de nombreuses présentations, annonces, réunions et conférences ont posés les bases pour le futur de la plateforme KDE.

KDE4 est un changement radical dans la suite KDE. Redéveloppé complètement en se basant sur la version 4 de la plateforme Qt, KDE4 introduit un bureau intégralement redessiné, une utilisation de la composition dans le gestionnaire de fenêtres, une intégration de widgets dans le bureau et a développé de nombreuses abstractions afin de simplifier l’écriture des applications basée sur cette plateforme.

L’utilisation de la composition d’affichage (utilisation de la carte graphique pour créer le rendu du bureau) permet d’ajouter des effets en tant réel de transparences, d’éclairage, de modification de tailles et d’effets 3D, afin d’améliorer l’accessibilité, la productivité sans affecter les performances. Le gestionnaire de fenêtre, KWin4, utilise les librairies OpenGL, Xrender ou un mode intégralement logiciel, en fonction des capacités du matériel.

En parallèle du travail sur KWin, le projet Oxygen a regroupé des designers, des artistes et des spécialistes de l’ergonomie afin de changer le look complet de toutes les applications et de toutes les icônes. Ce projet, utilisant uniquement des graphismes vectoriels (SVG) permet d’avoir un bureau d’une grande qualité et indépendant de la résolution native du matériel.

Outre KWin et Oxygen, l’élément le plus visible pour les utilisateurs se présente sous la refonte du bureau et des widgets : Plasma. La véritable différentiation entre ces widgets et ceux de la concurrence réside dans le fait que la barre des tâches est composée de widgets et le fait que le bureau les intègre nativement. Ainsi, il est possible de ne plus avoir de barre de tâches, d’avoir un dashboard apparaissant au dessus des applications ou d’en intégrer dans le bureau. Bien sûr, Plasma est entièrement vectoriel, ce qui permet de redimensionner et de transformer à la volée les widgets.

KDE4, outre ces changements graphiques introduit de très nombreuses couches et abstractions pour sa plateforme et les applications dérivées. Phonon, Solid, Decibel, Kross, Akonadi, NepoMuk, Khalki, Sonnet et Strigi en sont les principaux. L’intérêt est de simplifier le développement et l’intégration des applications. Par exemple, Solid expose une abstraction de l’état du matériel et des périphériques, et en gère les évènements. Ainsi une application qui par exemple gère des baladeurs numériques n’a pas à se soucier des différents types de connexions. Phonon permet de développer des applications multimédias sans s’occuper des couches basses tels que les filtres, les codecs ou les sorties audio. Ces abstractions permettent, entre autres, de proposer une couche intermédiaire d’unification pour le scripting, la recherche de fichiers, les contacts et les mails, les communications instantanées ou la correction orthographique à l’intérieur de toutes les applications.

KDE4 a aussi repensé la plupart de ses applications « cœurs » ; Dolphin, le gestionnaire de fichiers a été simplifié et séparé du navigateur internet ; Konqueror, le navigateur internet se base sur le nouveau moteur de rendu WebKit, qui en fait une des applications respectant le mieux les standards du Web ; Okular, le visionneur de documents, supporte de nombreux nouveaux fomats et a été fortement accéléré. D’autres applications comme Kopete, Amarok ou Marble sont encore en développement. La suite KOffice prépare une version 2, basée sur KDE4 pour la fin de l’année. Nativement basée sur OpenDocument, et intégrant de nombreux modules, elle compte concurrencer les autres grandes suites déjà présentes sur le marché.

La dernière grande nouveauté de KDE4 se trouve dans la possibilité de faire fonctionner les applications KDE sous Windows et sous MacOS X, grâce à la portabilité de Qt, des abstractions de la plateforme KDE et de la modification du système de compilation, dorénavant basé sur CMake et non plus les classiques autotools.

- page 1 of 2


Jean-Baptiste KEMPF | jean-baptiste.kempf _(at)_ via.ecp.fr | Powered by Chaussure | xHtml et CSS valide