Hi everyone! Here is my May development update for OpenShot 2.0! This update will be a little different than my previous ones. It includes two different videos, and hopefully gives you a good feeling of the current state of OpenShot 2.0.
Interview on Linux Action ShowBefore I jump into the details of what's been accomplished over the past month, be sure to check out my interview on the Linux Action Show, streamed LIVE yesterday (YouTube version included here). I always get a bit stressed out when doing live streaming, but these guys are terrific and I am always happy to be on their show!
NOTE: Look how awesome their shirts look. =)
Video Preview of OpenShot 2.0The next video is a quick screen capture I did with the current development build of OpenShot 2.0, running on Ubuntu 13.10 (Windows and Mac versions are very similar, except for the window decorations and theme differences). Also, I plan on including videos like this in all my future development updates related to OpenShot 2.0!
These past 4-6 weeks have been very productive, and many features have been completed or almost completed. In fact, there have been 56 commits in the past 30 days. This is the most active I've ever seen OpenShot's development. So, things are moving forward at a very fast pace. Here is a detailed list of the tasks that are now complete, or mostly complete:
Recently Completed Tasks
- Added a new awesome thumbnail method to libopenshot, which might just be the greatest thumbnail method ever made! Okay, maybe not, but it's really cool. It can take any frame of any video, resize it intelligently (centering if needed), and optionally supports 1) background colors or transparency, 2) gray-scale mask, to remove parts of the image, 3) overlay image, to add watermarks, custom graphics, etc... Finally, this new thumbnail method is integrated into OpenShot for all thumbnailing.
- Improved audio and video player features in libopenshot, and integrated them into OpenShot.
- Improved foreign language support in OpenShot, and fixed many unicode errors related to other languages. As far as I can tell, it now works correctly in over 50 languages (although I have not personally tested each one yet).
- Fixed more Windows-specific build issues. If I go more than a few days without testing on Windows, OpenShot just self destructs. =)
- Fixed many issues related to themes, icons, and native toolkit styling. I am still having some issues with SVG icons on Mac, but for the most part, the UI is working good on all platforms.
- Improved Title Editor in many ways, including making it much easier and faster to edit and create titling for videos.
- Integrated Title Editor and 3D Animated Title dialogs into OpenShot. Titles and animations now show up in the project files tree and can be previewed, dropped on the timeline, etc...
- Refactored many different places I was using Python threading with QThreads, and dramatically improved the stability of the different threads being hosted in Python. This was due to issues updating the Qt UI from different threads.
- Fixed many issues with Saving and Opening project files, especially issues with different languages, character sets, etc... I ended up creating a folder on my computer called "t€ rôèÿæs", which has become my favorite way to test unicode support for file paths in OpenShot. =)
- In a related fix, I improved the way temporary files are handled when saving project files. For example, newly created 3D animations and Titles are now saved in a temp location until you save your project, and then they are moved to a sub-folder of your project. This also supports saving projects to USB flash drives. And those paths are also saved as relative paths, and converted into absolute paths during the execution of OpenShot.
- Completed preferences dialog, and dramatically improved the function of it. It is now dynamically built from the user's settings file, and works really well. The settings file now includes meta-data about each setting, which is used by the preferences dialog to build itself. Let's just hope it does not become self aware. =)
- Added a new profile button to the primary toolbar, which allows the user to quickly switch the type of project they are working on. So, if you want to test your video as a 1080p video, and then quickly switch to 480p, it's super easy now.
- Added many context menus, including File, Clip, and Transition. Most of the options are now working correctly, such as removing files, previewing videos, removing clips, etc...
- Improved the drag and drop support with Qt. I had initially done things a bit more complicated than needed, and dramatically simplified the code. I ended up removing over 100 lines of code, and now let Qt handle most of the drag and drop itself. =)
- Added new query classes, to more easily manipulate project-type data in OpenShot. Also added many new Python unit-tests related to these classes.
- Integrated transitions into the timeline, but there is still much to do.
- Tested out a new icon (and new branding) for OpenShot being designed for version 2. I will reveal it soon and let you and the rest of our users vote on which icon to use: Our original (which is a bit generic and old looking now), or this new exciting and very original looking one. =) Okay, so I'm a little biased.
Coming SoonOkay, there are more updates of course (over 50), but the ones mentioned above are the biggest ones. So, now that you know what has been accomplished, let's discuss what is targeted for the next 4 to 6 weeks:
- Integrating Effects into Timeline
- Complete Animation Controls (dockable UI)
- Complete Properties Interface (dockable UI)
- Complete Export Dialog
- Complete Installers (so users can start experimenting and testing these early builds)
Looking for HelpI am still looking for some developers and volunteers to help me out with a few tasks. If you have some extra time to volunteer to our humble project, I would be super appreciative! =) Here are the skills we are still needing on our team. If you want to help, simply contact me directly, and I will help you get setup: email@example.com.
- A PyQt developer to help me finish some UI tasks
- A C++ developer to help tie up a few loose ends with FFmpeg and LibAV, and the liboenshot API.
- Someone knowledgeable with cx_Freeze, and building Linux packages and installers.