LMMS / lmms

Cross-platform music production software
https://lmms.io
GNU General Public License v2.0
7.8k stars 986 forks source link

Top toolbar RTA (spectrum analyzer) #2214

Open unfa opened 8 years ago

unfa commented 8 years ago

The idea is to add a Foobar-like spectrum analyzer to the top panel of LMMS. There's some space there I think it might be useful to quickly check a frequency, a simple 100Hz/1kHz/10kHz grid could also be added to provide precise reference (why not?) so it's less of just a cool looking toy and more of a real tool. Here's a quick mockup:

top toolbar rta

I often find myself adding a spectrum analyser to the master bus and setting it to "Always on Top" - it helps me build the sense of where every sound resides and helps me plan my mix and even composition. very useful.

What do you think? Of course it should be possible to switch that off if the user doesn't need it and it drains his resources too much.

midi-pascal commented 8 years ago

@unfa Interesting idea indeed. But... what does this means in term of additional CPU usage? I like this but I think it should be optional (I work with a Pentium 4 CPU :)

unfa commented 8 years ago

Yeah, totally optional.

midi-pascal commented 8 years ago

I think something like the master output widget with a "Click to enable" inside would be really cool.

Wallacoloo commented 8 years ago

I like the idea. Do you think we should keep both the waveform and spectral displays separately, or should we merge them into one widget where only one type of output is displayed at a time? Something like:

Click the waveform display when it's off, and it turns on. Click the waveform display when it's on and it turns into a spectral display. Click the display a third time and it turns off again. Repeat.

unfa commented 8 years ago

I'd like to see both the waveform and the RTA at the same time, so I'd keep them separate. Similarly like with the "oscilloscope" clicking on it could toggle it on/off.

midi-pascal commented 8 years ago

Since it can be useful to see both at the same time, I would vote for separate displays.

Umcaruje commented 8 years ago

I love this idea :+1:

budislav commented 8 years ago

This is good idea but I think it is not so good for ui/ux side. Toolbar is not place for this. I think this should be in one window so it can be resizable and with more options. There can be Phase meter and Peak/RSM Level Meter also. This would be very handy when you do mastering. This can be implemented into tab system and if you have multiple monitors this can be on full screen. https://github.com/LMMS/lmms/issues/1911

visualization

unfa commented 8 years ago

Actually I don't do mastering in LMMS since I have Ardour, but for mixing this still could be useful. However I didn't want it to take too much space. Maybe it could be a detachable widget that can be docked in the toolbar or maximized on another screen?

budislav commented 8 years ago

I don't want to use two DAWs for one thing. LMMS should be good for mastering also. Still think that toolbar is not place for that and we need something bigger. You can see a data from all channels not only from master. You can dock this tab on any of horizontal sections and even to maximizing on another screen. That is a power of tab system.

lmms_dualscreens

michaelgregorius commented 8 years ago

I agree with @budislav. In my opinion the toolbar is not the correct place for such a tool. Making it possible to change the size of the widget and to dock it would give the users much more options and flexibility. Please also keep in mind that high DPI displays will (hopefully) become more and more common in the not so far future and that it's therefore in LMMS' best interest to be able to render as many elements as possible at different sizes. Unfortunately the current state of the code seems to be that it is cluttered with hard coded sizes and layouts. :(

budislav commented 8 years ago

@michaelgregorius for that reason everything should be drawn from software. I used only gradients, outlines, shadows, solid colors and transparency in my designs. So developers can easily develop all patterns like knobs, buttons, levels, backgrounds,... and UI will still remain clean, modern and user-friendly.

tresf commented 8 years ago

Can someone please explain to me what is different between this request and the Spectrum Analyzer we already have?

If there are features missing from ours, shouldn't we just have an enhancement to improve what we already have?

As far as always being on the screen, we don't have a single-window interface yet, but telling it to always be on top works well for now.

image

image

image

On a side note, we really have to start applying some practicality and feasibility to these bug reports. We're flooded every single day with people's nice-to-have wish lists, and it clutters our tracker. We need to focus on attainable goals and improving what we already have.

midi-pascal commented 8 years ago

@tresf

We're flooded every single day with people's nice-to-have wish lists, and it clutters our tracker. We need to focus on attainable goals and improving what we already have.

:+1: :+1: So many bugs left to fix! :smile:

Wallacoloo commented 8 years ago

@tresf @michaelgregorius Holding this discussion here only serves to force readers of this issue to parse through a lot of unrelated conversation. You should move the conversation elsewhere (be it another issue, a mail-list discussion, wiki discussion page?, etc). Be sure to remove the off-topic comments from this page afterward as well.

Edit: I did not mean to imply that the conversation on development direction isn't an important one to have - just that this isn't the place for it.

michaelgregorius commented 8 years ago

@Wallacoloo You're right. I have removed my off-topic comments.