View Issue Details

IDProjectCategoryView StatusLast Update
0001315OpenMPTFeature Requestpublic2020-04-30 15:27
ReporterAndreB Assigned To 
PrioritynormalSeverityfeatureReproducibilityalways
Status newResolutionopen 
Platformx86OSWindowsOS VersionXP
Summary0001315: standard panning command to Midi-out
Description

Dear Programmer, dear Saga Musix

Volume and Velocity can be handled great for MIDI, I'm glad for that!
But why does the panning command (CC10) not get transmitted to the MIDI-out?
I mean, if some weird synth takes another command, oh well, no loss. But I think panning - next to volume, is one of THE basic things one should be able to control without much hassle. It's even in the the instrument parameters of OpenMPT.
I would greatly appreciate if OpenMPT could do it.

Kind regards,
Andre
PS: I'd also be interested to know: Are velocity/volume (and pitch and note-off) really the only standard tracker-effects that get sent to MIDI-out? Thank you in advance for the clarification!

Additional Information

panning cc10 in the official midi-standard:
https://www.midi.org/specifications-old/item/table-3-control-change-messages-data-bytes-2

TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)

Activities

Saga Musix

Saga Musix

2020-04-28 16:44

administrator   ~0004295

I mean, if some weird synth takes another command, oh well, no loss.

It's a bit more complicated than that, and not just "weird synths". Many plugins just don't use MIDI CCs at all. And I don't want to implement a half-baked solution that only works for some plugins, just to replace it by a solution that works for all plugins and then having to support both solutions forever. When you do that, you end up with the terrible volume handling situation that takes away more space in the instrument editor than it should. For this reason it's mostly a UI issue - once that UI issue has been solved, it's easy to support all plugins no matter if they support CC 10 or not.

For what it's worth, you can already manually transmit the current panning value to plugins using MIDI macros: https://wiki.openmpt.org/Manual:_Macro_Configuration#Panning_Variables

PS: I'd also be interested to know: Are velocity/volume (and pitch and note-off) really the only standard tracker-effects that get sent to MIDI-out? Thank you in advance for the clarification!

Why "only"? There's not much left apart from those. And yes, pretty much any effect apart from volume / pan changes is sent via MIDI. That includes arpeggio, tremor, vibrato and many other effects.

AndreB

AndreB

2020-04-28 17:54

reporter   ~0004296

So that's how it is, alright. I figured there could be a good reason, thank you for explaining.

But what about a little option called 'send panning' in a Setup-tab or the Instrument tab (right next to where panning is able to be set)?

I found the volume handling in the instrument editor very useful.

  • AndrĂ©
Saga Musix

Saga Musix

2020-04-28 18:04

administrator   ~0004297

little option called 'send panning' in a Setup-tab

Making this a global setting that affects all songs is an even worse idea.

or the Instrument tab (right next to where panning is able to be set

See, this is exactly the problem I was talking about - there is simply no space the instrument tab to address this problem properly. The volume command handling is already taking up way more space there than it should. I have considered in the past to put both volume and panning handling into a dialog that would be hidden behind a button on the instrument tab, but that would make reviewing those settings much more difficult. I just need a good idea how to solve this problem, then the issue is basically done. The rest of code the code is simple.

AndreB

AndreB

2020-04-30 11:03

reporter   ~0004299

Dear Saga Musix<p>
Admittedly, I didn't understand all that you said, but I believe you with pleasure. I'm a beginner with OpenMPT, and the setting up Macros I would have to learn first. <p>
If I may ask....You said arpeggio, tremor, vibrato, etc, get transmitted to midi; is that by macro-configuration, or standart effects? Does it in the manual somewhere list up the commands of Fasttracker or MPT that get transmitted to midi?
<p> Thank you for openly sharing that proplem, may I give a suggestion? What about moving some midi-stuff that is rather general over to the midi-in/out-plug-in screen? Each device needs it's own midi-plugin anyway, good for setting spertaining to the midi-device/plugin. What do you think? <p>
Kind regards,<br>
Andre

Saga Musix

Saga Musix

2020-04-30 12:47

administrator   ~0004300

You said arpeggio, tremor, vibrato, etc, get transmitted to midi; is that by macro-configuration, or standart effects?

Why don't you just try it yourself? You will see that these effects work out of the box. As Vibrato is implemented by using pitch bends, you need to set the correct pitch wheel depth in the instrument, just like for normal portamentos.

Does it in the manual somewhere list up the commands of Fasttracker or MPT that get transmitted to midi?

No, because the general assumption is that all effects are evaluated; it's just that not all of them (in particular volume related stuff) get transmitted because of the lack of standard behaviour. However, in principle it is possible to transmit any volume and panning commands by defining the correct MIDI macros.

What about moving some midi-stuff that is rather general over to the midi-in/out-plug-in screen? Each device needs it's own midi-plugin anyway, good for setting spertaining to the midi-device/plugin. What do you think?

These settings apply to any instrument plugins, not just the MIDI I/O plugin. And they are per-instrument, not per-plugin, so if you have two different instruments using the same plugin but have different volume configurations, you cannot express that anymore with your suggestion. And we have to keep supporting existing files which are configured that way (which do exist), so we cannot simply remove these instrument settings. They have to stay part of the instrument configuration. Again, this is part of the whole idea that I don't want to change the behaviour from one imperfect solution to another imperfect solution, because in the end that means that later on I have to support two imperfect solutions and one final (perfect) solution. I will find a proper way to handle this some day, but now is not the time I'm afraid.

AndreB

AndreB

2020-04-30 13:22

reporter   ~0004301

Thanks a lot for the interesting explanations. <br>
Yes, I should test it, good idea, with a synth that can receive all of them.
<p>
Okay, I see. but then why in the Instrument tab, Sample-based and midi-based is side-by-side, and not for the midi/plugin stuff a separate tab with only the things that actually do something to it. for instance, filter and resonance don't need to be in the instrument info, if my instrument isn't sample-based. Fasttracker even had it's own tab for the midi-instruments. :)
<br>
Andre

Saga Musix

Saga Musix

2020-04-30 13:23

administrator   ~0004302

You can have instruments with both samples and MIDI output at the same time. And again, such files already exist in the wild. If it was that simple, it would have already been done. :)

AndreB

AndreB

2020-04-30 13:58

reporter   ~0004303

Ah, true. <br>
But I didn't say they had to be separate, just another page for the midi/Plugin stuff. Wouldn't that be the change in the UI you're looking for? Then, you could browse through the instruments on their second pages or on their first pages.

Saga Musix

Saga Musix

2020-04-30 15:27

administrator   ~0004304

Again, it's not simply "just add another page / button / etc.". I don't want a temporary crappy UI. I want a good approach to solves the problem once and for all, and not implement a crutch that makes the program more difficult to use and that will be replaced with something better later. OpenMPT has suffered in the past from randomly throwing stuff together in the user interface (the instrument editor is actually a good example for that), and I don't want that to happen again.

PS: Comments in this issue tracker are formatted with Markdown, not HTML.

Issue History

Date Modified Username Field Change
2020-04-28 13:07 AndreB New Issue
2020-04-28 16:44 Saga Musix Note Added: 0004295
2020-04-28 17:54 AndreB Note Added: 0004296
2020-04-28 18:04 Saga Musix Note Added: 0004297
2020-04-30 11:03 AndreB Note Added: 0004299
2020-04-30 12:47 Saga Musix Note Added: 0004300
2020-04-30 13:22 AndreB Note Added: 0004301
2020-04-30 13:23 Saga Musix Note Added: 0004302
2020-04-30 13:58 AndreB Note Added: 0004303
2020-04-30 15:27 Saga Musix Note Added: 0004304