brummer10 / guitarix

guitarix virtual versatile amplification for Jack/Linux
236 stars 24 forks source link

MIDI CC for Bypass, Mute, Tuner and Master Volume should be independent of presets. #87

Closed fernando-inf closed 2 years ago

fernando-inf commented 2 years ago

Hi, I've been adding the Tuner option (https://github.com/brummer10/guitarix/issues/14) to my MIDI Pedalboard's code. In the midst of this I found out that the Assignment of MIDI CC to Bypass, Mute and Tuner are done to the presets. In other words, when changing preset, the tuner can no longer be muted or enabled, the MIDI CCs must be assigned to the other presets again. MIDI CC for Bypass, Mute, Tuner, Master Volume should be independent of presets.

On the other hand, I think it would be good to implement in the command line the option to start Guitarix with "Send Midi Feedback" and "Tuner Midi Out" enabled.

Also the bypass option that is on the left side of Mute does not work, there are no changes in the audio when activating or deactivating it.

Thank you for always being attentive!

brummer10 commented 2 years ago

Hi fernando 1.) By any chance, do you've enabled the option "Save midi in preset"? Normally all MIDI CC settings will be saved global, just when you select "Save midi in preset" they will be part of the preset.

2.) Okay, I've pushed a Fix for it to the repository, you've now the command-line options --tuner-midi-feedback and --jack-midi-feedback to start guitarix with the desired options.

3.) You mean the "Bypass jack insert port", Well, you should only hear a difference when you use a other, outside effect between gx_head_amp and gx_head_fx. When bypass, this ports been bypassed, means effect processing which runs outside of guitarix. When you haven't a effect there, you ain't hear a difference.

fernando-inf commented 2 years ago

1.) By any chance, do you've enabled the option "Save midi in preset"? Normally all MIDI CC settings will be saved global, just when you select "Save midi in preset" they will be part of the preset.

Hello, yes, I had activated "Save midi in preset", because I need it like this. Now it turns out that when I disable "Save midi in preset", I can assign MIDI Globally. But when I enable "Save midi in preset" again and then select a preset that has another MIDI CC assigned to it, then the globally assigned MIDI CCs are erased. This means that the "Save midi in preset" function and the "Global MIDI Assignment" function are not compatible with each other.

2.) Okay, I've pushed a Fix for it to the repository, you've now the command-line options --tuner-midi-feedback and --jack-midi-feedback to start guitarix with the desired options.

Thanks!. This will be of great help to incorporate it into a Script.

3.) You mean the "Bypass jack insert port", Well, you should only hear a difference when you use a other, outside effect between gx_head_amp and gx_head_fx. When bypass, this ports been bypassed, means effect processing which runs outside of guitarix. When you haven't a effect there, you ain't hear a difference.

Okay, now I understand "Bypass jack insert port", I have tested it and it works correctly.

Regarding the Master Volume, I have had problems. I have tried using "Mono Level Out" (in the Rack), but it has 2 drawbacks:

  1. A MIDI CC (on/off) must be added to make sure it is turned on.
  2. It does not totally decrease the volume. The sound is still heard even when it is set in minimum (-20).

Wouldn't it be better to incorporate a Master Volume next to the Mute Button at the bottom right?

Greetings!.

P.D: I don't know if you notice it, but in the MIDI CC Number box, when a 3-digit number is placed, it turns black and the numbers cannot be seen. MIDICC-BOX-Error

brummer10 commented 2 years ago

This means that the "Save midi in preset" function and the "Global MIDI Assignment" function are not compatible with each other.

Yes, you could have the one or the other, exclusive.

Wouldn't it be better to incorporate a Master Volume next to the Mute Button at the bottom right?

Just use the Master Volume in the amp unit, that is the overall Rack output Volume controller.

I don't know if you notice it, but in the MIDI CC Number box, when a 3-digit number is placed, it turns black and the numbers cannot be seen.

Ah, thanks for reporting, I've pushed a fix for it now.

fernando-inf commented 2 years ago

Hi Brummer, thanks for responding.

Yes, you could have the one or the other, exclusive.

I understand that it is a difficult job. Maybe in the future they could work together: global MIDI CC mapping for some buttons and preset mapping for others.

But for the moment, I think at least a fix could be incorporated so that global assignments are not erased when someone accidentally presses "Save midi in preset". Maybe add an option in the "MIDI Controller" window to see the global assignments that was made previously in case you want to return to this option.

Just use the Master Volume in the amp unit, that is the overall Rack output Volume controller.

Are you referring to the master volume of the main rack? This presents two problems:

  1. It is used to limit the decibel level of each preset (if you set it too high the preset starts to make noise), therefore it varies in each case. In case of global assignment of MIDI CC it would not work.
  2. It does not completely mute the audio, in High Gain settings you can still hear Noise (Video Attachment).

Greetings!.

P.D: A few days ago I have been noticing that I can only see all the racks of my preset if I place the Guitarix window maximized. If I place it on the side of the monitor, I can't go down the racks or see the option to choose presets. My monitor is 1360x768 with Desktop XFCE 4.16 (the error is shown in the second part of the attached video).

VIDEO: https://youtu.be/xh3MWasbStY

fernando-inf commented 2 years ago

P.D: A few days ago I have been noticing that I can only see all the racks of my preset if I place the Guitarix window maximized. If I place it on the side of the monitor, I can't go down the racks or see the option to choose presets. My monitor is 1360x768 with Desktop XFCE 4.16 (the error is shown in the second part of the attached video).

If you cannot reproduce this error. So, enable "Split" and then disable it. Maybe you can see the problem.

brummer10 commented 2 years ago

Guitarix save always your last used GUI size. So, to solve your issue, just enable split, make the GUI high a bit smaller and exit guitarix. Next time you start guitarix the new high is the default also for the normal view.

For the volume issue, guitarix have a lot volume options, booster, non-linear effects and such. this makes it nearly impossible to have a general volume control with the ability to absolutely silence out all effects cause the range to manage is simply to big. Still you could always mute the output.

fernando-inf commented 2 years ago

Guitarix save always your last used GUI size. So, to solve your issue, just enable split, make the GUI high a bit smaller and exit guitarix. Next time you start guitarix the new high is the default also for the normal view.

Hi, you were right, I resized the window and after rebooting it was fine. But re-enabling and disabling "Split" makes the window very long again.

For the volume issue, guitarix have a lot volume options, booster, non-linear effects and such. this makes it nearly impossible to have a general volume control with the ability to absolutely silence out all effects cause the range to manage is simply to big. Still you could always mute the output.

I think a general volume in the area of the mute button would be great, but if you don't think it is necessary, I respect it.

You do not forget the other problem that I comment you. When switching from global MIDI assignment to "Save midi in preset", global assignments are erased, there is no way to get back to them, even disabling "Save midi in preset". To reproduce the bug do this:

  1. Enable "Save midi in preset", assign MIDI CC to some Preset and save.
  2. Disable "Save midi in preset" and delete all MIDI CCs in the window, then assign MIDI CCs globally to different buttons.
  3. Enable "Save midi in preset" and choose a preset that had individual MIDI CC assignments. This way you will see that the global assignments are erased.
brummer10 commented 2 years ago

This is what I said, you could only have the one, or the other. Include your MIDI CC's into all presets to have the ability to use different sets for different presets, or use one global set which is always true. Jumping between those options would lead to a beehive as you noticed. Simply, there could only be one midi controller list at the time, which will be a global set, or a set which will be loaded with the preset and so overwrite the last used set.

fernando-inf commented 2 years ago

Okay, I see that the MIDI assignments are saved in "gx_head_rc", I will make a backup so as not to completely lose the global assignments. Greetings.