Longer backspin with Kontrol S2 MK3?

Hey there! I'm the proud owner of a new S2, but one thing that's been bugging me is that I can't figure out how to get a nice, long backspin like what happens when you use the mouse on a track or like you can easily do with the S4. I've tried adjusting the jogwheel sensitivity, but that didn't change backspin length like I had hoped.. If I had an S3 I could at least easily access the FX for it, but alas I'm stuck trying to get it to work here.
Best Answer
-
For the backspin, check this post (and the following pages of our project) aka ScratchMod.
https://community.native-instruments.com/discussion/comment/86629/#Comment_86629
To adjust wheel sensitivity, look here:
https://community.native-instruments.com/discussion/comment/95225/#Comment_95225
The ScratchMod i worked on with Quade was for the S3, but it can be adpated to the S2.
Edit: 2nd link is now correct.
1
Answers
-
For the backspin, check this post (and the following pages of our project) aka ScratchMod.
https://community.native-instruments.com/discussion/comment/86629/#Comment_86629
To adjust wheel sensitivity, look here:
https://community.native-instruments.com/discussion/comment/95225/#Comment_95225
The ScratchMod i worked on with Quade was for the S3, but it can be adpated to the S2.
Edit: 2nd link is now correct.
1 -
I am also interested in this, one thing I miss about the Vestax was the crazy backspins. I have an S2 MK3. How would one go about modifying your scratch mod to work for this. I was looking at both QML files and they're sig different it seems.
0 -
I will have a look at the diff and upload a S2 variant for you to test shortly.
1 -
So, here is the file that you need to replace. It's found here: '…\Native Instruments\Traktor Pro 4\Resources64\qml\CSI\S2MK3\S2MK3Deck.qml'. Before replacing it, make a copy of the whole qml folder for safety.
This is what i added:
At the top (so that the timers work):
import QtQuick 2.5
Right above the jogwheel wires i added this section:
//-----------------------------------Jogwheel Scratch Triggers------------------------------------// property bool deckScratching: false MappingPropertyDescriptor { id: jogScratchProp; path: "mapping.state.deck." + deckIdx + ".jogscratch_value"; type: MappingPropertyDescriptor.Integer; value: 0; min: 0; max: 60 } Wire { enabled: module.active && !jogFXEnableProp.value && !jogHoldFXEnableProp.value from: "%surface%.jogwheel.touch"; to: ButtonScriptAdapter { onPress: { if (deckPlaying) { deckScratching = true deckPlayingProp.value = false jogScratchProp.value = 20 } } onRelease: { if ( deckScratching && jogScratchProp.value < 20 ) { deckScratching = false deckPlayingProp.value = true jogScratchProp.value = 0 } } } } Wire { enabled: module.active && deckScratching && !jogFXEnableProp.value && !jogHoldFXEnableProp.value; from: "%surface%.jogwheel.rotation"; to: EncoderScriptAdapter { onIncrement: { jogScratchProp.value=jogScratchProp.value +3 } onDecrement: { jogScratchProp.value=jogScratchProp.value +20 } } } Timer { id: scratchSpinTimer interval: 8 repeat: true running: deckScratching && jogScratchProp.value > 0 onTriggered: { jogScratchProp.value = jogScratchProp.value - 10; if ( deckScratching && jogTouchOnProp.value && jogScratchProp.value < 20 ) { jogScratchProp.value = jogScratchProp.value + 10; } else if ( deckScratching && !jogTouchOnProp.value && jogScratchProp.value < 10 ) { deckScratching = false; deckPlayingProp.value = true; jogScratchProp.value = 0; } } } Wire { enabled: module.active; from: "%surface%.play"; to: ButtonScriptAdapter { brightness: scratchBlinkTimer.blink ? 0.0 : (deckScratching || deckPlaying) ? 1.0 : 0.0; onRelease: { if ( deckScratching ) { deckScratching = false deckPlayingProp.value = false jogScratchProp.value = 0 } } } } Timer { id: scratchBlinkTimer property bool blink: false interval: 250 repeat: true running: deckScratching onTriggered: { blink = !blink; } onRunningChanged: { blink = running; } }
You can adjust the scratch length in the ButtonScriptAdapter of the touch wire. This is the value:
jogScratchProp.value = 20
It can go as high as 60.
Note: when scratching, the PLAY state of the deck is temporarily turned off, which may be important if it is the tempo master.
Please test if this works and if it is sufficient for your needs. :)
0 -
Edit: I corrected the upload, but i can't change the text displayed in my last post because this forum's text editor is a nightmare.
Bot instances of
!jogFXEnableProp.value && !jogHoldFXEnableProp.value;
are replaced by
!gridAdjustEnableProp.value
in the file i uploaded, just so you don't wonder what the difference is.
0 -
TY so MUCH. I had been away last few days and hadnt gotten notification of reply. Let ya know how I make out!😀
1 -
Please do, so that we can get it to work and feel just right. :)
0 -
Well now Traktor isnt seeing controller. I loaded the file in the qml folder and it was working and it didf back spn but not much of one so i adjust the value from. 20 to 60 saved it and now its not recogniziong myu controller even after replacing original qml file. NOt suyre how tyo get it backl to working n ow…
\
`
1 -
Did you put it in the correct location? There is a subfolder for the S2Mk3 in the CSI subfolder. If you have a file with the same content twice it will crash traktor.
Regarding the spin length, leave the value at 20.
Change the following parameter:
Timer { id: scratchSpinTimer interval: 8 …
Increase interval to a value above 16 ms (for example 32).
Note: I read in a qml manual that a value below 16 is only valid if your screen refreshes at a faster rate than 60fps. So the value 8 (old value from a few years back) is the same as 16.
0 -
I got it back working. Where exactly do I change the value for a longer spin in the qml file> Want make sure Im doing it correct.
0 -
Look for the timer with the 'id: scratchSpinTimer'
The interval tells the timer how much time must pass until the scratch is over.
Timer { id: scratchSpinTimer interval: 8 …
Try a value of 32 or something. Or go as high as 100 to make sure you will have a bagspin-scratch for at least 0.2 seconds.
Spinning faster also prolongs the bagspin-scratch.
1 -
I have it at 60 and its definately an improvement. Id still prefer it lnger but beggarts vcant be choosers. As far as I can tell no other issuers have showedf up yet due to mod. TY!
0 -
Good to hear. The added code only triggers when you touch the platter while the track is playing. Everything else should work just the same.
There is also code that makes the play button blink when spinning. Does it work?
0 -
The play button doesnt blink at all
0 -
Not even when the the backspin is progressing? On-Off-On cycle takes half a second. You can adjust the 'interval' of the 'scratchBlinkTimer' (currently set to 250ms; 125ms would double the frequency).
0
Categories
- All Categories
- 19 Welcome
- 1.5K Hangout
- 65 NI News
- 816 Tech Talks
- 4.2K Native Access
- 17K Komplete
- 2.1K Komplete General
- 4.4K Komplete Kontrol
- 5.9K Kontakt
- 1.6K Reaktor
- 389 Battery 4
- 866 Guitar Rig & FX
- 439 Massive X & Synths
- 1.3K Other Software & Hardware
- 5.9K Maschine
- 7.5K Traktor
- 7.5K Traktor Software & Hardware
- Check out everything you can do
- Create an account
- See member benefits
- Answer questions
- Ask the community
- See product news
- Connect with creators