[NEW] Midi assign and mixer overhaul, fixes

MusE is a DAW for Linux with both MIDI and Audio editing. https://muse-sequencer.github.io

Moderators: MattKingUSA, khz, spamatica

Post Reply
Tim E. Real
Established Member
Posts: 667
Joined: Sat Sep 15, 2012 12:36 am
Has thanked: 38 times
Been thanked: 107 times

[NEW] Midi assign and mixer overhaul, fixes

Post by Tim E. Real »

In response to a simple request from these forums, I took a break from other fixes that
I was working on and made some changes and went pretty far with them,
it was fairly complicated. But good to see them working.

First a change log, then some pictures and stuff:

* New: Midi control assignment: Mute and Solo buttons can now be assigned to.
Note this does NOT mean that Mute and Solo have actual controller graphs,
it was decided against that. (A request from forums.)

* New: Midi control assignment: Two assignment types now available in the
Midi Control dialog: Track, which dedicates assignments to a single track,
and Song which assigns to ANY tracks when they are selected.
Availability of this new option varies with selected target control,
for example only Volume and Pan audio controllers can be set to Song
assignment type because they are the only ones common to ALL audio tracks,
and other controllers mean different things to different tracks.

* New: Momentary Mute and Solo buttons! Enable them in Global Settings or via
the mixer or strip menus.

Mixer: Fixed bug: When empty would not add any new tracks.

Mixer: Ensure mixer is always large enough to show 'Create' and 'View' menus.

Mixer strips: Code cleanup: Replaced Strip::mousePress/Release/MoveEvent
with track name label handling and context event hadling because all the Qt
standard controls on the strip were passing events to the strip. Rewrote
strip popup menus, most stuff moved into the mixer View menu.

Here is a picture of the new Midi Control assignment dialog:
assign_dialog.png
assign_dialog.png (37.8 KiB) Viewed 1442 times
Here is a picture of the new momentary mute and solo settings in Global Settings
also available via the mixer and strip popup menus:
momentary_mute_solo.png
momentary_mute_solo.png (5.77 KiB) Viewed 1442 times
Please note that if possible you should set up your external control device appropriately.
For example, if the mute and solo buttons are momentary, you should set your device
for 'momentary' buttons. If the mute and solo buttons are non-momentary (toggle),
you should set up your device for 'toggled' buttons.
Currently there are no scaling or min/max settings in the assignment dialog,
although internally the midi value is automatically scaled to fit the target controller range.
An 'on' is detected as being a value greater than or equal to 64, while an 'off' is detected
as being a value less than 64.
I am looking towards adding input type, output type, input scaling with clip vs. scale,
and output scaling support. For now I just want to commit what I have done so far.

Please note that detection of Registered Parameter Numbers and Non-Registered Parameter Numbers
controllers is spotty in MusE. Your results may vary, and it might not detect them at all.
Let me know if it actually detects them for you.
I am working on that long-time issue in another branch.

Let me know if any trouble.
Tim.
Tim E. Real
Established Member
Posts: 667
Joined: Sat Sep 15, 2012 12:36 am
Has thanked: 38 times
Been thanked: 107 times

Re: [NEW] Midi assign and mixer overhaul, fixes

Post by Tim E. Real »

Please note that if possible you should set up your external control device appropriately.
For example, if the mute and solo buttons are momentary, you should set your device
for 'momentary' buttons. If the mute and solo buttons are non-momentary (toggle),
you should set up your device for 'toggled' buttons.
Sorry, incorrect statement.

The choice of momentary or toggled midi input controller device is yours,
regardless of the app's momentary mute and solo settings.
You are free to set up your input controller as appropriate.

Even when the app's momentary mute or solo settings are on, an external midi
controller assignment can still either toggle or momentarily operate the buttons,
as you wish.
The buttons will still show as being down - and stay down, even though they might be
momentary when pressing with a mouse.

Also, it has occurred to me that per-track and per-button momentary settings might be desirable...
dftlm
Established Member
Posts: 42
Joined: Thu Sep 22, 2022 12:54 pm
Has thanked: 1 time

Re: [NEW] Midi assign and mixer overhaul, fixes

Post by dftlm »

@Tim E. Real

I tested.

Now I can assign the mute button, but the feedback is the opposite: when I press the controller mute button, I have track unmuted (sound at maximum volume) and the mute icon appears in the track column, and when I press it again, I have the track muted (volume 0) and in the mute track column icon disappears......

I want it when I press the controller mute button, track to be mute with mute icon appear, and when press again, track unmute with mute icon disappear and with volume level goes back to where it was before mute.

I mention that I have tried all mute button controller settings... single, momentary, toggle...
Tim E. Real
Established Member
Posts: 667
Joined: Sat Sep 15, 2012 12:36 am
Has thanked: 38 times
Been thanked: 107 times

Re: [NEW] Midi assign and mixer overhaul, fixes

Post by Tim E. Real »

Hm, strange, I tested and everything seems OK here.

It sounds like maybe your controller mute buttons are programmed inverted?
Like maybe press = 0, no press = 127 ?
It should be press = 127, no press = 0.

Can anyone else watching this thread confirm what this poster is seeing?
User avatar
Impostor
Established Member
Posts: 1386
Joined: Wed Aug 17, 2022 1:55 pm
Has thanked: 145 times
Been thanked: 360 times

Re: [NEW] Midi assign and mixer overhaul, fixes

Post by Impostor »

When assigning temp. mute to pitch wheel, it works as expected. That is, unmuted in neutral, muted when pitch is increased. Icon behaviour is normal too. I have no single-press buttons on the midi keyboard to test it with though..
Last edited by Impostor on Mon Oct 17, 2022 7:01 pm, edited 1 time in total.
dftlm
Established Member
Posts: 42
Joined: Thu Sep 22, 2022 12:54 pm
Has thanked: 1 time

Re: [NEW] Midi assign and mixer overhaul, fixes

Post by dftlm »

I tried again, in all possible combinations, all settings for controller mute button, pressed=127(0), pressed again=0(127), but mute icon behavior is reversed; when I have volume=0, I don't have mute icon, and when I have volume=127 mute icon appears.
Tim E. Real
Established Member
Posts: 667
Joined: Sat Sep 15, 2012 12:36 am
Has thanked: 38 times
Been thanked: 107 times

Re: [NEW] Midi assign and mixer overhaul, fixes

Post by Tim E. Real »

Hi all. Just a quick update:
I completely forgot to mention that with this batch of code,
Midi Track Properties can now be assigned to.

This means the Midi Track Transpose, Delay, Length, Velocity, and Compression properties,
which are found on the 'Prop' tab of each Midi Strip, can be assigned to from an external Midi controller.
Simply right-click on each control to see the familiar Mid Assign menu.

Note however, that there are no actual controller graphs for these properties.
Perhaps something for a later date...

T.

Post Reply