Yeah the year is comming to an end and I don't think I will achieve my goal of releasing 0.0.9 this year. Oh well, there is always a tomorrow :)
And now to something completely different.
I update CVS but before you run and get the latest source let me tell you what has changed.
When I released version 0.0.8 I wanted to spit out 0.0.9 as fast as possible with the only real addition of movie menues and movie buttons. I found out that I was missing a few bits and pieces to get this working and started implementing the missing parts. Now after two months I reached the point where I can start working on this one feature I was craving so long. So this is what I will focus on next.
Once I have a basic scheme in I will only fix the bugs I find during the test period; add Cut, Copy and Paste and will be able to get the next release out.
Grrrreat news : I have gotten some money which will go towards the VPEP program as promissed.
Thank you so much to every one who donated. |
Ahh holiday season. there is some magic in the air and while there is no snow in DC it definitely is in other places.
This all makes me nearly forget that today was my last day at work. Beeing layed off after 7.5 years is not easy and so I will do no more programming in the metro. For now I am unemployed as I have to wait for my work permit to arrive (imagine a clock ticking very, very slowly as I wait).
Anyhow I am going to put a page up where you can donate some money to us through Pay Pal. Please don't get me wrong this is not to keep us alive, I will put all received donations towards the Virginia Prepaied Educational Program (VPEP) for my son.
Oh and by the way, I updated CVS yesterday.
After reading all available documentation, asking some questions and a few days of trial and error I decided it was about time to put the VLC implementation on hold. Currently VLC does not come with a shared library and I was unsuccessfull in linking against the static library.
So I went back to work and clean up the project files and spend some time on the Configurator - GUI and implemented a new algorithm to calculate the remaining compilation steps, fixed some minor bugs and ensured that re-linking only occurs when the settings have actually changed.
I also store now the dropped objects in the temp directory and fixed the media preview when loading a project file.
I will now focus on the Undo functionality to get at least a few parts of it working before the next release and fix some issues with the dvdauthor.xml - file.
Phew ... After finding not one useable, simple, one-file-based implementation for MPlayer I decided to write my own. This was fun ---NOT---.
Anyhow, having implemented the QMPlayerWidget and the associated MPlayerWidget - interface class to 'Q' DVD-Author I went on and implemented the MPlayerInfo class and the DialogMPlayerSetup - GUI to wrap up all that was needed for the MPlayer integration.
I have to admit that I like the Xine API much better but this is in the eye of the beholder I guess.
For all of the impatient ones amongst you, I updated CVS. So go and get yourself some yummie source.
Next I will have the honor of repeating exactly what I just did for the VLC libraries. Hmmm, maybe I also implement the (HTCPCP/1.0) protocoll, I surely could use it.
Aussie merci a Etienne pour m'aider avec le guide francais.
I added Doxyfile to the ROOT/doc - directory. You can now generate the source file documentation if you have doxygen installed. This is like most of the new stuff in the early stages. I will try to make the source code now more readable. The generated html pages can then be found under ROOT/doc/doxy/index.html .
Also I updated the screenshot's page. Check out the new MainWindow, you might notice the tiny buttons next to the movie files. |
I finished the implementation of KaffeinesWidget (interface to KXineWidget from the kaffeine project) and you have now two xine backends to choose from. You ask why I implemented a second xine backend. The first (QXineWidget) was derived from an older kaffeine source and maintained by me. I hate to discharge code I wrote. So there you have it ... only selfish reasons.
I am currently implementing the mplayer interface. It took me two days to figure out how to handle mplayer to integrate into 'Q' DVD-Author but I am now OnTrack in getting there.
A quick heads up on what is going on behind the scenes.
So how are we looking for the next release you ask ...
I solved a grand total of 76 points on my todo list since version 0.0.8 and have only another 52 points to go to reach version 0.0.9.
The biggest points on that list are the implementation of the other MediaEngine's interface (currently I only implemented one version of a xine interface). Movie Buttons is a big must for the next release (see also MakeMovingMenus).
Then we need to take care of the new file format for projects to be able to store and restore dropped images. Get some more undo functionality working, add a recent files list and some code cleanup and a ton of bug squishing.
As you can see I am working hard to get you a long-enough-compilation-time-coffee-break. My Laptop (500MHz) compiles at a whopping 29.56 minutes actually is enough for a whole breakfast.
After fighting with the QListView for about three days I gave up on a nice coloring scheme. When I find some more time to play I might get back on this one.
I plugged in the Thumbnails for the SourceToolbar and added Drag'n Drop support for Images and Text. Of course if you drag it from the SourceToolbar you get a nice ImageButton, from any other source (E.g. Konqueror or mozilla) you'll get a new ImageObject. In order to have a usefull Drag'n Drop support I added a new tab into the SetupDialog here you can adjust some settings, check it out (CVS will be updated tonight).
Also I included the first rough Undo - functionality (yeah put those classes to work, will 'ya). Although it does not return the expected result I will soon force it to do so.
I am now in the process of implementing the logic to store the new settings of the SetupDialog in the init - file and will then move on towards some modifications in the Project file. Namely adding the storage of Dropped objects to it.
Warning : I made so many changes in the past few weeks that at this point 'Q' DVD-Author if fairly unstable and will crash more often then not. But not to worry as those wounds will heal over time and the added functionality is well worth the effort. Also at this point the whole process is rather slow (generating Thumbnails etc) which I will address in the future. I already started coding on a background task to obtain all of those information.
I implemented the MediaInfo-class, derived the XineInfo-class, and returned 'Q' DVD-Author and QPlayer to the previous level of functionality.
I am now focusing on the SourceToolbar, where I will add some media previews and Drag'n drop before turning my attention to the ChapterDialog.
But I have still a lot of misc. functionality to take care off before the next release. E.g. starting implementing some UndoObjects, Cut/Copy/Past, a basic file conversion interface (know your interface) and automatic ImageButtons from inserted movie sources.
Once these topics are handled to my satisfaction I also want to implement the two missing MediaEngine-classes to foster the power of Multimedia. Phew, the latest Line count returned 46446 LOC.
And Finally I updated CVS. So you can play with the latest version.
Work on the new MediaInterface is progressing and I am getting back to the functionality I had before all these changes took place. Last point on my list before I update CVS is to implement the MediaInfo class to obtain information about the Video/Audio files.
I also implemented the framework for an Undo option. Please don't get too excited as this functionality will evolve over the next two or three releases (If I only had more time).
Also noteworthy is that the internal version number has surpassed 200. This is the number of times I have made a backup of the source to saveguard the changes I made in one session.
And last but not least I added a menu item in QPlayer to switch languages (just as in 'Q' DVD-Author), re-implemented the loading of the init-files for QPlayer which is now split into two parts, one for the player GUI and one for the engine backend, and fixed some issues with the MovieDialog.
'Q' DVD-Author in the news ...
I received word that 'Q' DVD-Author has received some press and asked my mom the same day to send me a copy of the magazine.
The article was very positive and gave me some constructive ideas where to make some improvements. And while I am still considering 'Q' DVD-Author alpha in nature it seems a lot of people actually use it already.
Also I am progressing rather fast now and working hard on obtaining the 'old' functionality back. While I removed 13 files from the project, I added 27 new files to have the MediaInterface independend of the Media Engine (like Xine, MPlayer, or VLC).
To support this I added a Preferred Engine option in the setup Dialog which will allow you to choose which player you prefer to handle your files. As I found out the hard way, each player has its advantages and disadvantages.
All these changes adopting the Makefile dynamically, to link or not to link to the appropriate libraries. Speaking of Makefile, a lot of attention went into the handling of the language files. These files are now stored under $PREFIX/share/qdvdauthor and are accessible system wide.
Last but not least I compiled the TODO list for the next release and will work on it, one item at a time.
After well over one week I am finally able to compile and link all applications again. Because I completely re-wrote the media interface to support Xine, MPlayer, and/or VLC I am not able to use 'Q' DVD-Author.
For this reason I will hold off with any check in to CVS until I at least restore the same functionality we had with version 0.0.8.
Also today is My son's 1'st Birthday
I released version 0.0.8 release 2.
This is a minor bug fix for version 0.0.8. This fix includes all changes neccesary to compile with Qt 3.1 again and some misc bugs.
I got a lot of complaints that 'Q' DVD-Author no longer compiles with Qt 3.1 and a lot of folks would have to upgrade to a newer release, which can be cumbersome. So I decided to revert my decision and make it compile with Qt 3.1 again.
A hearty thank you to J.F.Cruz who submitted an updated translation file for the spanish version of qdvdauthor and qplayer.
Also a big thank you a great support to Scott B. who is handling the RPMs for 'Q' DVD-Author and had a rough weekend finding all those nasty bugs and other showstopper for the delivery.
I just released version Alpha 0.0.8 . . . |
I did some extensive testing before releasing this version however there are still some issues to be worked at.
First, the generated masks do not look very nice. This is due to the dither function in the KImageHelper class. I have to see if I can find a better solution for QDVDAuthor together with a quantize algorithm.
I did also implement a basic conversion scheme for movies so as to get a DVD conforming video stream. This is not activated though and needs some further research. Any one with tips for transcode or MEncoder please step forward.
Also a call to YOU. Please help me get some translation files for qdvdauthor, qplayer, and qslideshow together. For instructions on how to do so please look here.
So what has changed since 0.0.8a ?
|
After implementing the new properties in the TextDialog, I wanted to start testing. Only I found that I do not have any material to test with.
So I found myself pressured in implementing a basic pre-step for the conversion of non DVD compliant format. It took me a few days to get the conversion to work properly since this is my first time using transcode and I had not a lot of time on hand.
I also want to create an option to convert videos using MPlayer's (MEncoder), and if possible xine, so that 'Q' DVD-Author has one less dependency. This would be handled like any other command line tool in the ExecuteDialog. Of course since this is a very complex new feature I will also need to implement a nice new GUI to handle the available options. Something like konverter would be nice.
Note: Now that I have some fine DVD usable mpegs I can continue with testing and will prepare the next release soon (without conversion GUI).
Ps. Thanks to F.J.Cruz we have now also a Spanish translation file for 'Q' DVD-Author.
I finally connected my box back to the internet. I cleaned up the e-mails and updated the CVS repository. This version holds a lot of changes and bug fixes over 0.0.8a. Here are the Highlights.
So what is left before the next release ?
You probably ask yourself : "Hey what is going on".
A lot let me tell you ...
We moved finally into our new house and we were busy getting everything set up. While at the same time I heared I will get laid off in a few months (at least I know in advance).
You think this is bad ... think again. Wednesday October 6'th we had to put one of our cats to sleep. She will be missed tremendously. And while there is no page up for her alone here are some nice pics of her and her brother.
Finally we have word from the shipping company that we will get our stuff next week Tuesday. Meaning that I will get my hands back on my development box. What a rough 11 weeks it has been. No furniture, no money, and no fast computer at home ...
While my main box was in transit I used the time in the metro each morning and evening (~2 hours/day) to hack away on 'Q'DVD-Author. Needless to say that progress is somewhat slow lately. Okay try to think clearly at 7am with no coffee infusion and you know my real problem. Now why are there no coffee machines in the DC metro ? The city could earn more then they could dream of.
Anyhow, I did a lot of changes to the init process as mentioned earlier but all of wich were below the surface and are not visible. I hope to wrap up the SetupDialog the next few days and then focus (as mentioned earlier) on the testing of the main functionality.
I have to admit that the changes to 'Q'DVD-Author for the scanSystem - button were way beyond what I expected them to be, but if you want to do it right you have to go the full distance.
On another note, I heared from Jürgen Koffler (the main kaffeine developer) that he found the time to implement some changes in the VideoWindow-class. This class can now be used as a Qt-only class. He did however not use my proposed structure with a base-class QXineWidget and a derived VideoWindow. So I will look into the new class and see if htis is usefull for 'Q'DVD-Author or if I keep the previous class in place.
Since I decided to also support MPlayer this widget class has somewhat dropped on the priority-list.
I implemented the scan system button and am now integrating the functionality into the overall architecture. I had to re-designe the SetupDialog, create a utility class and implement new structures in QDVDAuthor to accomodate this change thus far. Also the ini file is now loaded at startup to retrieve this information.
I am now focusing on improving the SetupDialog to give the user an easy way to manually define the path to a tool, display the man pages etc.
Next on the list is a testing of the main functionality and then a new releaese. So stay tuned.
August 28'th 2004
I put up a new page with an explanation on how to generate a translation file for 'Q' DVD-Author. I am hoping to get a few translations from you, as my language skills do only comprise three languages total.
I implemented a new menu item under 'Tools->Languages', which lists all languages available and switches 'Q' DVD-Author to any one of them.
I am in the process of implementing a new mechanism to scan the system for all required tools. I am planing in expanding this one so as to give hints on which tools are missing and what the effect for 'Q' DVD-Author might be (missing functionality etc.) This could later on get expanded in providing only valid choices in the ExecuteDialog. For now it is only informative.
As you can see work is now progressing slower as I have not as much time as I used to and I am not as fast on my Laptop as I am with my development box.
I just released version 0.0.8a . . . |
I received news that our household stuff (including my development box) has not yet left France and we won't see it for at least another 4-5 weeks. So after this nice touch I thought I should no longer hold back and release what I currently hold as my latest and greatest.
As I mentioned earlier I am cut off the internet with my 'replacement Development Laptop' and can neither respond to the mailing list nor can I update the CVS. I urge everyone to consider the CVS OUTDATED.
In order to provide you with a current version and in light of the missing CVS access I decided to release a alpha Alpha version, which is semi-official in the sense that I could not even do the basic testing but have not yet encountered a major problem. So please feel free to report any Bugs to me.
I also converted the application to german. This is my first shot at it and I beg your forgiveness for my deteriorating german skills. Ich nehme liebend gerne Verbesserungen an.
To use the german version do the following :
Um die deutsche Version zu nutzen, folgen Sie bitte diesen Schritten :
USER > make USER > make install USER > su - ROOT > make install ROOT > exit USER > export LANG=de USER > qdvdauthorThis will build qdvdauthor, install the binaries and the german translation file under ~/.qdvdauthor/qdvdauthor_de.qm.
Any one interested in providing a translation to another language is encouraged to drop me a line and I will send a short howto.
New in this (alpha Alpha) release is :
Okay I converted my Laptop into a small, temporary development box. SuSE 9.1 runs quite nicely on it :) Only I am not hooked to the Internet and can not update the CVS version. I am considering to put a gz file onto the server so you can enjoy the fruits of my labour.
I am currently not able to reply to any of the mailing lists. I can read them though and hope you will continue to post. In the meantime I will communicate, through this Progress page, what is going on behind the scenes with 'Q' DVD-Author.
So what is going on ?
I could finish the conversion to german and will see if I can work on some smaller issues before my real box arrives.
I implemented a small dialog to define the exact coordinates of an image object. This way you don't have to 'guess' the right size. This functionality should now be available to all Objects.
I continued to work on the color handling for the layers. This will keep me busy for the next few days.
While still waiting for my life to arrive in the states (Dual PIII 733MHz) I started to play with some language conversion.
Yep, ya'll read right. It'll be fun, to imagine ya'll trying to figure out what that "Beenden" actually does when you click on it :)
I will naturally start to generate a german translation, which might take a few days, and then hope for support from YOU to get some more languages in. If I am really bored, I might even attempt a Hessische version ;)
S'lang 4 now
'Q' DVD-Author in the news ...
While in transit at the Airport in Frankfurt I discovered an article about my little pet project in Linux Intern Pages 142-144 titled
Cooles GUI für DVD-Tools
This article (and all of your feedback of course) also showed me where I should improve and focus on in the near future.
This gave me a definite boost and I can hardly wait to retrieve my development box within the next two weeks form shipping to get back on track.
Sorry, I'm on the move from France to America. I will be offline for a few weeks. Please continue giving me feedback for 'Q' DVD-Author. I will continue working on it once the dust settles.
Anyone willing to give his house, in a good neighbourhood, with the best schools, in the DC area away for free let me know.
I checked in the CVS and have it up to the current state. Unfortunately the mask colors are not 100% implemented which renders the CVS version next to unusable for generation of DVDs.
After a long struggle I have finally begun to throw out the ImageLibrary dependencies. You no longer need to have ImageMagick or any of the other image libraries installed to compile 'Q' DVD-Author.
In order to compensate for the lost dither function of ImageMagick and co, I added the KImageEffect class to my little project.
Don't worry, I made sure you still have plenty to choose from. I replaced the ImageLib choices with VideoLib choices.
I want to make the video backend transparent to either xine or mplayer. This means you can pick your favourite media player to use 'Q' DVD-Author with. And also some video streams might work better with one over the other library.
This change affects also the naming of qxine, which will now be named qplayer. Also on the code base I will make the name changes to reflect the new scheme.
I am also updating the web page now to reflect the changes in the future release. If I can find a spare second of time I will check in the changes in CVS tonight.
Stay tuned as 'Q' DVD-Author is getting better and better.
I just released version Alpha 0.0.7 . . . |
So what has changed since 0.0.6 ?
And here goes a big thank you to the donors who donated to this project. I was thinking how I could thank you and I found this link (Donors only :o) So please don't hesitate to give more, who knows maybe I can even afford to buy a house and send my kids to college :) Oh and no this is NOT me in the costume. I am the guy in front of the screen, on the floor laughing. |
The good and the bad : First the good:
Okay and here is the greates news of all. Some one actually donated money to me. This is the best ever. I will collect all donations, put it in a big jar and use it for our new home as promised. If I could find only another 100000 people donating the same amount I could buy our dream house. So please don't hesitate, every penny counts. |
I updated the CVS just in time for the weekend.
I could wrap up all changes around the newly implemented ChapterDialog and SourceEditor. Please give me your feedback (patches) if you encounter problems with them.
I had to do some heavytwisting with the ButtonDialog, which turned out very nicely (IMHO). And while I was at it I also fixed a bug with the geometry assignement in this Dialog. You can now set the size of the buttons pixel-exact.
Also I improved the handling of the SourceFileEntries a lot which should help keep the SourceToolbar a little more tidy. You can now group movies or Audio streams into one SourceFileEntry.
BTW, I always keep the CHANGELOG up-to-date, so if you are curious in just how much is still missing, or you want to pinch in some code, check this file first.
The SourceEntry part of the MovieDialog is done as well and 100% functional. The buttons of this tab will react according to the selections, so the user can't possibly mess things up ;)
What else ... I modified the naming scheme of the SourceToolBar, to more clearly reflect the contents. Some logic change had to take place but overall it looks now so much cleaner. Another change there is that you can now select multiple files which will be put into one SourceFileEntry.
I started to work on the SoundOptions part of the MovieDialog but I will have to dwell a little deeper in the usage/usability of this tab.
I experienced a couple of irratical crashes with 'Q' DVD-Author which I attribute to the XineEngine's multi-threading nature. I need to get some more infos on how to debug multi threaded applications. There is always new stuff to learn :)
Looking on the ToDo list for 0.0.7 I see that there is a lot left to be done. Besides some minor changes I want to also include conversation routines for movie/sound files. This way the user can include 'nearly' any video/audio stream and 'Q' DVD-Author is taking care of the conversation.
Also high on the list is the implementation of the new QXineWidget class, improvements to the slideshow generation, and movie buttons and movie backgrounds.
I created a new ChapterDialog which is part of the MovieDialog. This dialog should be straight forward and easy to use. I will have to tune this dialog a little bit and most of all enable it. At this point in time it is only a GUI with no real functionality.
The import Chapter button is now working. It will allow you to load chapters which were created with dvd-slideshow and associate them with a movie file.
I also create now ONE xine object at startup as a background task in 'Q' DVD-Author, which is then passed to XineInfo and to each QXineWidget when neccesary. This speeds up initialization and saves resources. I will have to fine tune the overall reliability but I like this feature a lot.
After subscribing to the xine-devel list I was pointed towards the mosaico plugin for xine, which should enable me to create overlay movies (in realtime?). This would be perfect for the movie buttons / movie backgrounds. I will take a closer look after I finished up my ToDo list.
Furthermore, I received a couple of patches which I included. Thanks to every one who contributed so far.
And finally I also updated the CVS to include all those changes.
I finally concluded my work on the XineInfo - class. This class will return all different types of information on a media stream. I have a need for this feature all over the place, especially in the SourceFileEditor. So this was long overdue.
I can now continue to focus on the overall functionality of the SourceFileEditor part of the MovieDialog, Yaeh :)
A big thank you to David G., who supplied a patch for the ExecutionDialog. I will check out the patch and update the CVS ASAP.
I wrapped up (and checked into CVS) the Editor for the commands. From now on you only need to modify the commands in this editor if the ones I am setting as default do not work for you.
Of course some polishing is still neccesary (E.g. I don't like the CommandQueueDialogs new layout). Maybe I'll come up with some cooler design at a later date.
Next on my ToDo list is to include the full functionality for the SourceFileEdit part of the MovieDialog.
Meanwhile my little pet project has balooned to some 26804 lines of cpp - code. This is an okay pace for a 6 month old project :).
I found finally some time to implement the init - file for qdvdauthor. This file stores the commmands used in the CommandQueueDialog dialog. The next logical step is to include some basic editor so the user can modify those entries and also set their prefered defaults.
So the next few days I will modify the CommandQueueDialog, to offer the above features. You can BTW already check out the new functionality in the CVS version and modify ~/.qdvdauthor/qdvdauthor.ini manually to see the effects. The following should do the trick
> export CVS_RSH=ssh
> cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/qdvdauthor co qdvdauthor
After this I will focus on the SourceFileEditor of the MovieDialog so as to allow for the inclusion of multiple movie files for one Source.
I wrapped up the QXineWidget and will update it to the latest kaffeine CVS version tonight before submitting it to be included in kaffeine.
Once this is done I will include this QXineWidget version in QXine and remove the old and obsolete version which I currently employ.
I also started working on the SourceFileEntry - dialog (part of the MovieDialog) to handle chapters and inclusion of multiple video source files.
There is a lot of work left before the James Bond version (0.0.7) is to be released. I found some big issues while preparing a DVD from our latest vacation (It's always good to USE your own software :).
I will try to keep the CVS version now more up-to-date so that you can also take advantage of the progress. So please stay tuned ...
Quick heads up. I am currently working on the QXineWidget second edition. I will finish it as soon as I am back from vacation this coming weekend.
I added some functionality into the source tab toolbar. This widget is now actually usefull :)
Next on the list is a possibility to modify the standard settings for the CommandQueue - Dialog. I.e. if there is a problem with the commands used you can modify them and the next time around it should show up correctly.
Stay tuned, 'cause I'll be back soon :)
After a long wait I finally released Alpha 0.0.6 of 'Q' DVD-Author. Check it out.
What is new in this release :
There are now two big tasks in front of me.
The first is to generate a common QXineWidget for usage in kaffeine and in qxine.
The second is the inclusion of Movie Buttons and Movie backgrounds in 'Q' DVD-Author.
A new java based DVD Authoring tool is now in the works under varsha. Check it out
Also check the progress of the DVDStyler project. This GUI is now available for Linux and Windows (all included).
And last but not least is mkdvd a new project written in pike which creates a DVD out of next to any source (as 'Q' DVD-Author hopefully will do at some point in time).
Tata for now and stay tuned for the next release of QDVDAuthor ...
Okay speaking of a busy week... I was caught in a lot of important things that were not related to the 'Q' DVD-Author project.
I could however spare a few moments in time and replaced the left sidebar with real ToolBar versions of it. This was long overdue and helps organize the program layout a lot.
I also checked back at the latest release of kaffeine which released version 0.4.3 of their super media player for KDE last week. I will work together with Jürgen Koffler to extract a general QXineWidget from his project. The current version I am using is too bloated with non standard functions which do not belong in a general Widget of any kind.
For the close followers of this project I put up the latest screenshots of all dialogs. The Main Window has changed, the CommandQueue - Dialog has changed and I added a screenshot of the QXine Movie player application.
As you can see I am still very much alive and working on 'Q' DVD-Author. The release I promised for last weekend will surely follow this weekend.
I fixed a bug which Gunter (ggtux) found and helped me to solve. This bug prevented dvdauthor to generate the DVD when you generated at least one menu without a movie file associated to it (I.e. a menu which branches to other menus only).
I fixed another bug in the CommandQueue-Dialog. The generation of an empty mp2 sound file would not work with arecord. The problem seemed to have existed all along but this is the first time I got a complaint (I am using dd=... at home since my arecord install is screwed up). Thanks to Thomas for pointing this one out.
I am currently still working on the QXine sub-project. I will wrap this one up this week and then I want to make another alpha release. A lot has changed since the last release and I don't want to hold those new features off of you. As always, stay tuned ...
I put up a new page for the QXineWidget. Please note that this is the first draft and will change in the future.
I talked to Jürgen K from the kaffeine project and was told that the class I derived QXineWidget from has gone through a lot of changes since the last release. I am hoping that we can derive a minimal QXineWidget from the next release of kaffeine which will then also be used (and maintained) by said project.
I am planing in playing around with my new toy this weekend and hope I can wrap up the QXine subproject. This would then free me up for the implementation of the MovieButtons. I have only to decide how I implement the xine-lib into 'Q' DVD-Author.
Stay tuned...
Yeah, I did it. Thanks to the kaffeine - project I could finally get a movie playing in the Moviedialog.
Anyhow, I am happy I have the power of multimedia in my hand ... well in my application. I will now clean up the code base, implement the missing functionality (start, stop, fast forward etc.) and then provide the Qt-only based xine Widget with doxygen documentation as a simple-to-use-for-anyone-widget for download.
I put up a new screenshot of the File/Movie Open Dialog because it shows the progress I made the past few days. Unfortunately my time is running versy short lately but I will have the weekend to put some serious effort into this dialog.
As you can see from the screenshot the basic file handling is present and I will now start working on the Xine-Lib integration.
So the next few days will hopefully bear some fruits and make this dialog really usable. Once I can use the Xine-Lib I will continue looking into the Movie backgrounds and movie buttons.
I am working full steam on the new dialog and the new sub-project QXine. So far I have been implementing some functionality in the dialog. You can find a screenshot of it here
I also updated the CVS repository to include all changes. So if you want to play around with it knock yourself out ... Or simply wait until I release version Alpha 0.0.6.
I was designing a new dialog for loading of Image and movie files. This has been the longest ever I designed a dialog. I have to admit it was not easy to find an intuitive solution to a complex matter (Although it is a simple task).
Finally after two days I am satisfied. Now I have to put some live into this beauty.
Please excuse when I am holding off with a screenshot until at least some functionality is present.
One other thing I researched was the utilization of the xine-lib in 'Q' DVD-Author. I need a good preview for the movie files and so I decided it was time to generate yet another subproject. Welcome 'QXine', the Qt based xine GUI. Though it is supposed to be most basic, I certainly hope it will be used and enhanced once I am done with it.
Once I have wrapped up all these changes, I will work on the Moviebackground again. This dialog is needed to handle those backgrounds properly.
Oooops time flies if you have fun. It has been already a week since the release of 0.0.5, so what has happened in the meantime ?
I started to look into generation of VCDs and SVCDs. However this is now on hold pending my current work :
Movie backgrounds, and Movie buttons.
I am currently experimenting with transcode and the mplayer-plug in. This seems to work beautifully for all I have tried as of today. Once I have the hang of it I will start implementing some Dialogs to harvest the power of these command line tools.
One of the things I am currently contemplating is to generate a separate small program, which takes a XML input file and applies all funtions to an image. E.g. taking an image coming from stdin, and applying rotation, overlays etc to it. I can handle this in the main application and be done with it in no time. The benefit of doing it in a small standalone application is that this might be usefull for others as well to batch work image files in general.
I know that ImageMagick is currently the choice for command line conversions but it would be better to have something read a XML file rather then pipe each step through another command line tool.
I need to have a Guru Meditation about this.
Coming soon to a DVD near you ...
I just released version Alpha 0.0.5 of 'Q' DVD-Author. I switched from pre-alpha, to alpha mode. Check it out.
What is new in this release :
So go out and play with it. But keep in mind that alpha does not mean it is perfect. Here some bugs and workarounds which will hopefully be resolved in the next release.
Enjoy ...
I upgraded to dvdauthor 0.6.10 and found that the spumux uses now 'name' rather then 'label' for the naming of Buttons and Actions. Thus from this version on you need dvdauthor 0.6.10 or better.
Ps. This is no april fools joke.
I did it ... It's a hundred ... 100 ... that is the number of unofficial releases I had ... well actually unreleases since I did not publish any of them. You know when you stop for the night don't you usually make one tar backup of your days work ... rightoooo, 100 the magical number.
|
On other news I want to get 0.0.5 out this week. I am hoping on Friday. I was working the past few days on the generation of the dvdauthor.xml - file. Any one who want to contribute to the general structure is welcome.
Currently the xml-file generates one Titleset per SubMenu. That works for simpler projects but does not yet offer the full range of flexibility.
I also completely re-done the ExecutionDialog. This was neccessary because each SubMenu needed some execution steps, which blew the vertical size for three Menus over my Desktop Height. The new dialog has those now in a ScrollView.
Okay, got to get back to the keys in order to keep the deadline.
Here is a list of things I Implemented this weekend.
While I did not release the Alpha version this weekend as I hoped I would I cut down the ToDo list to a few items. All the major changes are in. The next few days I will solely focus on the polishing of the DVD generation functionality.
I spend the past few days in implementing the functionality to store the Porject settings. This was a bigger change than anticipated since it went through 12 classes. I am glad however I could wrap this up and I will use the next day or two to implement the loading of the Project setting.
While I was at it I could also fix a couple of minor problems with the handling of the ButtonDialog.
I found a oracle of tips/tutorials on DVD Burning / Authoring ... everything. I am amazed I have not stumbled over this before. You too should check it out.
Although most of the articles are coined towards 'the other OS', it gave me a couple of inspirations. I am surely hoping that I will be able to also put a guide for 'Q' DVD-Author on this page.
Thought of the day: I am now starting to slow down with the feature implementation, though the code generation stays approximately the same. This is a sure sign that the pre-alpha stage is ending. So expect in the future less spectacular changes and more fine tuning, enhacements.
The weekend has been productive and so I wrapped up the FrameDialog, and the FrameObject. I also overhauled the creation of the XML - files and am now in the process of testing the output.
Speaking of which, I am now handling the XML - output tab, so you can look at the generated code, and eventually make some modifications manually.
I added a new Source called ImageCollection to the main drop down menu. This is intended to enable you to select a bunch of images with all the same sizes, so you can easily create a nice looking Menu.
A new Dialog has joined 'Q' DVD-Author for the Frame creation. As usual the Screenshot page has a snapshot of it.
While testing I found that it is a very good idea, to have the save/load project menus working, so this will be the next thing to implement.
Once I wrapped up these, and had some serious testing I will be able to release the first Alpha version of 'Q' DVD-Author, which I hope to accomplish by this weekend.
As always, stay tuned ...
After ripping out the ImageDialog and completely re-implementing its interna, I got now to the point where we can use it again but I am still not happy about the speed of this dialog. I will see where else I can tweak to get a smooth User interface.
I am not happy with the design though. I had to re-implement the same functionality basically twice. It would be much cleaner to have all in one flexible class rather then in different classes. I will leave it as is but I might come back to this at a later date. This is especially sad since I broke the 'Q' DVD-Slideshow tool with this change. So I need to make some more tweaking.
I implemented double buffering in the main view, which speeds up moving objects around a great deal. Of course it broke a couple of other things but the benefits outweigh the additional programming.
I also implemented the basic FrameObject and am now working on the FrameDialog - GUI.
Speaking of GUI, I put another screenshot of the main window in action up. If you look closer you can see all neat things currently possible (more or less). Rotation, Buttons, SubMenus, Slideshows, the new Menu layout and the new structure representation.
And lastely I wrapped up the TextObjects. I am satisfied at this stage with the behaviour. The only future improvement will be the addition of a transparency effect.
No entry for the past five days begs for an update. This time I can keep the list short.
The Sub menus are implemented, the new Menu is looking fantastic and the ImageObject is nearly done.
I am now working the FrameObject and will then follow through with my threat to clean up the user interface a little more.
I updated the CVS repository to version 0.0.4 and am planing to use it more often now, to keep in synch.
Okay and that was it already for today, no smiley, no new version, only progress. I believe the next few days are actualy going to show some nice progress ...
Here is the list of thingis I would like to see in the next release. If I succeed I want to change from Pre-Alpha to Alpha mode.
I just released version pre-Alpha 0.0.4 of 'Q' DVD-Author. Check it out.
The buttons are working in their very basic form. No chapters are handled yet, Also the selected state will be ignored. This will be fixed int the next version.
What else is new ?
Happy birthday again ... Yoohoo, the 2'nd month and still going strong.
Okay I have not release 0.0.4 yet. Groklaw and my Zaurus keeping me busy. But I am planing to release the next version towards the end of this week or at the weekend.
Also I have another volunteer who wants to contribute. Come on right in, there is plenty of work here for you Torsten.
OT : strangely enough this would mean there is interest from 3 germans to contribute to this project (including myself). Does that mean germans have too much time ;)
The Live CD idea was picked up mostly positively. Some one pointed me towards dyne:bolic as a live Multi media distro. Checking into it I found that it is a cool distro but is using WindowMaker and has the gtk libraries installed but not the KDE libraries. So KDENLive would not realy fit in there yet.
I contacted the maintainer and he was of the same impression but seems to be flexible. We'll see.
Tata for now and Stay tuned.
Just a quicky on the recent improvements.
I am mixing and matching MenuObjects and ButtonObjects together with MenuPreviews and ButtonPreviews, the structurePreview is now at the point I wanted it to be (for the time beeing) and work in general is proceeding okay.
Ah, and the never ending stream of new GUIs has also continued to flow. For the newest member, the ButtonDialog, look at the Screenshots.
Still missing for the next release is the implementation of the button functionality, and the sub-menus.
I am considering switching to Alpha mode, after the next pre-alpha release.
Alpha state for me implies that the major junk of functionality is present but the application is not usefull nor complete.
Pre-Alpha state on the other hand is the fast implementation of a rough framework which allows you to play with ideas and include new features on-the-fly.
I surely hope I can find the time to get the next pre-alpha release out for the second monthly birthday, March 3'rd.
Stay tuned ;)
Finished the remodeling of the MenuObject class according to the new structure layout. The implementation of the structure representation according to the chosen path is on schedule, and I am close in putting an end to the TextObjects.
Well, what does that mean ... It means you can now create Buttons from within 'Q' DVD-Author rather then modeling them in the Gimp and importing the neccesary layers.
Next on the list is the ButtonObject, to embed the TextObject into some functionality. One feature I really want to have right of the bat is the ability to rotate, stretch, squeeze which will allow a much nicer DVD Menu layout. Of course this means that I'll have to provide some more funky GUIs (Yeah ... way cool).
I had the idea of creating a live cd for DVD Authoring with kino, kdenlive and of course 'Q' DVD-Author. Here is the email I send to some developer lists on SourceForge.
All,
I would like to ask if some of you would be interested in putting together a live bootable CD (similar to, or based on Knoppix), which is not too bloated, say around 20-50MBytes, and has all one needs to author, and burn Video DVDs, VCDs, CDs et al.
This CD should have no Office, Games, Developement etc., It should only have all utilities needed to generate a Video DVD, or any other DVD/CD.
I think this would be a very interesting project. I am currently still in pre-alpha mode for 'Q' DVD-Author but I already get some messages about compile problems. With a bootable CD we could ensure that all applications (kdenlive, dvdauthor, kino etc.) are working propperly together and the user could check if it is working for him.
Also if put together in a good and logical manner this could eliminate a lot of the 'searching for the right application' for the end-user.
Any takers on this one ? I am currently busy getting my application out of the pre-ages into the real world but I would definitely chip in wherever I can.
Varol
Ever had this >Duh< effect ? Here am I trying to write a slide show generator when you got one Here .
Snip*: Read an interesting article about audio encoding : Using BladeEnc rather then Lame I can utilize http://www.lam-mpi.org/ (export CC=mpicc) to have it run multiple tasks. I think for heavy workload like DVDAuthoring this is the way to go. I also envision to split the dvd-slideshow into multiple tasks.
Ps. One cool application I found and like a lot is 3DDesktop Check it out if you like eye candy ;).
Also the build structure for buttons vs maps has been set and I hope to have chosen the best and logical way to give the full flexibilities (or lack thereof) and usabilities.
I am now working on the representation of the menu structure including background images, buttons, and sub-menus. I know I have to start working on the sub-menu implementations before long.
As for the missing dvd-slideshow functionality, I want to first make the main functions of 'Q' DVD-Author work better before improving on the 'side' features, such as dvd-slideshow.
The code base is expanding fast. Currently we exceeded 400kBytes compressed source (including button images etc.). We have so far 11457 lines of source code and growing, not bad for a young project like this.
One last thought :"Why does it seem that the ToDo list is growing by the day rather then shrinking ?" |
I just released version pre-Alpha 0.0.3 for 'Q' DVD-Author. Check it out.
What's new :
What's missing :
I also want to put more functionality into the main 'Q' DVD-Author application. Adding sub-menus is high on the list, followed by drag'n drop support for the menu creation and the input and manipulation of Text for menus. All of which I have the basic tools available, I only need to find the time to put things together.
Some news :
I started a freshmeat project page and got lots of positive responses. Thank you all for your great help.
I would like to thank Austin, for including 'Q' DVD-Author in the next Mandrake release 10. There needs to be a lot of work done before I even consider 'Q' DVD-Author anything like helpfull, but still, this will keep me going.
Another heartly thank you goes to D. Scott, who has become the package manager for 'Q' DVD-Author. Welcome on board.
The other change on this web page is the addition of the Themepark. I am calling on every one (yes YOU) to send me in the coolest menu designs you created, so I can include them here. I hope to have a theme manager includede in 'Q' DVD-Author at a later (much later) point in time, to give you easy access to all needed resources.
Finally work is progressing some what slower on the Image Dialog. But some minor changes have been made to all GUIs of the slideshow part. The next release is coming up shortly.
I included a new dialog to manipulate the images. This should be a simple to use dialog and should only handle the most basic needs. You can see a screenshot here.
I decided to remove the FilterLine and include all functionality into the ImageLine. This way the handling is not choppy as it is currently. HOWEVER, I also decided to leave all as is and get the overall system to work first before changing this one.
Besides this the Image Selection Dialog is done with and the FilterDialog is with the new ImageDialog also aproaching a usable level, which means it is time for another pre release.
For the next two weeks I want to focus more on the overall usability rather then on the nitty gritty things (Although I love fine tuning each twist of a GUI). I hope that by then I will be able to release the first beta version of 'Q' DVD-Author.
Yeah, the first birthday today a month ago I uploaded the very first pre-alpha version. Woohoo ....
I am still working on the FilterDialog for the Slideshow and are proceeding quite okay. However I still have to fix the threading problem which I described below.
Any volunteer ?
I will try to wrap up the "all basic" filter GUI this week and let you have another alpha version to toy with. I believe releasing frequently shows the progress made.
Oh and in case you have not realized it yet, I am constantly updating the screenshots to give a preview of the latest state of the GUIs.
Help needed : I created a background thread which generates the thumb nails. I update the background periodically through a QApplication::postEvent() call in the main (GUI) thread. Unfortunately every now and then it will crash with a couple of messages in the style :
X Error: BadRequest (invalid request code or no such operation) 1 Major opcode: 132 Minor opcode: 138 Resource id: 0x5fAny ideas hints on what else to try ?
Code is here, check out dialogfilter.cpp lines 676 - 696. Tips appreciated here.
Note: I tried also QTimer, and emit(signal) but with the same crashing result. I know that postEvent is recommended and should be thread safe.
Unfortunately this kept me away from doing some other things. Kind of like the same experince I had with MFC all the time. It should work but for some strange reason it won't.
Working full steam on the slideshow dialog. Check out the new screenshot.
Improvements log :
I put up screenshots of all dialogs I created so far. I need to remind myself to update those when they have changed.
I put up the documentation for the xml-classes. I hope some people will be using it.
I wraped up the man-dialog. This dialog displays all man pages for a line of commands in a neat GUI. This should be helpfull in case my standard settings do not work.
I cleaned up the ExecuteDialog a little bit and gave it a nice (I think) color scheme.
I added the filter dialog to the slideshow dialog. This dialog works pretty much like a linear video editor but only with images. The dialog is not done yet and needs probably the most of my time for the implementation of the remaining features.
I will for now use the script dvd-slideshow to generate the slideshow. Maybe at a later date I'm going to implement this in the GUI itself in C++. This would eliminate one dependency.
Today I release pre-Alpha version 0.0.2. A lot has changed since the first alpha. The infrastructure is progressing and I start seeing usable features.
Currently you can create a Main Menu and if you behave (I.e. same no. of input files as buttons, all in the right format [mpeg2]) it should work.
Of course a lot is to be done, but then, I consider this as alpha for a reason ;)
A thank you note to Wolfgang for the tip on how to use transcode to get a snapshot of a video. It'll be used later on.
Great news, I have a volunteer helping out where needed. Boy is this needed. Thanks Joe.
On other news, I wrapped up the Configurator class (see Screenshots) and am now focusing on the implementation of the command line feedback dialog, and the dynamic dialog interface for the input conversions.
Next thing I want to look into is the implementation of a dvd-slideshow functionality. And what else is left before I release the first beta version is a more intuitive GUI and ease of use.
I found a new software which could be interesting : FreeJ, real time video editor. I'll see if and how this could help. Also there are some links to more real time effects software.
I am still looking to get some simple screenshots of the video streams at a time I can define. This way the sub-menus could be created using drag'n drop, rather then manually putting them together under e.g. the Gimp.
Okay a fairly new project and already had its first major internal reshuffeling.
Besides a new file strucutre, I found that FreeImage is not the
answer to all my questions. I could compile and link against the lib okay but it would crash qdvdauthor
whenever I would use a QPixmap ... Go figure.
I went back to square one and looked at all available image libraries and found
ImageMagick++ is doing all
I need. But it is big. ImgSource is nearly
as complete for my usage as FreeImage,
or CxImage, or take a look at
OpenIL, or last but not least
PaintLib. Long story short:
I thought why should I decide. So I developed a framework which allows to support any single one (not all at
once)of those libraries.
The next problem was that the build process was now getting messy since I wanted to keep it easy I wrote a
small (dirty) configurator GUI. If you type
./configure
it will build and start configurator, where the user can choose his prefered options. Those
are then reflected in the qdvdautho.pro file.
For now I will focus to implement the
ImageMagic++ library and the ImageMagick
command line library and the rest can follow in due time (if requested/needed)
Ps. sounds complicated ? It's not, simply RTF README.
I installed FreeImage and found that FreeImagePlus (the c++ encapsulation class) is not incorporated into that library. I generated an appropriate Makefile for FreeImagePlus, compiled it as library (libfreeimageplus), and linked against this library. I need to find a way to NOT link against this lib if libfreeimage is not installed. The Source does use #ifdef's, the qdvdauthor.pro - file ???
I ingested the FreeImagePlus source code and will keep it there until the Makefile for the library shows up in an official FreeImage - release. This way the user only needs to install FreeImage and does not need to bother about the FreeImagePlus - class.
After implementing the conversion routine from QImage to fipImage, I found that I can only dither to 8-bit, or 1-bit. For the buttons however I need 2 bit dither (4 colors). I see if I can find an algol online.
I also played around with dvd-slideshow, a bash script which generates a fine slideshow from images. It works okay however after converting the mpeg2 - video into VOBs with dvdauthor the sound got choppy. I also found that a 17 minutes Video takes 44 minutes to play in a DVD player.
I believe this is however a problem of qdvdauthor's setup. Need further research.
I made some minor changes to the web page. Happy Brithday to me ...
Trying to figure out how to obtain a thumbnail of a movie for usage as a button. So far no luck.
I looked around for an image manipulation library that has all I want (for now). After discarding ImageMagick and DevIL (OpenIL), I found FreeImage(Plus) to be the best choice for me.
I will implement it in the QImageHelper class and make sure qdvdauthor also works without this library in a basic state.
Further more, I created a new logo. Hope you like it.
Also for those folks who can't wait for qdvdauthor to be finished, here are two links which describe the manual steps involved in creating a VideoDVD.
Hello, so after playing around a little I decided to put some code on this page. Please note that this code is actually pre-alpha, as it only supports a very limited set of conditions.
The first beta version should be more complete in its functionality (of course) and also enabel Joe Average to generate a normal Video DVD menu.
Please go to the download page Here
Okay, I will put some ugly screenshots up ASAP ... Promise.
What is possible so far with qdvdauthor ?
Please remember I started this project a few days ago :)
All you need to compile qdvdauthor is a recent Qt library (>3.2), mjpeg-tools and dvdauthor.
Later on in this project you should also have mencoder(mplayer), and or xine and FreeImage(Plus) to scale videos/images.
I would also recommend the GIMP for image creation/manipulation to be used as menu backgrounds. But that is your choice.
Stay tuned ...
Varol ;)