Hi Garth & fellow Hercules Mk2 users,

I've attached midi mapping and scripting files which include (basic) support for Fx/Cue/Loop modes. I say 'basic' in that at present only Fx mode does anything.

I've commented out the Fx/Cue/Loop LEDs from the VuMeters in the mapping file as these are now being used to indicate what mode we're in. This just leaves the master tempo and auto beat LEDs doing any metering. Not quite worked out yet what to do (if anything) on the metering front.

Now, the triangular buttons above the Fx/Cue/Loop LEDs, refered to as 'Fx Select' I think in the Mk2 manual, act at mode selectors for the 1/2/3 buttons. There are 4 modes: Eq Kill, Fx, Cue, Loop. When none of the Fx/Cue/Loop LEDs are on we are in Kill mode - this is the default at startup. Press the Fx Select button and you'll see the Fx/Cue/Loop LEDs cycle through, denoting the current mode for that channel.

Currently the 1/2/3 buttons do nothing in Cue and Loop modes. I've not had a chance yest to investigate Cue possibilities in Mixxx (or indeed what VDJ does with this) and I understand looping in Mixxx currently has it's own branch which I've not looked at yet.

In Fx mode, the 1/2/3 bottons control the flanger. Any of the buttons when *released* will toggle the flanger for that channel on/off. The reason for the toggle acting on release rather than push is as follows:

With any combination of the 1/2/3 buttons held down the Pitch pot for the same channel becomes a modifier for the Flanger depth, delay & period params. I say 'any combination' in that you can affect 1 or more of the parameters at the same time - hold down ann 3 buttons, turn the Pitch pot, and all 3 parameters change. If the Pitch wheel has been used in this fashion, then the subsequent release of the 1/2/3 buttons does not (and necessarily should not) toggle the flanger on/off. Once all buttons have been released, any subsequent release of any 1/2/3 button will again toggle the flanger on/off.

Please have a play when you can and let me know your thoughts. I generally much prefer things happening when a button is pushed rather than released, but the trade off here in in being able to 'shift' the Pitch pot seems worthwhile. I've left the 1/2/3 buttons when in Kill mode acting on push, not release.

Re. VU metering, I'm tempted to have the Fx/Cue/Loop/Master tempo/Auto Beat LEDs doing metering whilst in Kill mode, but turn off metering when in Fx/Cue/Loop mode. Any prefs/thoughts?

Any ideas/thoughts on any of this, please send back. I'm out of the mixxx for 2 weeks as of Saturday so will not be replying to anything until after then.

Cheers,

Jim.

--
James Evans
w: www.jamesevans.net
e: i...@jamesevans.net
t: +44 (0) 117 904 1486
m: +44 (0) 7900 985 936
<?xml version="1.0" encoding="utf-8"?>
<MixxxMIDIPreset schemaVersion="1" mixxxVersion="1.7.0">
  <info>
    <name>Hercules DJ Console Mk2</name>
    <author>Garth Dahlstrom</author>
    <description>This is a complete mapping for a Hercules DJ Console Mk2.</description>
  </info>
  <controller id="Hercules DJ Console Mk2 MIDI">
    <scriptfiles>
      <file filename="Hercules-DJ-Console-Mk2-scripts.js" functionprefix="HerculesMk2"/>
    </scriptfiles>
    <controls>
      <control>
        <group>[Master]</group>
        <key>crossfader</key>
        <status>0xB0</status>
        <midino>0x31</midino>
        <options/>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>HerculesMk2.play</key>
        <status>0xB0</status>
        <midino>0x08</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel1]</group> 
        <key>HerculesMk2.cue</key>
	<status>0xB0</status>
        <midino>0x09</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>PrevTrack</key>
        <status>0xB0</status>
        <midino>0x0B</midino>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>NextTrack</key>
        <status>0xB0</status>
        <midino>0x0C</midino>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>volume</key>
        <status>0xB0</status>
        <midino>0x32</midino>
        <options/>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>HerculesMk2.pitch</key>
        <status>0xB0</status>
        <midino>0x34</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>HerculesMk2.jog_wheel</key>
        <status>0xB0</status>
        <midino>0x36</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control> <!-- Headphones Deck A -->
        <group>[Channel1]</group>
        <key>HerculesMk2.pfl</key>
        <status>0xB0</status>
        <midino>0x21</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>filterLow</key>
        <status>0xB0</status>
        <midino>0x2E</midino>
        <options/>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>filterMid</key>
        <status>0xB0</status>
        <midino>0x2F</midino>
        <options/>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>filterHigh</key>
        <status>0xB0</status>
        <midino>0x30</midino>
        <options/>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>HerculesMk2.buttons123</key>
        <status>0xB0</status>
        <midino>0x0F</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>HerculesMk2.buttons123</key>
        <status>0xB0</status>
        <midino>0x0E</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>HerculesMk2.buttons123</key>
        <status>0xB0</status>
        <midino>0x0D</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>rate_temp_up</key>
        <status>0xB0</status>
        <midino>0x13</midino>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>rate_temp_down</key>
        <status>0xB0</status>
        <midino>0x14</midino>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>beatsync</key>
        <status>0xB0</status>
        <midino>0x0A</midino>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>HerculesMk2.play</key>
        <status>0xB0</status>
        <midino>0x02</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>HerculesMk2.cue</key>
        <status>0xB0</status>
        <midino>0x03</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>PrevTrack</key>
        <status>0xB0</status>
        <midino>0x05</midino>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>NextTrack</key>
        <status>0xB0</status>
        <midino>0x06</midino>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>HerculesMk2.buttons123mode</key>
        <status>0xB0</status>
        <midino>0x01</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>volume</key>
        <status>0xB0</status>
        <midino>0x033</midino>
        <options/>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>HerculesMk2.pitch</key>
        <status>0xB0</status>
        <midino>0x35</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>HerculesMk2.jog_wheel</key>
        <status>0xB0</status>
        <midino>0x37</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control> <!-- Headphones Deck B -->
        <group>[Channel2]</group>
        <key>HerculesMk2.pfl</key>
        <status>0xB0</status>
        <midino>0x22</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>filterLow</key>
        <status>0xB0</status>
        <midino>0x2B</midino>
        <options/>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>filterMid</key>
        <status>0xB0</status>
        <midino>0x2C</midino>
        <options/>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>filterHigh</key>
        <status>0xB0</status>
        <midino>0x2D</midino>
        <options/>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>HerculesMk2.buttons123</key>
        <status>0xB0</status>
        <midino>0x10</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>HerculesMk2.buttons123</key>
        <status>0xB0</status>
        <midino>0x11</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>HerculesMk2.buttons123</key>
        <status>0xB0</status>
        <midino>0x12</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>rate_temp_up</key>
        <status>0xB0</status>
        <midino>0x17</midino>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>rate_temp_down</key>
        <status>0xB0</status>
        <midino>0x18</midino>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>beatsync</key>
        <status>0xB0</status>
        <midino>0x04</midino>
        <options>
          <Button/>
        </options>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>HerculesMk2.buttons123mode</key>
        <status>0xB0</status>
        <midino>0x07</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Playlist]</group>
        <key>SelectPrevTrack</key>
        <status>0xB0</status>
        <midino>0x16</midino>
        <options/>
      </control>
      <control>
        <group>[Playlist]</group>
        <key>SelectNextTrack</key>
        <status>0xB0</status>
        <midino>0x1A</midino>
        <options/>
      </control>
      <control>
        <group>[Channel1]</group>
        <key>HerculesMk2.loadSelectedTrack</key>
        <status>0xB0</status>
        <midino>0x1B</midino>
        <options>
	  <Script-Binding/>
        </options>
      </control>
      <control>
        <group>[Channel2]</group>
        <key>HerculesMk2.loadSelectedTrack</key>
        <status>0xB0</status>
        <midino>0x1C</midino>
        <options>
	  <Script-Binding/>
        </options>
      </control>
      <control> <!-- Headphones Mix -->
        <group>[Master]</group>
        <key>HerculesMk2.pfl</key>
        <status>0xB0</status>
        <midino>0x24</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
      <control> <!-- Headphones Split -->
        <group>[Master]</group>
        <key>HerculesMk2.pfl</key>
        <status>0xB0</status>
        <midino>0x23</midino>
        <options>
          <Script-Binding/>
        </options>
      </control>
    </controls>

    <outputs>
      <output>
        <group>[Channel1]</group>
        <key>play</key>
        <status>0xB0</status>
        <midino>0x08</midino>
        <minimum>0.5</minimum>
      </output>
      <output>
        <group>[Channel2]</group>
        <key>play</key>
        <status>0xB0</status>
        <midino>0x02</midino>
        <minimum>0.5</minimum>
      </output>
      <output>
        <group>[Channel1]</group>
        <key>playposition</key>
        <status>0xB0</status>
        <midino>0x00</midino>
        <minimum>0.9</minimum>
        <maximum>0.99</maximum>
      </output>
      <output>
        <group>[Channel2]</group>
        <key>playposition</key>
        <status>0xB0</status>
        <midino>0x05</midino>
        <minimum>0.9</minimum>
        <maximum>0.99</maximum>
      </output>

      <output>
        <group>[Channel1]</group>
        <key>VuMeter</key>
        <status>0xB0</status>
        <midino>0x0A</midino>
        <minimum>0.4</minimum>
        <maximum>1</maximum>
      </output>
      <output>
        <group>[Channel1]</group>
        <key>VuMeter</key>
        <status>0xB0</status>
        <midino>0x16</midino>
        <minimum>0.5</minimum>
        <maximum>1</maximum>
      </output>
      <!--
      <output>
        <group>[Channel1]</group>
        <key>VuMeter</key>
        <status>0xB0</status>
        <midino>0x0D</midino>
        <minimum>0.6</minimum>
      </output>
      <output>
        <group>[Channel1]</group>
        <key>VuMeter</key>
        <status>0xB0</status>
        <midino>0x0E</midino>
        <minimum>0.7</minimum>
      </output>
      <output>
        <group>[Channel1]</group>
        <key>VuMeter</key>
        <status>0xB0</status>
        <midino>0x0F</midino>
        <minimum>0.8</minimum>
      </output>
      -->
      <output>
        <group>[Channel2]</group>
        <key>VuMeter</key>
        <status>0xB0</status>
        <midino>0x04</midino>
        <minimum>0.4</minimum>
      </output>
      <output>
        <group>[Channel2]</group>
        <key>VuMeter</key>
        <status>0xB0</status>
        <midino>0x1A</midino>
        <minimum>0.5</minimum>
      </output>
      <!--
      <output>
        <group>[Channel2]</group>
        <key>VuMeter</key>
        <status>0xB0</status>
        <midino>0x12</midino>
        <minimum>0.6</minimum>
      </output>
      <output>
        <group>[Channel2]</group>
        <key>VuMeter</key>
        <status>0xB0</status>
        <midino>0x11</midino>
        <minimum>0.7</minimum>
      </output>
      <output>
        <group>[Channel2]</group>
        <key>VuMeter</key>
        <status>0xB0</status>
        <midino>0x10</midino>
        <minimum>0.8</minimum>
      </output>
      -->
    </outputs>
  </controller>
</MixxxMIDIPreset>

Attachment: Hercules-DJ-Console-Mk2-scripts.js
Description: application/javascript

------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to