Giter Site home page Giter Site logo

Comments (2)

 avatar commented on June 7, 2024

My opinion

I definitely prefer Tiling Panels.

I've used FL Studio, Live and Bitwig and the floating windows of FL Studio are really annoying and unsatisfying to work with and something that shouldn't be a thing you have to deal with while you are making music. When using Bitwig I never have to think about arranging my windows which is great.

Of course this also means that the user would have less flexibility to rearrange the windows which forces the user to adapt to the DAW instead of the other way around. For Meadowlark I definitely see the point of making the UI more modular, but for me it should still be possible to have tiling panels. I think Blender does a great job at achieving this modularity.

Main Idea

Everything defaults to a tiled panel view so that you essentially end up with a DAW that looks similar to Live or Bitwig, but with the ability to rearrange most panels or even all panels however you want to.

Edit Mode / Rearranging

To make rearranging possible and still clean looking we might have something like an Edit Mode that you can activate. If activated you are able to rearrange the panels the way you want to and then save the changes when leaving the Edit Mode.

The rearranging might be done using title bars and borders that are only available/shown while inside of the Edit Mode. Another idea would be that the whole UI is mostly deactivated while in the Edit Mode so you can just interact with the frame of the panel and just drag and drop them around however you like. The rearranging should be snapping so that you always end up with a clean tiled panel look, but have it organized the way you want it to.

Panel structure

Every panel should be of a type that can be reused and rearranged however one likes to. This would mean that we would have a TimelinePanel, MixerPanel, BrowserPanel, PropertyPanel and so on. Those are essentially just the things that allow users to communicate with the backend. Having these be removable and rearrangeable everyone can just build there own UI.

Multiple panels of the same type

It might also be worth considering if you can only have one panel of a type (e.g. one TimelinePanel, one MixerPanel, etc.) or if you can have multiple panels. Essentially we have to structure panels in a way that they respond to data changes in some way. If we have a good implementation of this having multiple panels that point to the same data shouldn't be a problem.

I personally don't have a need for this, but maybe that's because it's not possible in the DAWs I tried

Plugins

When using tiling panels we would need floating windows for external plugins regardless. For internal plugins that profit from a larger interface it would be nice to be able to use the space of the timeline for a single plugin view (like an EQ for example; So essentially changing the panel type from TimelinePanel to PluginViewPanel or something like this) or even detach the whole plugin into a separate window. This would be especially useful for things like analyzers that you could just move to a second screen.

I personally love the plugin racks from Live or Bitwig that let you interact with every internal plugin in a small tiled view instead of having to open an additional window/view for all of them (like with external plugins for example). This makes the interface really clean and productive.

Workspaces

While using a tiling window manager I really started appreciating the fact that you can have multiple workspaces set up the way you want them to and just switch between them. Live for example has a Session View and a Timeline View which is optimized for different things.

I would definitely like to have generic workspaces inside of the DAW. Together with the modular structure mentioned above I can see great potential. You could create a workspace to work on the timeline, a workspace to work in the piano roll or on automations etc.. You for example don't need to see your sample browser while changing automations which also helps users with smaller screen resolutions.

This could be a real productivity boost since you can just setup your DAW once with the Edit Mode described above and use the the DAW to it's full potential.

Projects

Adding to the idea of workspaces, having multiple projects open at a time is also really convenient. This is for example done in Bitwig where you can have multiple projects open at a time, but only activate the audio engine for one of them. The combination of having multiple workspaces and multiple projects open at a time would be really phenomenal in my eyes.

The workspaces would probably be the same for each project, because I wouldn't save the workspace setup in the project file. So you could just switch projects and look at them in the same workspace. This would also allow us to have a Live like session view if desired.

References

  • Blender allows to rearrange/resize the individual panels however you like and also have multiple panels of the same type that are synced with the underlying data.
  • Bitwig allows resizing some panels like the browser window for example.
  • Bitwig already has a pop out / make a window floating feature for internal plugins that have a large view like the Eq-5 for example.

from meadowlark.

careymcmanus avatar careymcmanus commented on June 7, 2024

I really like where your thinking is at with this.
It seems a bit like the approach vs code takes which is more of tiling approach with a workspace configuration file that lets you modify the layout (amongst other things) which I really like particularly in comparison to Visual Studio which has a floating window style UI which drives me up the wall.
I think that your right with the idea that you want the ability to customise the UI to your workflow but once youve done that be able to lock it in that way you don't accidently change your layout all the time.
One of the things that can be tricky is making the configuration both easy to do and powerful, as in I want to be able to change everything but I also don't want get bored trying to work it out. I think vscode does a pretty good job of this by have a UI settings editor which covers the most common settings and then a json settings file that has all of the available settings if you want to spend the time looking up the docs.

from meadowlark.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.