Serato DJ Pro General Discussion

Talk about Serato DJ Pro, expansion packs and supported hardware

AUTO_SAVE.XML (Midi Control)

DJ Quartz 2:36 AM - 17 August, 2011
Has anyone tried modifying this file?
DJ Quartz 3:04 AM - 17 August, 2011
Just coming through the settings in the registry as well.
haze324 3:48 PM - 17 August, 2011
Not tried, but I'm interested in trying this out.
radikarl 10:57 AM - 20 August, 2011
yes i tried some things. what do you want to know
Kevin "Soulkhitect" Gibson 2:43 PM - 20 August, 2011
EVERYTHING! lay it on us radikarl.
radikarl 2:57 PM - 20 August, 2011
first of all
i do not recommend editing the auto_save.xml manually.

by doing so, you can indeed add some midi mapping codes that are not regularly mappable, and that are not copied from a normal mapping file when put there manually either.

but you are likely to face crashes then.

if you really want that little extra midi coding, and you know what you are doing,
then the best way, at least for me,
is to edit your normal midi.XML file with a text editor
delete the auto save.XML
and then look what makes it to auto_save.XML when loading your mapping in scratch live

everything that is not copied by SSL is potentially not stable.
and even when you put those codes in the auto_save, and even if they work then,
it is still very likely that they get lost the next time you start SSL.
also it could cause crashes.

so i recommend instead, if what the GUI offers is not enough, then better edit a regular mapping file.
next post: some tipps.
radikarl 3:28 PM - 20 August, 2011
Ok, lets start.


Changes with the GUI:
when you already have a texteditor-altered midi XML, don't map anything new to it in the GUI.
by doing so, it will be rewritten completely once you press "save" in the midi setup, srewing up at least your order. also removing your comments. "Comments" you ask?


Comments:
you can add comments, but they are not copied to your auto_save.XML
Quote:
<!-- this is a comment -->

everything inbetween <!-- and --> is ignored
I WILL FROM HERE ON USE COMMENTS IN THE PROVIDED EXAMPLE CODES.


Shift Functions
a lot of Controls have shifted functions. if you have read the manual, this is nothing new to you.
you can map them regularly from within the GUI already.
Example for the GUI method:
in internal mode, enter midi mapping mode, hold shift and then klick on the pitch fader
now map a button. this button will now reset the pitch to zero.

A lot of control elements have a shifted function. READ THE MANUAL

now here is the fun part.
you can also map them with a text editor:
Example for TEXTEDITOR method:
Quote:
<!-- this is an autoloop -->
<Control name="Auto Loop Half Button A" channel="8" event_type="Note On" control="91" />

<!-- this is a loop roll -->
<Control name="Auto Loop Half Button A" channel="8" event_type="Note On" control="78" key="alt+ctrl"/>


See? the control name is identical, but by adding the key="..." part, the functionality changes.

possible values for key="..." : shift, alt, ctrl, alt, alt+ctrl, maybe some more combinations.


Modifiers
you can define your own midi shift keys:
Example:
Quote:
<!-- this is the button which acts as a shift key or "modifier" -->
<Modifier name="MyFirstModifier" event_type="Note On" channel="16" control="124" />

<!-- this is the unmodified button (simple click) -->
<Control name="Play Forward A" channel="8" event_type="Note On" control="42" />

<!-- this is the button with holding down the modifier (modifier hold plus button click) -->
<Control name="Play Reverse A" channel="8" event_type="Note On" control="42" on_modifier="MyFirstModifier"/>



Undocumented Functions
Check the Konix (Youtube: "SeratoTutor") Video about deleting Cue Points via MIDI,
and check the Thread here in the forums about platter control.


Finding the codes for Functions
I use to create a new mapping, map what i want, e.g. a Cue Button.
then save.
now i open in texteditor, and look at the resulting code.
Example:
Quote:
<Control name="Trigger Cue Point Button A0" channel="8" event_type="Note On" control="65" />

now i copy that one code line for one cue button on one deck, paste it into my mapping XML several times and change it the way i need it
such that it controls the other cues or even the other deck. usually the names are pretty self explanatory.
Example:
Quote:

<Control name="Trigger Cue Point Button A0" channel="8" event_type="Note On" control="65" />
<Control name="Trigger Cue Point Button A1" channel="8" event_type="Note On" control="66" />
<Control name="Trigger Cue Point Button A2" channel="8" event_type="Note On" control="67" />
<!-- and so on -->
DJ Quartz 9:40 PM - 21 August, 2011
Itch does not use this file for any of it's mapping, correct? This only works for SSL.
radikarl 5:58 AM - 22 August, 2011
correct
KD1011 5:03 AM - 3 February, 2012
Does anyone know how to make Konix's MIDI cue delete work with decks 3&4?

I'm guessing we need the code SSL uses for a second pair of dicers...(changing to the code from A/b to C/D doesn't work)

Anyone?
radikarl 9:16 PM - 3 February, 2012
maybe it follows the deck focus? (white border around your decks)
KD1011 3:40 PM - 13 February, 2012
Sorry, I didn't see this, I never got the email, apologies..

--
Sadly it doesn't, I wish it did though, would be so much simpler.

Do you know how the XML code works for when a second pair of dicers are connected?

Wish this feature was officially supported in SSL, it makes so much sense when you think about it...
radikarl 12:04 AM - 14 February, 2012
i think it they always control the two decks you set up as "main decks" in your setup under the hardware tab
phatbob 12:12 AM - 14 February, 2012
I've got 2 pairs of Dicers, they are seen as 2 distinct pairs when I plug them in with my SL3 (well, 1.5 pairs).

First pair connected controlled 1&2, the other one did the Aux.

However they didn't always connect properly, it wasn't trustworthy enough to bother with in the end.

Maybe that will help with your midi magic making... It's well over MY head!
KD1011 2:41 AM - 14 February, 2012
I think that's how it works for Dicers in 2.3.3, but I'm guessing this MIDI hack is from an older, pre-SL4 version of SSL.

Hey phatbob, when you have actual Dicers connected, does it create a mapping/xml file in the MIDI folder in _Serato_?
phatbob 2:46 AM - 14 February, 2012
I was doing that a while ago, was on 2.2.0 I think.

I'll hook it all up tomorrow and see if that creates an XML.
KD1011 2:48 AM - 14 February, 2012
Thanks man :)

If this doesn't work, I think I'll just give up and buy some real Dicers..

How do you like them?
phatbob 2:52 AM - 14 February, 2012
They're awesome. Haven't done a gig using SL without them since about a week after they got released.

Usually have a MidiFighter hooked up too, but I can't imagine playing without Dicers.
radikarl 4:39 AM - 14 February, 2012
does not create an XML.

changing the setup option should work for you
radikarl 4:39 AM - 14 February, 2012
Quote:
i think it they always control the two decks you set up as "main decks" in your setup under the hardware tab
KD1011 3:01 PM - 14 February, 2012
Sadly, I can't seem to get the the MIDI controls to respect my setting of primary decks...

Here's my XML file:
Quote:
<midi>
<Control name="Red Hammer Delete A" channel="1" event_type="Note On" control="37" />
<Control name="Red Hammer Cue Point 1 A" channel="1" event_type="Note On" control="39" />
<Control name="Red Hammer Cue Point 2 A" channel="1" event_type="Note On" control="41" />
<Control name="Red Hammer Cue Point 3 A" channel="1" event_type="Note On" control="43" />
<Control name="Red Hammer Cue Point 4 A" channel="1" event_type="Note On" control="45" />
<Control name="Red Hammer Cue Point 5 A" channel="1" event_type="Note On" control="47" />
<Control name="Red Hammer Delete B" channel="1" event_type="Note On" control="49" />
<Control name="Red Hammer Cue Point 1 B" channel="1" event_type="Note On" control="51" />
<Control name="Red Hammer Cue Point 2 B" channel="1" event_type="Note On" control="53" />
<Control name="Red Hammer Cue Point 3 B" channel="1" event_type="Note On" control="55" />
<Control name="Red Hammer Cue Point 4 B" channel="1" event_type="Note On" control="57" />
<Control name="Red Hammer Cue Point 5 B" channel="1" event_type="Note On" control="59" />
<Control name="Red Hammer Delete C" channel="1" event_type="Note On" control="61" />
<Control name="Red Hammer Cue Point 1 C" channel="1" event_type="Note On" control="63" />
<Control name="Red Hammer Cue Point 2 C" channel="1" event_type="Note On" control="65" />
<Control name="Red Hammer Cue Point 3 C" channel="1" event_type="Note On" control="67" />
<Control name="Red Hammer Cue Point 4 C" channel="1" event_type="Note On" control="69" />
<Control name="Red Hammer Cue Point 5 C" channel="1" event_type="Note On" control="71" />
<Control name="Red Hammer Delete D" channel="1" event_type="Note On" control="73" />
<Control name="Red Hammer Cue Point 1 D" channel="1" event_type="Note On" control="75" />
<Control name="Red Hammer Cue Point 2 D" channel="1" event_type="Note On" control="77" />
<Control name="Red Hammer Cue Point 3 D" channel="1" event_type="Note On" control="79" />
<Control name="Red Hammer Cue Point 4 D" channel="1" event_type="Note On" control="81" />
<Control name="Red Hammer Cue Point 5 D" channel="1" event_type="Note On" control="83" />
</midi>


Even when primary decks are set to 2/3, the cues will only work for decks 1 and 2...

here's a thread I started in the SSL forum, to try and ask Konix if he knew, sadly it doesn't..
serato.com
radikarl 7:30 PM - 14 February, 2012
you could use dice tools and map the shift pages to the other decks.