Visual Productions forum

Author Topic: MIDI Feedback  (Read 9065 times)

April 03, 2010, 11:15:35 AM
Reply #15

vnx

  • Member
  • *
  • Posts: 93
Hi,

Yes, the trigger is working without a problem in the most recent version of Cuelux. At least the active trigger did not work in the last version, but Maarten has fixed that.
However there is one limitation: The "Playback Button x Active/Inactive" feedback triggers appear to be only implemented up to the 12th button. I have already told Maarten about it in another thread and hope that it can be fixed soon...

Best,

Ben
« Last Edit: April 03, 2010, 02:14:40 PM by vnx »
Cuelux 1.03b22 on MacBook Pro (MacOSX 10.6.5) / Thinkpad X41t (WinXP) using Livid Ohm64 Controller

April 08, 2010, 12:09:40 AM
Reply #16

KnowSlumber

  • Member
  • *
  • Posts: 145
I just want to reiterate what s going on.

My goal:
To turn on the green light (send velocity=01) when Playback Button 01 Active
and to turn on the red light (send velocity=03) when Playback Button 01 Inactive

This code:
Code: [Select]
<action>
                    <trigger type="Unsigned" specifier="Change">Playback Button 01 Active</trigger>
                    <tasks>
                        <task type="Midi" function ="Set">
                            <argument type="Midi Address">Channel 0 - Message 09 - Index 53</argument>
   <argument type="Unsigned">01</argument>
                        </task>
                    </tasks>
</action>
does send the correct velocity (i.e. color).

However, when I add another action (i.e. the Inactive/Red sending code):
Code: [Select]
<action>
                    <trigger type="Unsigned" specifier="Change">Playback Button 01 Inactive</trigger>
                    <tasks>
                        <task type="Midi" function ="Setl">
                            <argument type="Midi Address">Channel 0 - Message 09 - Index 53</argument>
   <argument type="Unsigned">03</argument>
                        </task>
                    </tasks>
</action>

So that the whole feedback action script looks like this:
Code: [Select]
<actionlist enabled="true" label="feedback" source="System">

<action>
                    <trigger type="Unsigned" specifier="Change">Playback Button 01 Active</trigger>
                    <tasks>
                        <task type="Midi" function ="Set">
                            <argument type="Midi Address">Channel 0 - Message 09 - Index 53</argument>
   <argument type="Unsigned">01</argument>
                        </task>
                    </tasks>
</action>

<action>
                    <trigger type="Unsigned" specifier="Change">Playback Button 01 Inactive</trigger>
                    <tasks>
                        <task type="Midi" function ="Set">
                            <argument type="Midi Address">Channel 0 - Message 09 - Index 53</argument>
   <argument type="Unsigned">03</argument>
                        </task>
                    </tasks>
</action>

</actionlist>

The script in this order seems to ignore the Active script and just execute the Inactive script.

Therefore, I get the button to light up red when its Inactive, but when the button becomes Active the light stays on.
Which leaves me with a red light that stays on no matter what.

Changing to "Set" to "Control":
Code: [Select]
<actionlist enabled="true" label="feedback" source="System">

<action>
                    <trigger type="Unsigned" specifier="Change">Playback Button 01 Active</trigger>
                    <tasks>
                        <task type="Midi" function ="Control">
                            <argument type="Midi Address">Channel 0 - Message 09 - Index 53</argument>
   <argument type="Unsigned">01</argument>
                        </task>
                    </tasks>
</action>

<action>
                    <trigger type="Unsigned" specifier="Change">Playback Button 01 Inactive</trigger>
                    <tasks>
                        <task type="Midi" function ="Control">
                            <argument type="Midi Address">Channel 0 - Message 09 - Index 53</argument>
   <argument type="Unsigned">03</argument>
                        </task>
                    </tasks>
</action>

</actionlist>

Has the effects of executing only the first Active script, and sending velocity at full.
It does, however, turn off when the Playback Button is no longer Active.

I'm almost there, but yet so far. And I've been working on this problem for weeks and weeks.

So please, is there a way to write the code to:

To turn on the green light (send velocity=01) when Playback Button 01 Active
and to turn on the red light (send velocity=03) when Playback Button 01 Inactive?

Also:

Just tested with control and v.1024 does only have feedback implemented to 12 playback button.
When are the rest going to be supported?
« Last Edit: April 08, 2010, 01:22:04 AM by KnowSlumber »

April 13, 2010, 01:59:43 PM
Reply #17

Maarten Engels

  • Administrator
  • Member
  • *****
  • Posts: 2383
    • www.visualproductions.nl
What happens is that both:
<trigger type="Unsigned" specifier="Change">Playback Button 01 Active</trigger> and
<trigger type="Unsigned" specifier="Change">Playback Button 01 Inactive</trigger> will get triggered because both change state. When Active becomes false, then Inactive becomes true. And vice versa.

Please use v1.02.6 which will become available shortly. In this version you use the specifier field to get the desired result. You could have:
<trigger type="Unsigned" specifier="Down">Playback Button 01 Active</trigger> and
<trigger type="Unsigned" specifier="Down">Playback Button 01 Inactive</trigger>. Now only one of each will get triggered which ever becomes true.

I have increased the feedback on the button playbacks from 12 to 24, please take into account that this is relative to the current selected bank.
Maarten Engels
Visual Productions BV

April 15, 2010, 12:58:15 AM
Reply #18

KnowSlumber

  • Member
  • *
  • Posts: 145
Gave this a shot:

Code: [Select]
<actionlist enabled="true" label="feedback" source="System">

<action>
                    <trigger type="Unsigned" specifier="Down">Playback Direct Button 01 Active</trigger>
                    <tasks>
                        <task type="Midi" function ="Set">
                            <argument type="Midi Address">Channel 0 - Message 09 - Index 53</argument>
    <argument type="Unsigned">01</argument>
                        </task>
                    </tasks>
</action>

<action>
                    <trigger type="Unsigned" specifier="Down">Playback Direct Button 01 Inactive</trigger>
                    <tasks>
                        <task type="Midi" function ="Set">
                            <argument type="Midi Address">Channel 0 - Message 09 - Index 53</argument>
    <argument type="Unsigned">03</argument>
                        </task>
                    </tasks>
</action>

</actionlist>

Will light up Green (vel01) when active, no response from inactive.

Any idea?
« Last Edit: April 15, 2010, 02:57:57 AM by KnowSlumber »

April 15, 2010, 05:32:45 PM
Reply #19

Maarten Engels

  • Administrator
  • Member
  • *****
  • Posts: 2383
    • www.visualproductions.nl
@ KnowSlumber
From v1.02.7 I have enabled the following code to show a playback state/color on your APC40:

Code: [Select]
               <action>
                    <trigger type="Unsigned" specifier="Change">Playback Direct Button 01 State</trigger>
                    <tasks>
                        <task type="Midi" function ="Control APC40">
                            <argument type="Midi Address">Channel 0 - Message 9 - Index 0</argument>
                        </task>
                    </tasks>
</action>


Could you please give it a go on the APC40 and let me know if it works? v1.02.7 will be online shortly.
Maarten Engels
Visual Productions BV

April 16, 2010, 03:03:30 AM
Reply #20

KnowSlumber

  • Member
  • *
  • Posts: 145
Owow! :o

That's awesome. I'll def let you know.
Do I still use  <argument type="Unsigned">03</argument> to control vel/color?

April 17, 2010, 12:19:27 PM
Reply #21

Maarten Engels

  • Administrator
  • Member
  • *****
  • Posts: 2383
    • www.visualproductions.nl
no, the second argument is not required anymore, it's done in the code.
Maarten Engels
Visual Productions BV

May 08, 2010, 04:53:10 AM
Reply #22

KnowSlumber

  • Member
  • *
  • Posts: 145
Almost forgot.

The feedback is working flawlessly.

Thanks again, Maarten, this has been insanely helpful.

 

SMF spam blocked by CleanTalk