Hi Jim, I'm attaching a modified version of the Mk2 mapping file which has a jog binding to HerculesMk2.jog_wheel and a script load to find that bit of javascript in Hercules-DJ-Console-Mk2-scripts.js... Hercules-DJ-Console-Mk2-scripts.js is a basic copy of the RMX version, with most of the RMX specific stuff commented out (use a syntax highlighting editor to save yourself a lot of grief) and just the wheels and the wheel decay functions left.
The currently enabled behaviour for the jog is scratchMode == true,
scratchMode == false just passes through to "[ChannelN] jog" (which sounds
the same as r2415), feel free to flip it back to false to get the normal
behaviour back. You'll have to go into the midi dialog and reload the
mapping file each time you save the .xml or .js files to get the new binds /
javascript functions to load. There's also a HerculesMk2.debug flag that
can be toggled to get more verbose messages in the console.
I realize the code is a bit of a mess (part of that is historical - i.e
channel used to be "[ChannelN]" now it is a midi chan & part just
experimenting to get stuff to work)... so feel free to change it anyway you
see fit. The only requirement for it to work is the method signatures
must contain the correct arguments.
Cheers,
-G
__
--- == __/ t.O ==--
http://stacktrace.org/
On Sat, May 16, 2009 at 6:45 PM, James Evans <[email protected]> wrote:
> Garth Dahlstrom wrote:
>
>>
>> On Sat, May 16, 2009 at 7:41 AM, Robin Sheat <[email protected]<mailto:
>> [email protected]>> wrote:
>>
>> On Sat, 16 May 2009, Garth Dahlstrom wrote:
>> > I didn't play with the jogs on the Mk2, but the ones on the RMX
>> also have
>> > this problem. This may be due to how HercJog option works (or
>> rather that
>> > its been depricated).
>> I think I fixed that up for the control MP3. I don't remember
>> exactly what it
>> was I changed, and can't check right now, but it was a simple fix.
>>
>>
>> Hi Robin, thanks for pointing this out, I diff-ed the files, looks like
>> you are using "jog" instead of "wheel"... I've switched the Mk2 mapping to
>> use that and it seems to work more like 1.6.
>> Jim give that a spin (rev 2415) and see if it works better for you.
>>
>>
>
> Yep, it's good now thanks Garth. Thanks for your input Robin.
>
> I have read the midi controller mapping and midi scripting pages in the
> wiki and it all seems pretty straightforward. Have a copy of the existing
> Hercules DJ Console Mk2.midi.xml using a script binding in place of hercjog.
> This simply calls a function to print "Wheel" when either wheel is moved,
> just to prove I have it working.
>
> So I'm still up for producing or tweaking a midi script for the Mk2 in view
> of the deprecation of hercjog. You still want to send me one Garth?
>
>
>>
>> > I started writing a MIDI script (javascript) for
>> > the RMX to "decelerate" the speed of the track over time after a
>> jog wheel
>> > movement, maybe this code would be useful for the Mk2 as well.
>>
>> I dunno if that's a good thing, at least for the control. If you
>> stop the
>> wheel spinning, do you want it to decelerate? I would have thought
>> you'd want
>> it to stop immediately. If you want it to decelerate, then you just
>> let it
>> spin free until it slows and stops itself.
>>
>>
>> Well, I think this is an effect of using wheel instead of jog.
>> The jog wheels give +1 or -1 values (after applying a formula to the midi
>> vals) when they move, but they don't give you a 0 when they stop... so you
>> have to decay the momentum problematically so they eventually get back to 0,
>> if you follow me.
>>
>>
> Yes, makes sense.
>
> If changing from wheel to jog works for pitch adjust, then I only have to
>> do this decay for scratching mode.
>>
>> -G
>>
>>
>> ------------------------------------------------------------------------
>>
>>
>> ------------------------------------------------------------------------------
>> Crystal Reports - New Free Runtime and 30 Day Trial
>> Check out the new simplified licensing option that enables unlimited
>> royalty-free distribution of the report engine for externally facing server
>> and web deployment. http://p.sf.net/sfu/businessobjects
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Mixxx-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/mixxx-devel
>>
>
>
<?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>play</key>
<status>0xB0</status>
<midino>0x08</midino>
<options>
<Button/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>cue_default</key>
<status>0xB0</status>
<midino>0x09</midino>
<options>
<Button/>
</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>rate</key>
<status>0xB0</status>
<midino>0x34</midino>
<options>
<Diff/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>HerculesMk2.jog_wheel</key>
<status>0xB0</status>
<midino>0x36</midino>
<options>
<Script-Binding/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>pfl</key>
<status>0xB0</status>
<midino>0x21</midino>
<options>
<Switch/>
</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>filterLowKill</key>
<status>0xB0</status>
<midino>0x0F</midino>
<options>
<Button/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>filterMidKill</key>
<status>0xB0</status>
<midino>0x0E</midino>
<options>
<Button/>
</options>
</control>
<control>
<group>[Channel1]</group>
<key>filterHighKill</key>
<status>0xB0</status>
<midino>0x0D</midino>
<options>
<Button/>
</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>play</key>
<status>0xB0</status>
<midino>0x02</midino>
<options>
<Button/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>cue_default</key>
<status>0xB0</status>
<midino>0x03</midino>
<options>
<Button/>
</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>reverse</key>
<status>0xB0</status>
<midino>0x01</midino>
<options>
<Switch/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>volume</key>
<status>0xB0</status>
<midino>0x033</midino>
<options/>
</control>
<control>
<group>[Channel2]</group>
<key>rate</key>
<status>0xB0</status>
<midino>0x35</midino>
<options>
<Diff/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>HerculesMk2.jog_wheel</key>
<status>0xB0</status>
<midino>0x37</midino>
<options>
<Script-Binding/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>pfl</key>
<status>0xB0</status>
<midino>0x22</midino>
<options>
<Switch/>
</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>filterLowKill</key>
<status>0xB0</status>
<midino>0x10</midino>
<options>
<Button/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>filterMidKill</key>
<status>0xB0</status>
<midino>0x11</midino>
<options>
<Button/>
</options>
</control>
<control>
<group>[Channel2]</group>
<key>filterHighKill</key>
<status>0xB0</status>
<midino>0x12</midino>
<options>
<Button/>
</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>reverse</key>
<status>0xB0</status>
<midino>0x07</midino>
<options>
<Switch/>
</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>LoadSelectedTrack</key>
<status>0xB0</status>
<midino>0x1B</midino>
<options/>
</control>
<control>
<group>[Channel2]</group>
<key>LoadSelectedTrack</key>
<status>0xB0</status>
<midino>0x1C</midino>
<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>
Hercules-DJ-Console-Mk2-scripts.js
Description: JavaScript source
------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects
_______________________________________________ Mixxx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mixxx-devel
