@djchrispoynter
browser_window folders ? browser_open_folder ? browser_open_folder off : browser_open_folder on & wait 300ms & browser_open_folder ? : browser_window songs : browser_window songs ? show_splitpanel sideview ? browser_window sideview : nothing :
browser_window folders ? browser_open_folder ? browser_open_folder off : browser_open_folder on & wait 300ms & browser_open_folder ? : browser_window songs : browser_window songs ? show_splitpanel sideview ? browser_window sideview : nothing :
Posté Sat 17 Feb 24 @ 9:16 am
Thanks, I appreciate it.
I have more things I'm struggling to figure out, too. Are you happy to entertain more mapping questions? It seems like it's child's play for you but I also don't want to be annoying! ;)
I have more things I'm struggling to figure out, too. Are you happy to entertain more mapping questions? It seems like it's child's play for you but I also don't want to be annoying! ;)
Posté Sat 17 Feb 24 @ 7:21 pm
You can keep asking, I'm not a fan of repeating myself [to one person] so you might get pointed towards earlier posts.
I'm not above bribes if time is precious but part of my entertainment of this thread is answering original/difficult questions.
Test for the bottom folder was one such question.
Navigating to sideview on condition of sideview visible and browser_window focus, was already answered by phantomDJ just a few replies up. I figured you should have got that.
I'm not above bribes if time is precious but part of my entertainment of this thread is answering original/difficult questions.
Test for the bottom folder was one such question.
Navigating to sideview on condition of sideview visible and browser_window focus, was already answered by phantomDJ just a few replies up. I figured you should have got that.
Posté Sat 17 Feb 24 @ 8:20 pm
Thanks for clarifying your level of participation! :)
I'm not actually sure what you meant when you said, "Test for the bottom."
When you told me that partial script was browser_open_folder ? browser_open_folder off : browser_open_folder on & wait 100ms & browser_open_folder ? : browser_window songs I tried a few different things with it but it always ended in frustration because something else would happen that wasn't meant to. Like the example I mentioned above, where I was able to use the encoder push to advance the active browser window forward, but then the focus would get stuck on sideview, while at the same time making the folders open and close over on the left.
I've started reading the beginning of this entire Script School thread, and plan to slowly work through the whole thing. I've also read that short Atomix Script Tutorial. I like to think I'm a decently smart guy, but as soon as I get past a simple 2-3 part command, it begins to feel like a tricky logic puzzle. I have no programing background or anything, and I think it's going to be a very slow process to fully understand how to write more-than-basic scripts.
Thanks for bearing with me!
The one thing I've been stuck on today, is making my controller sync buttons behave the way I want them to, that being, the way they behaved in Rekordbox.
Here's how I have things right now:
SYNC: beatlock & auto_pitch_lock & ( auto_pitch_lock ? setting autoBPMMatch always : auto_match_bpm off ) (I got help from you or someone else on this)
LED_SYNC: Empty
JOG_OUT_RING: var 'CBGShift' 1 ? adjust_cbg : var 'CBGWidth' ? set_bpm : nothing (this was the default mapping)
Right now, when I press one SYNC button on my controller, it lights up (it used to be that if I pushed one, they would BOTH light up, but I somehow changed something and that is no longer happening). The beatgrids sync together, and if I scratch in a track and my timing is off, they'll still sync together. If I move the pitch slider (either one), both tracks will change tempo together. If I turn off the sync button that I had pressed, it seems to disable all of the above. So far, so good.
But then the other sync button will negate what the first one is doing. So if I have the right deck sync button on, and I hit the left deck sync button, it will change the sync settings on the right deck, even though the right deck sync button remains lit up. It's like when you have two light switches on opposite sides of the room, for the same bank of lights.
I hope this isn't as confusing as it sounds. Basically the sync buttons are linked together and I want them to be 100% independent from each other, as they are in Rekordbox.
Here's what else I want to be able to do, that I can't:
1. When I have sync enabled, I want the tempo slider to ONLY be available on the Master deck. In Rekordbox, for example, if I have the left deck playing a song, and the right-deck sync button is on, moving the right deck tempo slider has no effect on anything, but moving the left-deck tempo slider will change the BPM of both decks together. This is INDEPENDENT from the Master deck's sync button. As long as the slave deck's sync button is on, the master deck's tempo slider will control the tempo of both decks.
2. I want to be able to use the outside ring of the jogwheel to make adjustments to the track, even if I have the SYNC button turned on. In other words, if I start using the outside ring of the jogwheel, I want the beatlock on that deck to turn off. Right now if I nudge the jogwheel, both tracks stay locked. I do want the auto_pitch_lock to remain enabled (on the master deck) in this scenario though. This is for when I have two tracks synced, need to nudge one a little (so they're audibly synced, but not synced according to the beat grids), and then make a tempo change to both tracks together (with the master deck tempo slider).
3. I want the SYNC buttons to be independent from each other. So say, for example, I have the left sync buttons on... the left deck is playing a song, and I bring in the song on the right deck with the right deck's sync button turned off, and I'm beat-matching by ear. Then eventually I put a new song onto the left deck (remember the left sync button is still on) and when I hit play, it syncs to the right deck with all my chosen sync parameters from above.
4. If possible (though not a big deal) I want each sync button's LED to behave as follows:
- On (steady) when I turn it on
- Off when I turn it off
- Flashing when the track's grids are not beatlocked
I'm not actually sure what you meant when you said, "Test for the bottom."
When you told me that partial script was browser_open_folder ? browser_open_folder off : browser_open_folder on & wait 100ms & browser_open_folder ? : browser_window songs I tried a few different things with it but it always ended in frustration because something else would happen that wasn't meant to. Like the example I mentioned above, where I was able to use the encoder push to advance the active browser window forward, but then the focus would get stuck on sideview, while at the same time making the folders open and close over on the left.
I've started reading the beginning of this entire Script School thread, and plan to slowly work through the whole thing. I've also read that short Atomix Script Tutorial. I like to think I'm a decently smart guy, but as soon as I get past a simple 2-3 part command, it begins to feel like a tricky logic puzzle. I have no programing background or anything, and I think it's going to be a very slow process to fully understand how to write more-than-basic scripts.
Thanks for bearing with me!
The one thing I've been stuck on today, is making my controller sync buttons behave the way I want them to, that being, the way they behaved in Rekordbox.
Here's how I have things right now:
SYNC: beatlock & auto_pitch_lock & ( auto_pitch_lock ? setting autoBPMMatch always : auto_match_bpm off ) (I got help from you or someone else on this)
LED_SYNC: Empty
JOG_OUT_RING: var 'CBGShift' 1 ? adjust_cbg : var 'CBGWidth' ? set_bpm : nothing (this was the default mapping)
Right now, when I press one SYNC button on my controller, it lights up (it used to be that if I pushed one, they would BOTH light up, but I somehow changed something and that is no longer happening). The beatgrids sync together, and if I scratch in a track and my timing is off, they'll still sync together. If I move the pitch slider (either one), both tracks will change tempo together. If I turn off the sync button that I had pressed, it seems to disable all of the above. So far, so good.
But then the other sync button will negate what the first one is doing. So if I have the right deck sync button on, and I hit the left deck sync button, it will change the sync settings on the right deck, even though the right deck sync button remains lit up. It's like when you have two light switches on opposite sides of the room, for the same bank of lights.
I hope this isn't as confusing as it sounds. Basically the sync buttons are linked together and I want them to be 100% independent from each other, as they are in Rekordbox.
Here's what else I want to be able to do, that I can't:
1. When I have sync enabled, I want the tempo slider to ONLY be available on the Master deck. In Rekordbox, for example, if I have the left deck playing a song, and the right-deck sync button is on, moving the right deck tempo slider has no effect on anything, but moving the left-deck tempo slider will change the BPM of both decks together. This is INDEPENDENT from the Master deck's sync button. As long as the slave deck's sync button is on, the master deck's tempo slider will control the tempo of both decks.
2. I want to be able to use the outside ring of the jogwheel to make adjustments to the track, even if I have the SYNC button turned on. In other words, if I start using the outside ring of the jogwheel, I want the beatlock on that deck to turn off. Right now if I nudge the jogwheel, both tracks stay locked. I do want the auto_pitch_lock to remain enabled (on the master deck) in this scenario though. This is for when I have two tracks synced, need to nudge one a little (so they're audibly synced, but not synced according to the beat grids), and then make a tempo change to both tracks together (with the master deck tempo slider).
3. I want the SYNC buttons to be independent from each other. So say, for example, I have the left sync buttons on... the left deck is playing a song, and I bring in the song on the right deck with the right deck's sync button turned off, and I'm beat-matching by ear. Then eventually I put a new song onto the left deck (remember the left sync button is still on) and when I hit play, it syncs to the right deck with all my chosen sync parameters from above.
4. If possible (though not a big deal) I want each sync button's LED to behave as follows:
- On (steady) when I turn it on
- Off when I turn it off
- Flashing when the track's grids are not beatlocked
Posté Sat 17 Feb 24 @ 9:52 pm
pioneer's sync mode sounds like a mess. sorry but I have no interest in remaking it.
3 if you have one deck playing why would you need sync mode to be on anywhere? If you tell your doctor "it hurts when I poke myself in the eye" the reply will be "why do that? & Don't do that then"
2 if you have beatlock on the grids are locked, you could adjust_cbg with the wheel [conditional of sync mode being on] which would in turn move the tracks, but you'd be chasing minor grid adjustments with every new track, probably better to set the grids straight as you're cueing by ear, I posted something about 1-2 pages back to straighten out off grids on audibly sync'd tracks.
1 just seems like you need to work out the conditionals.
Pick apart the logic of this, set_deck is the only unusual thing in it and all it does is make the other deck the focus of 2nd beatlock query.
param_mod is the mathematical modulo action.
beatlock being on is as good as any thing to signify/query for your per deck sync mode.
3 if you have one deck playing why would you need sync mode to be on anywhere? If you tell your doctor "it hurts when I poke myself in the eye" the reply will be "why do that? & Don't do that then"
2 if you have beatlock on the grids are locked, you could adjust_cbg with the wheel [conditional of sync mode being on] which would in turn move the tracks, but you'd be chasing minor grid adjustments with every new track, probably better to set the grids straight as you're cueing by ear, I posted something about 1-2 pages back to straighten out off grids on audibly sync'd tracks.
1 just seems like you need to work out the conditionals.
Pick apart the logic of this, set_deck is the only unusual thing in it and all it does is make the other deck the focus of 2nd beatlock query.
param_mod is the mathematical modulo action.
beatlock & beatlock ? auto_pitch_lock on & setting autoBPMMatch always : set_deck `get_deck & param_mod 2 & param_add 1` & beatlock ? nothing : auto_pitch_lock off & auto_match_bpm off
beatlock being on is as good as any thing to signify/query for your per deck sync mode.
Posté Sun 18 Feb 24 @ 12:45 am
Pioneer's sync mode in Rekordbox is actually brilliant and allows me as much, or as little, automation as I desire. I've used Traktor, Serato, and Rekordbox, and 'sync' from the latter is definitely my favourite. I just explained it in a convoluted manner.
I'm giving up on this for now. My script understanding isn't there yet!
I have another question though:
I've mapped SHIFT_BROWSE_ENC_PUSH on my controller so that it puts the focus to the search bar in VDJ: setting "onScreenKeyboard On" & wait 50ms & search & doubleclick ? clear_search & setting "onScreenKeyboard Auto"
There are three onScreenKeyboard settings in VDJ -- 'Auto', 'On', and 'Off'. If I map a button to put the focus on the search bar, the onscreen keyboard only pops up if I have that setting as 'On'. For whatever reason, 'Auto' doesn't seem to work. And as a side-note, in general usage, when I tap the search bar with my finger, the onscreen keyboard actually only pops up sometimes when set to 'Auto' mode which I'm assuming is a bug.
At any rate, my script doesn't work to change the onScreenKeyboard setting to 'On'. I've even tried just mapping setting "onScreenKeyboard On" by itself and it won't change the setting. What am I doing wrong?
A couple other things I want to change / add to my script but I can't figure it out:
1. I don't want to use doubleclick SHIFT_BROWSE_ENC_PUSH to clear the search box. I want to be able to just click it once to enter the search box, and click it once again to clear & exit the search box, putting the browser view onto 'songs'.
2. I want to have the onScreenKeyboard setting change to 'On' when I hit SHIFT_BROWSE_ENC_PUSH to search for a song (so that the onscreen keyboard is guaranteed to pop up) and then when I hit SHIFT_BROWSE_ENC_PUSH to clear the search box / switch the focus to 'songs' I want the onScreeKeyboard setting to switch back to 'Auto'.
It would simplify things if 'Auto' just worked correctly!
The reason for the onScreenKeyboard setting is that I use a Surface Pro with no keyboard attached with my DDJ-RZ. I'd be happy to leave the setting as 'On' but then when I'm prepping music with my physical keyboard attached, the onscreen keyboard constantly pops up.
I'm giving up on this for now. My script understanding isn't there yet!
I have another question though:
I've mapped SHIFT_BROWSE_ENC_PUSH on my controller so that it puts the focus to the search bar in VDJ: setting "onScreenKeyboard On" & wait 50ms & search & doubleclick ? clear_search & setting "onScreenKeyboard Auto"
There are three onScreenKeyboard settings in VDJ -- 'Auto', 'On', and 'Off'. If I map a button to put the focus on the search bar, the onscreen keyboard only pops up if I have that setting as 'On'. For whatever reason, 'Auto' doesn't seem to work. And as a side-note, in general usage, when I tap the search bar with my finger, the onscreen keyboard actually only pops up sometimes when set to 'Auto' mode which I'm assuming is a bug.
At any rate, my script doesn't work to change the onScreenKeyboard setting to 'On'. I've even tried just mapping setting "onScreenKeyboard On" by itself and it won't change the setting. What am I doing wrong?
A couple other things I want to change / add to my script but I can't figure it out:
1. I don't want to use doubleclick SHIFT_BROWSE_ENC_PUSH to clear the search box. I want to be able to just click it once to enter the search box, and click it once again to clear & exit the search box, putting the browser view onto 'songs'.
2. I want to have the onScreenKeyboard setting change to 'On' when I hit SHIFT_BROWSE_ENC_PUSH to search for a song (so that the onscreen keyboard is guaranteed to pop up) and then when I hit SHIFT_BROWSE_ENC_PUSH to clear the search box / switch the focus to 'songs' I want the onScreeKeyboard setting to switch back to 'Auto'.
It would simplify things if 'Auto' just worked correctly!
The reason for the onScreenKeyboard setting is that I use a Surface Pro with no keyboard attached with my DDJ-RZ. I'd be happy to leave the setting as 'On' but then when I'm prepping music with my physical keyboard attached, the onscreen keyboard constantly pops up.
Posté Mon 19 Feb 24 @ 3:13 pm
just added in klaus' video on linked tracks to my feature post.
Posté Fri 01 Mar 24 @ 2:13 am
hi! i would button led on if in browser_window ‘folders’..folder have subfolders….and led off if it doesn’t;
my script: browser_open_folder off ? on : off
is not correct :( is there a script? thanks a lot
my script: browser_open_folder off ? on : off
is not correct :( is there a script? thanks a lot
Posté Wed 06 Mar 24 @ 11:29 pm
no the test for the bottom as I posted earlier only works in context of moving round folders, it doesn't work as a query.
Posté Thu 07 Mar 24 @ 12:41 am
thanks…is theren’t any solution? :(
Posté Thu 07 Mar 24 @ 6:23 am
There is one thing but it's more complicated than I can be bothered explaining in detail.
make a scroller, test for bottom, anything that opens add that header to a string variable, day to day use test if variable contains header in use.
You'd have to run the scroller any time you change folder layout.
PS please don't quote when it's obvious to whom you're replying to.
make a scroller, test for bottom, anything that opens add that header to a string variable, day to day use test if variable contains header in use.
You'd have to run the scroller any time you change folder layout.
PS please don't quote when it's obvious to whom you're replying to.
Posté Thu 07 Mar 24 @ 6:51 am
for my request i would use script: get_browsed_scrollpos
that is 0 only when cursor is in last folder 👍 but script:
get_browsed_scrollpos & param_cast ‘text’ & param _contains ‘0’
non work correctly :( could you help me? Tuanks!!
that is 0 only when cursor is in last folder 👍 but script:
get_browsed_scrollpos & param_cast ‘text’ & param _contains ‘0’
non work correctly :( could you help me? Tuanks!!
Posté Thu 07 Mar 24 @ 11:16 pm
get_browsed_scrollpos & param_cast ‘text’ & param _contains ‘0’ works well for my request 👍
Posté Tue 12 Mar 24 @ 11:25 am
hi! i would all decks in beatlock with same masterdeck tempo, my script is:
-deck all beatlock on ? deck all beatlock off : deck all sync ‘masterdeck’ & deck all beatlock on
but doesn’t work :( could you help me?
thanks!
-deck all beatlock on ? deck all beatlock off : deck all sync ‘masterdeck’ & deck all beatlock on
but doesn’t work :( could you help me?
thanks!
Posté Sat 16 Mar 24 @ 6:03 pm
deck all isn't great for queries, query individuals, something like this
or like this
param_equal get_decks 4 ? param_equal `param_add "param_add 'deck 1 beatlock' 'deck 2 beatlock'" "param_add 'deck 3 beatlock' 'deck 4 beatlock'"` 4 ? deck all beatlock off : deck all beatlock on : param_equal get_decks 2 ? param_equal `param_add 'deck 1 beatlock' 'deck 2 beatlock'` 2 ? deck all beatlock off : deck all beatlock on :
or like this
deck 1 beatlock && deck 2 beatlock && deck 3 beatlock && deck 4 beatlock ? deck all beatlock off : deck all beatlock on
Posté Sat 16 Mar 24 @ 6:23 pm
solved: my right script is:
deck all beatlock & deck 1 masterdeck ? deck 2 sync & deck 3 sync & deck 4 sync : deck 2 masterdeck ? deck 1 sync & deck 3 sync & deck 4 sync : deck 3 masterdeck ? deck 1 sync & deck 2 sync & deck 4 sync : deck 4 masterdeck ? deck 1 sync & deck 2 sync & deck 3 sync : nothing
👍
deck all beatlock & deck 1 masterdeck ? deck 2 sync & deck 3 sync & deck 4 sync : deck 2 masterdeck ? deck 1 sync & deck 3 sync & deck 4 sync : deck 3 masterdeck ? deck 1 sync & deck 2 sync & deck 4 sync : deck 4 masterdeck ? deck 1 sync & deck 2 sync & deck 3 sync : nothing
👍
Posté Sun 17 Mar 24 @ 10:46 pm
I've asked you to stop quoting when it's clear whom you're replying to in this thread. Now I'm telling you, I will stop replying to you if I have to edit your posts again.
What's wrong with just?
deck all beatlock
It will sync from that
What's wrong with just?
deck all beatlock
It will sync from that
Posté Sun 17 Mar 24 @ 11:56 pm
DECK ALL
A useful deck specifier for when you want all decks to do something but there are logical implications.
Check the var_list after pressing this button
result2's value may come as a surprise, what's happened under the hood the script actually performed is this
It repeated the script for each deck so result2 is incremented 4 times
Playing with the logic, you can do something like this
make every other deck [other than the calling deck] play
Short and sweet,
If you need to use deck all for simple scripts there's no problem.
If you need deck all in more complicated scripts it's probably best to contain it in ( ) [deck specified in brackets only stay true inside the brackets]
There's probably some shortcuts here for complicated multideck scripts, just be wary, things can get confusing fast.
A useful deck specifier for when you want all decks to do something but there are logical implications.
Check the var_list after pressing this button
deck all set result1 `get_deck` & set $result1 +1 & deck 1 set result2 +1
result2's value may come as a surprise, what's happened under the hood the script actually performed is this
( deck 1 set result1 `get_deck` & set $result1 +1 & deck 1 set result2 +1 ) &
( deck 2 set result1 `get_deck` & set $result1 +1 & deck 1 set result2 +1 ) &
( deck 3 set result1 `get_deck` & set $result1 +1 & deck 1 set result2 +1 ) &
( deck 4 set result1 `get_deck` & set $result1 +1 & deck 1 set result2 +1 )
It repeated the script for each deck so result2 is incremented 4 times
Playing with the logic, you can do something like this
make every other deck [other than the calling deck] play
set $deckvar `get_deck` & deck all param_equal `get_var $deckvar` `get_deck` ? : play_pause
Short and sweet,
If you need to use deck all for simple scripts there's no problem.
If you need deck all in more complicated scripts it's probably best to contain it in ( ) [deck specified in brackets only stay true inside the brackets]
There's probably some shortcuts here for complicated multideck scripts, just be wary, things can get confusing fast.
Posté Mon 18 Mar 24 @ 12:51 am
locodog wrote :
I've asked you to stop quoting when it's clear whom you're replying to in this thread. Now I'm telling you, I will stop replying to you if I have to edit your posts again.
What's wrong with just?
deck all beatlock
It will sync from that
What's wrong with just?
deck all beatlock
It will sync from that
ok, i have understand, but i rewrite correct script for all users that have same request, ok? in all these pages (supreme blog for me!) i have read many and many script that have illuminated me for my personal mapper modifiers…and i think other members could make some thing…but if you don’t want these anymore, i stop post correct script, ok!
Thanks for all support Locodog 👍
Posté Wed 20 Mar 24 @ 9:00 am
locodog wrote :
I've asked you to stop quoting when it's clear whom you're replying to in this thread. Now I'm telling you, I will stop replying to you if I have to edit your posts again.
What's wrong with just?
deck all beatlock
It will sync from that
What's wrong with just?
deck all beatlock
It will sync from that
…mmm not that i would…because ‘deck all beatlock’ sync other deck to the focused deck and not to the masterdeck..i wont masterdeck 👍 but i solved..thanks a lot
Posté Wed 20 Mar 24 @ 7:27 pm