Toyunda/toyunda
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Welcome in this readme, you will find informations about the project structure and requierement to build it. 1 - Structure The projet have many components, a Gui for playing the karaoke, a pseudo library, plugins for the library and, toyunda player implementation, a tools to create toyunda time and some tools. -GuiliGui is gui to launch karaoke players. -QToyunda lib is a pseudo library that containt the logic for the osd player -QToyunda Plugins are the fonctional part of the qtoyunda-lib -qtoyunda-cmd a command line tool to have more advanced acces to option of qtoyunda-plugin, see ./qtoyunda-cmd --help -Gstreamer-toyunda is a toyunda implementation using gstreamer -QToyTime is a software to create toyunda time Don't be confused, I use QToyunda-lib for QToyunda lib + plugins and Gst-Toyunda for Gstreamer-toyunda 2 - QToyunda lib qtoyunda-lib directory contains a pseudo library QToyunda, with a helper class QToyunda that hide the details of player/renderer synchronysing and subparsing. It's a pseudo library as it's just built as a static library, it's not a big project so I don't see the point of making it a real dynamic library. qtoyunda logic is : We have players that play the stream and provide synchronysation signals We have a toyundasubstream class that manage the subtitle stream we have renderer that render the toyundasubstream. The QToyunda class loads plugins, connect renderer/player and subparser and proxypass signal of the player (like playing, stopped..). A minimal qtoyunda application will look like that : QToyunda *toyunda = new toyunda("qgstaudio", "qosd", "path/to/plugins"); toyunda->loadPlugins(); toyunda->init(); // Init and connect player/renderer/subparser toyunda->open("My little pony.txt", "My little pony.avi"); toyunda->play(); 3 - GuiliGuili GuiliGuili is a small Gui for the project, the goal is to provide a simple and easy to use interface for playing toyunda songs. 4 - QToyunda Plugins Plugins provide the player and renderer part for QToyunda lib. As toyunda have only a subtitle format, the subparser is in the core There are many goals of having them in plugin and not directly in the QToyunda core : -Reduce dependancies of the base project, (only depend on QtCore and QtGui (fucking qcolor class)) -provide different feature, eg : fakeplayer and debugrenderer for developpers, real player and renderer for user -fit the target plateform, eg : maybe provide QuickTime based player for os X see plugins directory to have more informations on plugins 5 - GStreamer Toyunda The Gstreamer Toyunda is a reimplementation of the toyunda using the gstreamer SDK (0.10.36) There is a gstreamer plugin and a small gstreamer/gtk application that use the plugin with a common gstreamer pipeline. 6 - QToyTime QToyTime is an application to create or edit toyunda time, it include many feature, like syntax coloration for lyr format, chaning speed of video and more. HOW TO COMPILE ALL OF THIS Needed library : In you just want to play with the source code and don't have a real player : Only Qt SDK, you will have a fake player, a debug renderer and the qosd renderer Don't forget to delete qgstaudio.pro in plugins.pro file located in plugins directory In you want all supported stuff : Qt SDK, gstreamer SDK, qtgstreamer Plateform notes : On Linux : first, install the devel package of the library needed, you also need libxfixes-devel for qosd renderer For gstreamer, don't forget to check your distribution's documentation to have non free codecs (usualy gstreamer-plugin-bad) Building : for all Qt related project -run 'qmake-qt4' in the project directory (toyunda) -then 'make' for Gstreamer-toyunda : go in the gstreamer-toyunda directory -run 'cmake .' (you probably have to install some library to pass this) -then 'make' For now you can't install (like make install), all binaries/.so go in the "build" directory -run what you want from the build directory You probably need to set GST_PLUGIN_PATH to gsttoyunda to launch the players based on the toyunda gstreamer plugin. On Windows : If you just want a "out of box" working QToyunda, go to the qtoyunda website and download the installer If You want to compile QToyunda and co on Windows : ok you are crazy. DON'T MAKE RELEASE BUILD, QtGStreamer seems having a prob with QTimer (need futher investigation) I use Qtcreator + MSVC 10 (Visual Studio 2012) as compiler 1/Download and install Qtcreator and Qt SDK compiled with Visual Studio 2012 (search on qt-project website) 2/Install the gstreamer sdk from gstreamer.com (not .net), runtime and developpement files 3/Go to Qt-gstreamer wikipage to know how compile QtGStreamer (search an archive of this file, it's currently not available) http://gstreamer.freedesktop.org/wiki/QtGStreamer/BuildingOnWindows 4/ Ok you got gstreamer and qt-gstreamer. Open toyunda.pro with QtCreator (check if he use the good Qt version (msvc) if you have the MinGW version also installed), edit plugins/qgstaudio.pro and qtoytime.pro include/lib variable if you install qt-gstreamer in different location from the documentation. 5/ Compile the project. 6/ For gstreamer-toyunda open the gstreamer-toyunda Visual Studio solution, maybe you will have to fix the property files path (see gstreamer sdk documentation) 7/ Edit the deploy_win32.bat in the build directory to change the path of the variable 8/ Run deploy_win32.bat in the build directory 9/ You should have a working toyunda project You have to run deploy_win32.bat each time you change something in gstreamer-toyunda
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published