Questions about the software development of Hitfilm

gerryhernandezgerryhernandez Website User Posts: 3

Hey everyone. This is a question far from the norm. I’m a developer working on a hobby project and I’d like to create a cross platform GUI tool, mainly targeting macOS and Windows, Linux being considered “nice to have, but not necessary.”

I really love the way Hitfilm’s GUI looks and feels. If anyone could share any information or hints as to how they’ve accomplished this (libraries, etc), I’d really appreciate it!

Thanks in advance. :)

Comments

  • CleverTaglineCleverTagline Moderator Las Vegas, NVModerator, Website User, Ambassador, HitFilm Beta Tester Posts: 3,029 Ambassador

    I believe HitFilm uses the Qt development framework, which is cross-platform. I dabbled a little with it when I was at my last studio job. Maya had just changed its entire UI to be Qt-based, and provided a few hooks to do more elaborate UI work than could be done with Maya's own features. Haven't touched it since, but I definitely liked what I saw.

  • gerryhernandezgerryhernandez Website User Posts: 3

    I had a feeling it was Qt, albeit heavily customized. Maya looks like Qt pretty much out of the box, but Hitfilm is snazzy and, in my opinion, more efficient with real estate on the screen.

    Do any of the developers frequent this forum?

  • Triem23Triem23 Moderator Moderator, Website User, Ambassador, Imerge Beta Tester, HitFilm Beta Tester Posts: 18,226 Ambassador

    Most FXHOME staff from devs to marketing to the CEO frequent the forum. (FYI Mods aren't Staff)

    How detailed an answer they might give, I dunno. I'll tag the official community punching bag community liason guy for FXHOME  @GavinBarker. I'm sure he'll pass on the question. 

  • GavinBarkerGavinBarker Staff Website User Posts: 98
    edited November 2018

    *flinches*

    Hey @gerryhernandez, thanks for the question!

    DanielGWood and @CedricBonnier in on this one, they may be able to provide a far more substantial and helpful response :) 

  • DanielGWoodDanielGWood Moderator Website User, HitFilm Beta Tester Posts: 1,021 Just Starting Out

    @gerryhernandez

    Yes, I can confirm we use the Qt framework for the UI development of both HitFilm and Imerge. While it has it's issues and limitations from time to time, it provides a huge amount of functionality right out of the box, and it's cross platform of course.

    Qt by default will try to emulate the operating system it's running on as much as possible, which makes sense, however for our products we have a particular look and feel across Mac and PC - snazzy as you say! There are various ways to do this in Qt, like creating entirely custom widgets*, restyling existing widgets, drawing things via OpenGL, Qt Quick etc. I can't go into too much detail, but as a general rule most Qt applications that want to implement custom styling will need to use a mixture of approaches to get the best visual and performance results.

    From a less programmer-y perspective though, the main reason we have a consistent and appealing UI in our products is the attention to detail and design vision provided by Josh for HitFilm and Rikki for Imerge. Everything that's added is carefully considered about where to put it, how it fits with existing elements, how users will interact with it and the design down to the pixel, before being implemented by our UI developers. This is becoming more and more important with modern software - other video editors and some of the newer photo editors show this careful design too. Contrast with the older approach of just using boilerplate components and arranging them in an organic, unplanned way over the development of a product and it makes a huge difference.

    I hope that helps!

    * (buttons, text boxes etc, all the fundamental components)

  • WhiteCranePhotoWhiteCranePhoto Website User Posts: 895 Enthusiast

    Your UI design is one of the things that I like most about your software. Even Imerge, in spite of being brand new and nowhere near complete. If Imerge gets an asset manager it will be a big winner in the photo editing world given its start.

    Now if only you guys would get raw footage support in HitFilm... 

  • rikkiloadesrikkiloades Staff Website User Posts: 161 Moderator

    Hey @WhiteCranePhoto. With regards to Imerge, we'd love to hear more about:

    • what you would like to see next in Imerge to see to become more complete.
    • what you mean by an "asset manager" exactly.

    Please do come discuss things with us over in the Imerge Support forum here: https://fxhome.com/forum/categories/imerge-support

  • Triem23Triem23 Moderator Moderator, Website User, Ambassador, Imerge Beta Tester, HitFilm Beta Tester Posts: 18,226 Ambassador

    @rikkiloades in short, the type of thumbnail views, cataloging, 5-star rating, Metadata tagging and mass culling available in Lightroom or OnOne PhotoRaw. Some users are making the Photoshop comparisons, but I'd like to see Lightroom-like asset management as well. I'm about to return from Australia and New Zealand with well over a terabyte in pictures. I know I'll do much of my edits in Imerge  but I'll be going through PhotoRaw first to find my hero shots.

    I'll copy this to the correct forum. 

  • IamJoshuaDaviesIamJoshuaDavies Staff Administrator Posts: 356 Staff

    @gerryhernandez what kind of software are you hoping to make? Qt is a great toolkit, but there might be faster options depending on what you're trying to get done. :)

  • gerryhernandezgerryhernandez Website User Posts: 3

    Hey there. I had a hard time finding this thread after leaving the forum for a while. Sorry about that!

    DanielGWood - thanks for the informative response. You've confirmed one of my suspicions; drawing in an OpenGL context for some of the UI. I can definitely see that in the composite editor, plus I'm guessing it's in a few other spots, too, like the editor timeline. I suppose I could run Renderdoc and peek into all your trade secrets... LOL! Kidding. :)

    @IamJoshuaDavies - I'm actually creating something completely and absolutely unrelated to Hitfilm, but I do use Hitfilm at a very basic level to make our videos! I'm horrible at film making and video editing, so ignore the poor quality. My wife and I are both musicians and engineers. We put on completely over-engineered holiday light displays every year (info: Holiday Photonics) at our house to get kids interested in STEAM: science, technology, engineering, arts, and mathematics. And let's face it, it's kinda cool.

    What I'm making is an entirely new, from the ground up light show CAD software. We already have some random pieces here and there, mostly broken but kinda works, which is part of the reason why our shows look and feel different than most others. But our ultimate goal is simply not possible with the current state of the art, so I'm dabbling into this hobby project. I'm heavily considering Qt because it does solve a lot more problems than just the GUI, but a majority of the problems I'm interested in are also solved by Valve's SDL2. I'm currently prototyping with SDL2, OpenGL 4.1 (common denominator between Windows, Linux, and MacOS), and NanoGUI/NanoVG. I'll try Qt next, for sure.

    To be honest, with this being a hobby and making literally negative dollars on it, I'll likely go with whatever is easier and takes less development time for what I'm trying to accomplish. I have a feeling that Qt will win in this category. We'll see!

  • CedricBonnierCedricBonnier Staff Administrator, HitFilm Beta Tester Posts: 1,189 Staff

    @gerryhernandez That is really cool!

    Regarding programming your UI, it really depends how much you would like to create. Qt does give you a lot out of the box, you have every type of control you may want mostly ready to go. If you only need a handful of button styles though, SDL might be enough for you.

This discussion has been closed.