Forum: General Discussion

Discussions about VirtualDJ, and about DJing in general

Forum Guidelines
If you need extended support, contact our Support Team.
(*) The moderators hold the rights to move or modify posts in order to keep the discussions clear or to facilitate the search.
话题: Browser Button Mapping Mystery
Hi,
I am remapping a Reloop Terminal Mix 4 and wanted to use a scripting for the Browser Button which is on the Numark DJ2GO2:
holding ? browser_window 'folders' ? browser_folder : browser_window 'songs' : browser_window 'folders' ? browser_enter : browser_window 'folders'

However this scripting seems to be functioning rather differently on the two controllers - specifically on the Terminal Mix 4 'holding' the Browse button does not trigger 'browser_folder' in the normal way. If an open folder (with subfolders) is selected in the 'folders window' it is not closed as it should with 'browser_folder' (and it does with the DJ2GO2).... it only seems to work if you go up a level.

To give an example say using the 'Music' folder with an 'Acapellas' subfolder and a '80s' subfolder open..... the '80s' subfolder can only be closed by selecting the 'Acapellas' folder and then 'holding' the Browse button...

Is the Terminal Mix 4 Browse Button sending out some kind of different midi signal?

Thanks for any help....

发表时间 Wed 16 May 18 @ 10:14 am
danceitation wrote :

To give an example say using the 'Music' folder with an 'Acapellas' subfolder and a '80s' subfolder open..... the '80s' subfolder can only be closed by selecting the 'Acapellas' folder and then 'holding' the Browse button...

Actually that's the expected behavior.

You "highlight" a folder and use browser_folder to expand/collapse it's subfolders. You don't collapse a folder by using browser_folder on it's subfolders...

发表时间 Wed 16 May 18 @ 10:41 am
Hi Phantom,

Thanks for the response. I obviously didn't explain very well! :-) Because the same syntax is definitely behaving differently on the different controllers!

Using the same (hypothetical!) example:
'Music' folder with:
'Accapellas' Subfolder open showing:
"70's"; "80's"; "90's" subfolders:
With "80's" Subfolder open showing:
"Balads"; "Rock"; "Country" sub-subfolders.....

On the Reloop, in order to collapse the "80's" subfolder and hide "Balads"; "Rock" etc..... I am having to highlight the "Accapellas" folder..... which I don't think is normal?

There also seem to be some other slightly odd behaviour: if a folder is collapsed and contains both subfolders and tracks in it, on the reloop holding the browser button does not expand the folder but jumps to the 'song' window, whereas in the original DJ2GO2 mapping it will expand the folder to reveal the sub-folders as I would expect with the 'Browser_folder' command.

发表时间 Wed 16 May 18 @ 11:23 am
Just done a bit more testing by swapping round the 'browser_folder' and 'browser_enter' functions.....

'Browser_folder' now works as expected... but 'Browser_enter' doesn't work.... so it would seem to be something to do with the 'holding ?' command...

Further tested it by mapping the syntax to another button..... which worked perfectly so it seems to be something to do with how particularly the browser-button responds to the 'holding ?' command on this controller....

Any ideas?

发表时间 Wed 16 May 18 @ 11:35 am
Your original script is:
holding ? browser_window 'folders' ? browser_folder : browser_window 'songs' : browser_window 'folders' ? browser_enter : browser_window 'folders'

This script has a few logic flaws if I understand correctly what you're trying to do:

Case 1: Holding the button:
If focus is on Folders, Expand/Collapse the subfolders
Else (focus is anywhere else) switch focus to Songs. <-- Why to songs ?
If focus is on sideview then holding the button one time will switch the focus to songs. Then, all concurrent holding presses won't execute any code.

Case 2: Momentary push:
If focus is on folders, switch focus to songs
Else switch focus on folders

All these seems quite complicated to me...
As your current script stands the button will normally toggle back and forth between songs and folders, and it collapse/expand subfolders IF you hold it AND focus is on folders, OR will switch to songs again if focus is anywhere else

So,
If I was to combine your actions to one button I would do this:

holding ? browser_folder : browser_window 'folders,songs'



发表时间 Thu 17 May 18 @ 11:05 am
Hi Phantom,

Thanks for the very thorough and useful response. Sorry that it has taken me a few days to reply - I've been away from my computer for a few days....

The original (over complex!) script actually comes from the default DJ2GO2 mapping, rather than being my own invention :-) I'm just in the process of standardising various controllers and liked what this did....

I've tried your new script which is much simpler and more elegant! However unfortunately it still doesn't seem to work on the 'Browser/Track' button on this particular controller. I've tested it on other buttons on the same controller where it behaves as expected.... but on the track button.... non! It only seems to perform the second function (browser_window 'folders,songs') successfully.

Rooting around the behaviour of the button a bit further with other commands I'm wondering whether it is executing the command only on the release of the button rather than when pushed. Is this possible or likely?
And if so would that mean that a 'holding' command would not work - which seems to be what is happening in this case?
If this is what is happening is there anything that can be done about it?

Cheers!

发表时间 Sun 20 May 18 @ 9:18 am
djdadPRO InfinityDevelopment ManagerMember since 2005
Can you try something simpler, like...
holding ? loop 1 : loop 8

Hold the Browser knob pushed down for 2-3 seconds... do you always get loop 8 ?

If you do , then try this..
Download and run Miditrace from http://www.virtualdj.com/download/miditrace.exe
Select the TM4 from both left and right lists
Press and hold down the Browser knob (the one you are trying to map)
You should get something like..
90 39 7F (and nothing else, as long as the knob is pressed)
and when released , you should get ..
90 39 00 or 80 39 00

Is the is the case ?

发表时间 Sun 20 May 18 @ 9:56 pm
Hi Djdad,

Thanks for that, I thought that there was a tool like that but have never had to use it before. I think that is exactly what I was looking for.

I'll let you know how I get on....

发表时间 Mon 21 May 18 @ 7:15 am
Hi DjDad,

Ok done the testing:

"holding ? loop 1 : loop 8" - only get 'loop 8' and that only when releasing the button.

Ran Midi Trace which produced:
90 39 7F 00
90 39 00 00
but both came up at the same time when the button was released.

BTW I've never used MidiTrace before and it only seems to work if VirtualDj is closed. Is this right - can you only use it by closing down the main program?

Many thanks

发表时间 Mon 21 May 18 @ 10:37 am
danceitation wrote :

but both came up at the same time when the button was released.

That seems to be the issue then...

90397F should be sent when pressing the button down and 903900 when releasing it.
Therefore you can't use the "holding" verb on this button.
As a second option perhaps you could use double_click verb instead:

double_click ? browser_folder : browser_window 'folders,songs'

发表时间 Tue 22 May 18 @ 9:04 pm
Gotta Love This Program! :-)

Whatever you want to do - there's a solution.... and great people on hand to help out with expert advice :-)
I'd never had to use doubleclick before so didn't even know it existed.....

doubleclick ? browser_folder : browser_window 'folders,songs' works a treat (doubleclick rather then double_click btw)

Many thanks Phantom and DJDad for all your help....

Is there likely to be a reason for that button sending it's signal that way unlike all the other buttons or could it be a fault?

发表时间 Wed 23 May 18 @ 6:39 am
djdadPRO InfinityDevelopment ManagerMember since 2005

发表时间 Wed 23 May 18 @ 6:46 am
Checked the Firmware - seems to be up to date.... so must be a quirk in the design. Maybe I'll try ask reloop about it....

发表时间 Wed 23 May 18 @ 10:07 am
Do me a little favor please.
Use the MIDI Trace tool again and check this:
1. Turn the browse knob clockwise
2. Take note of the messages sent by your unit
3. Hold down the browse knob and then turn it clockwise (while held down)
4. Take note of the messages sent

Are the messages on step 2 & 4 the same ?


发表时间 Wed 23 May 18 @ 3:46 pm
Oh Great, How exciting - digging deeper! I've no idea what for.... but here goes:

Browse Knob Clockwise:
B0 39 41 00
B0 39 41 00
B0 39 41 00.......

Browse Button + Knob Clockwise:
B0 39 41 00.... (the same)

Browse Knob Anticlockwise:
B0 39 3F 00....

Browse Button + Knob AntiClockwise:
B0 39 3F 00..... (the same)

Don't know if that helps?



发表时间 Wed 23 May 18 @ 4:09 pm
And BTW I wrote to Reloop and their response was:

"the Terminal Mix 4 is mader for Serato DJ Lite.
Please download the software here:
https://serato.com/dj/lite
Try out if those mapping issues you have effect the same in Serato.
If this is not faulty than i recommend you to contact Virtual Dj for instruction.
Let me know if you need further help."


Ha Ha!! :-)

发表时间 Wed 23 May 18 @ 4:11 pm
danceitation wrote :

Browse Knob Clockwise:
B0 39 41 00

Browse Button + Knob Clockwise:
B0 39 41 00.... (the same)

Don't know if that helps?

Yes it helps. I was hoping that it was sending different messages and that's why the messages are sent both on button release, but obviously it's a firmware bug, not a function! :P

发表时间 Wed 23 May 18 @ 5:40 pm