[Bug Report] ALV changes preset (previous/next) in my Playlist when receiving MIDI CC #28 and #29

@frosas - Thanks for mentioning this. With the CK, there is such a tool but it’s on iPad (which I don’t have). The CK is much simpler so I don’t feel that I need the tool anyway. But it explains the need for exchanging all sorts of CCs to synchronize the tool (on a computer) with the device. On my end, I have a Korg with an external editor and I now appreciate why all those CCs are sent in and out. Too bad that both vendors don’t implement MIDI-out filtering properly (AFAIK).

@LBH - This is the actual answer you were after (for why the Yamaha keyboards send all those CCs). In my case, CC#28/29 are only sent out (live and upon program changes) when Part B’s EG defaults are overriden (on the front panel).

EDIT: Oh wow @frosas, I just found out I could use Soundmondo on a Mac and push pre-made patches to my CK61. Cool because I like Analog Lab V/Pro to alleviate some of the limitations of the CK. Now with both having the ability to give me pre-made presets, I have an accelerated workflow – i.e. I’m still far from needing Gig Performer and stuff like Narfsounds :slight_smile:

With my humble knowledge I just can set the MIDI parameters to YES or NO, but I do not know how to map specific CCs.

1 Like

Don’t know what do you mean by “add your vote”, but I definitely support the ask to Support.

Okay. Thanks @frosas.

I’m not sure if Arturia looks at those but there’s a Vote button at the top left of each thread.

@EricP

If all vendors send out for a function irrelevant different midi CC’s so other gear in reality can’t use those midi CC’s for anything, then we will way too soon run out of control change parameters to control our gear.

Good you have informed Arturia Support about the documentation.

@LBH - You probably saw my other answer on your question about CC#28/29 vs CC#00/32. CC#28/29 are not used as bank selection or program changes. They’re sent in addition to CC00/32 and PC. Here’s an example of what gets sent when hitting one of my patches on the CK61 (excluding SysEx):

13:21:06:651 Port1 Ch 1 CC       B0 7B 00 [123 All Notes Off,   0]
13:21:06:651 Port1 Ch 1 CC       B0 78 00 [120 All Sound Off,   0]
13:21:06:651 Port1 Ch 1 CC       B0 40 00 [064 Damper Pedal,   0]
13:21:06:651 Port1 Ch 1 CC       B0 42 00 [066 Sostenuto,   0]
13:21:06:651 Port1 Ch 1 CC       B0 00 3F [000 Bank (MSB),  63]
13:21:06:651 Port1 Ch 1 CC       B0 20 02 [032 Bank (LSB),   2]
13:21:06:651 Port1 Ch 1 PC       C0 02    [  2]
13:21:06:859 Port1 Ch 1 CC       B0 0C 4D [012 Effect 1,  77]
13:21:06:859 Port1 Ch 1 CC       B0 1B 73 [027 ---, 115]
13:21:06:860 Port1 Ch 1 CC       B0 57 4E [087 ---,  78]
13:21:06:860 Port1 Ch 1 CC       B0 4A 40 [074 Brightness,  64]
13:21:06:860 Port1 Ch 1 CC       B0 47 40 [071 Harmonic,  64]
13:21:06:860 Port1 Ch 1 CC       B0 1E 3E [030 ---,  62]
13:21:06:860 Port1 Ch 1 CC       B0 1F 61 [031 ---,  97]
13:21:06:861 Port1 Ch 1 CC       B0 49 40 [073 Attack,  64]
13:21:06:861 Port1 Ch 1 CC       B0 48 5A [072 Release,  90]
13:21:06:861 Port1 Ch 1 CC       B0 1C 57 [028 ---,  87]
13:21:06:861 Port1 Ch 1 CC       B0 1D 6B [029 ---, 107]
13:21:06:861 Port1 Ch 1 CC       B0 45 69 [069 Hold2, 105]
13:21:06:861 Port1 Ch 1 CC       B0 46 38 [070 Variation,  56]
13:21:06:862 Port1 Ch 1 CC       B0 5B 19 [091 Reverb,  25]

Still a/ the main problem.

Done! I added my vote.

1 Like

@LBH - LOL, right, the root cause. I think that my old-school mindset may be at fault here (compared with most keyboardists) - i.e. I buy/keep what I need now (my CK + ALV) vs buying something much more expensive that I feel I can grow into for years.

Thanks for all your help!

For future ref., for my Yamaha CK-61, I’m using the following MIDI config (see below). CCs in the 52-57 range are unused by the Yamaha but they’re assigned to ALV controls I’m not using at the moment (to avoid unexpected behaviour). This might be useful info for you @frosas.

<?xml version="1.0" encoding="utf-8"?>
<rootnode>
	<midiconfig name="Yamaha CK61" factory="0">
		<assignment controller="13" paramid="325" channel="0"/>
		<assignment controller="14" paramid="327" channel="0"/>
		<assignment controller="18" paramid="334" min="1.000000" max="0.000000" channel="0"/>
		<assignment controller="19" paramid="335" min="1.000000" max="0.000000" channel="0"/>
		<assignment controller="20" paramid="336" min="1.000000" max="0.000000" channel="0"/>
		<assignment controller="21" paramid="337" min="1.000000" max="0.000000" channel="0"/>
		<assignment controller="22" paramid="338" min="1.000000" max="0.000000" channel="0"/>
		<assignment controller="23" paramid="339" min="1.000000" max="0.000000" channel="0"/>
		<assignment controller="24" paramid="340" min="1.000000" max="0.000000" channel="0"/>
		<assignment controller="25" paramid="341" min="1.000000" max="0.000000" channel="0"/>
		<assignment controller="26" paramid="342" min="1.000000" max="0.000000" channel="0"/>
		<assignment controller="52" paramid="371" channel="0"/>
		<assignment controller="53" paramid="370" channel="0"/>
		<assignment controller="54" paramid="362" channel="0"/>
		<assignment controller="55" paramid="363" channel="0"/>
		<assignment controller="56" paramid="360" channel="0"/>
		<assignment controller="57" paramid="361" channel="0"/>
		<assignment controller="58" paramid="366" channel="0"/>
		<assignment controller="59" paramid="367" channel="0"/>
		<assignment controller="71" paramid="326" channel="0"/>
		<assignment controller="72" paramid="330" channel="0"/>
		<assignment controller="73" paramid="328" channel="0"/>
		<assignment controller="74" paramid="324" channel="0"/>
		<assignment controller="91" paramid="331" channel="0"/>
		<assignment controller="92" paramid="332" channel="0"/>
		<assignment controller="93" paramid="329" channel="0"/>
	</midiconfig>
</rootnode>

Thanks @EricP ! How do you modify this configuration on the CK?

@frosas - I didn’t modify anything on the CK – I left it as a MIDI Controller w/o changes from defaults. I just added mappings (in ALV) to Arturia controls that Yamaha is not sending (CC52-59) to avoid issues (like unexpected preset switches or config changes).

The below table of my mappings should help understand what I write next:

This thread might be confusing because sometimes it’s about overriding a hidden ALV software control (visible only in XML) as a “Default CC”. Sometimes it’s about changing a CC number for a listed/visible control (in the ALV UI).

The original factory config (for 9 faders/knobs) has many CC# overlaps with the CK so I initially overrode most of them (with CCs linked with my organ faders and front panel knobs: CC13-14, 18-26, 71-74, 91-93) before this thread (ALV Factory uses CC16-19, 71-85, 93, 112-118) but I missed the “default” hidden ones that aren’t listed in the UI (CCs #22-24, #28-29, #118). The only one I didn’t override yet is CC#118 (XML calls it “SendValuesToMIDIController”). It is sent by the CK but I haven’t seen an effect from sending this CC to ALV. I might add a mapping for CC#118 if I see a problem later. For now, I’m trying to avoid creating bogus mappings.

Does that make sense?

@EricP That makes sense. Thanks for sharing!

I think that the best workaround is to comment-out the defaults in the XML file controllers.prefmidi.xml as follows…

# On MacOS (similar path on Windows)
% vi /Library/Arturia/Analog\ Lab\ V/resources/controllers/controllers.prefmidi.xml

431     <midiconfig name="Generic 9 Knobs + 9 Faders">
432         <!-- Part1, Part2, Live -->
433 <!-- COMMENTED OUT TO REMOVE THOSE DEFAULTS
434         <assignment controller="24" param="ControllerTabSelect1" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
435         <assignment controller="22" param="ControllerTabSelect2" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
436         <assignment controller="23" param="ControllerTabSelect3" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
437 -->
438         <!-- Previous, Next -->
439 <!-- COMMENTED OUT TO REMOVE THOSE DEFAULTS
440         <assignment controller="28" param="Previous Preset" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
441         <assignment controller="29" param="Next Preset"     isrelative="0" min="0.000000" max="1.000000" channel="0"/>
442         <assignment controller="118" param="SendValuesToMIDIController" isrelative="0" min="0.000000" max="1.000000" channel="0"/>
443 -->     
444     </midiconfig>

Thanks to you @LBH for pointing me out to this file. Much appreciated!

You are welcome @EricP.

I recommend making user midi configs in the instruments.

@LBH - Thanks for your answer. I’m not sure I understand exactly what you mean and why. Are you suggesting to do edits in each Software Instrument’s standalone UI? If so, my issue with this modification (in any of the UIs) is that, as I noticed, the defaults remain unless you override the specific CC number and the problem with that is sometimes you don’t want anything assigned to a generated CC (from a 3rd party controller).

Note also that MIDI mappings in the UIs of Analog Lab and standalone instruments don’t have a mappable function “Do Nothing” to help override defaults in XML. If “Do Nothing” existed in the UI, then all could be overridden in the UI (AFAIK). Or did I miss this?

I thought you had it working allready @EricP.

I’ve done some tests.

It’s strange i somehow don’t have the issue with the 9 knobs 9 faders controller setting in Analog Lab.

I have with the 9 knobs controller setting. And it look like i can’t even overwrite it in this controller setting. If i delete the assigments in the XML files it work, so it don’t go to Next/ Previous preset.

The problem is, that XML files can be overwriten when reinstalling and updating the application i think.

I tried deleting the XML codes for both controller settings. Then create a User Config. Then restored the original XML - i made a copy before editing. I hoped i then could select the User config i’ve made, and then it would work. Perhaps you can try this and similar.

Tested some more @EricP . I think there is a bug in the midi config system. Sometimes things behaves strange. Especially when trying to add add control parameters using the list and not learn.

There might even be faults in the default XML that will be corrected.

Hello @LBH, thanks for all your work. You’re impressing me!

I’ve noticed that in some situations, it’s best to restart Analog Lab to have a clean slate when testing, especially when CCs #22-24 have been sent (when ControllerTabSelect1-3 entries are not removed from XML).

FYI, I reported my Bug Report to Tech Support 6 days ago. Hopefully we’ll be able to sort some of this out soon.