Sign In:     


Forum: German Forum

Topic: Pioneer Flx10 und Hotcue mapping (Hilfe benötigen)
Hallo Zusammen,

bei Pioneer ist es aktuell so, dass die Hotcue Pads auch als Save Loop Pads benutzt werden können.

Dabei habe ich folgendes Mapping Problem

Szenario:

Hotcue Pad 1 ist als normaler Hotcue belegt
Hotcue Pad 2 ist als Saved_loop 2 belegt

Aktuelles Mapping

Hotcue Pad 1:
dauldeckmode_decks & pad 1 loop ? loop_save 1

Hotcue Pad 2:
dauldeckmode_decks & pad 2 loop ? loop_save 2

Problem an der ganzen Sache ist, wenn ich Pad 2 ausgelöst habe (spielt den gespeicherten Loop) und nun Pad 1 drücke, wird der gespielte Loop von Pad 2 mitgenommen und bei Pad 1 als loop_save 1 gespeichert und als loop gespielt. Das gleiche passiert immer, egal wo ich im Song ein Loop spiele und Pad 1 drücke (welches nur als Hotcue gespeichert wurde) , der Loop sozusagen mitgenommen wird und sich Pad 1 in einen save_loop verwandelt.

Ziel ist, wenn ein Loop gespielt wird (egal wo im Song) und ich Pad 1 drücke, das der Loop "nicht mitgenommen wird und nicht als saved_loop 1 auf Pad 1 gespeichert wird. Das ich sozusagen zwischen Pad 2 (save_loop 2) und Pad 1 (nur Hotcue 1) hin und her springen kann , ohne den Loop auf Pad 1 mitzunehmen

Das Mapping müsste dann in etwa so lauten:

Wenn Loop gespielt und Hotcue pad 1 frei, dann saved_loop 1 pad 1, aber wenn Pad 1 bereit belegt als Hotcue ohne save_loop 1, dann ohne save_loop anspielen und loop_exit.

Jemand eine Idee wie man das am besten mapped.

Mit Dank im Voraus und Gruß
 

Posted 6 days ago @ 12:33 pm
ToXcis wrote :
Hallo Zusammen,

bei Pioneer ist es aktuell so, dass die Hotcue Pads auch als Save Loop Pads benutzt werden können.

Dabei habe ich folgendes Mapping Problem

Szenario:

Hotcue Pad 1 ist als normaler Hotcue belegt
Hotcue Pad 2 ist als Saved_loop 2 belegt

Aktuelles Mapping

Hotcue Pad 1:
dauldeckmode_decks & pad 1 loop ? loop_save 1

Hotcue Pad 2:
dauldeckmode_decks & pad 2 loop ? loop_save 2

Problem an der ganzen Sache ist, wenn ich Pad 2 ausgelöst habe (spielt den gespeicherten Loop) und nun Pad 1 drücke, wird der gespielte Loop von Pad 2 mitgenommen und bei Pad 1 als loop_save 1 gespeichert und als loop gespielt. Das gleiche passiert immer, egal wo ich im Song ein Loop spiele und Pad 1 drücke (welches nur als Hotcue gespeichert wurde) , der Loop sozusagen mitgenommen wird und sich Pad 1 in einen save_loop verwandelt.

Ziel ist, wenn ein Loop gespielt wird (egal wo im Song) und ich Pad 1 drücke, das der Loop "nicht mitgenommen wird und nicht als saved_loop 1 auf Pad 1 gespeichert wird. Das ich sozusagen zwischen Pad 2 (save_loop 2) und Pad 1 (nur Hotcue 1) hin und her springen kann , ohne den Loop auf Pad 1 mitzunehmen

Das Mapping müsste dann in etwa so lauten:

Wenn Loop gespielt und Hotcue pad 1 frei, dann saved_loop 1 pad 1, aber wenn Pad 1 bereit belegt als Hotcue ohne save_loop 1, dann ohne save_loop anspielen und loop_exit.

Jemand eine Idee wie man das am besten mapped.

Mit Dank im Voraus und Gruß


dualdeckmode_decks & saved_loop 2 ? saved_loop_prepare 2 : loop_save 2


eher so?
also wenn es das ist was du meinst?

also ich würde eher die split funktion der Pads nutzen also Reihe 1-4 der Pads wäre dann Hotcue 1-4 und Saved Loops 1-4 die untere Reihe.
 

Das mapping von dir ist es leider nicht. Der Vorschlag obere Reihe nur Hotcue und unter Reihe nur saved_loops hab ich mir auch schon überlegt.
Dank dir trotzdem, werd jetzt nochmal warten, vielleicht kommt noch ein passendes Mapping
 

Nochmal zum Verständnis

Wenn kein Loop, dann pad 1 drücken
= hotcue 1

Wenn Loop, dann pad 1 drücken
= loop_save 1

Aber wenn ein loop im Song spielt und ich pad 1 drücke wo nur hotcue 1 gespeichert ist, dann nur Hotcue spielen und kein save_loop 1 speichern.

Ja, dass ist etwas verwirrend und knifflig. Da bei aktive Loop einmal saved_loop gespeichert werden soll

und einmal,

wenn schon hotcue vorhanden, kein save_loop statt finden soll, wenn eine aktiver loop gespielt wird.

Das ist der Konflikt wenn aktiver Loop, einmal saved_loop setzen beim anderen mal kein save_loop, wenn schon mit hotcue besetzt.
 

ToXcis wrote :
Nochmal zum Verständnis

Wenn kein Loop, dann pad 1 drücken
= hotcue 1

Wenn Loop, dann pad 1 drücken
= loop_save 1

Aber wenn ein loop im Song spielt und ich pad 1 drücke wo nur hotcue 1 gespeichert ist, dann nur Hotcue spielen und kein save_loop 1 speichern.

Ja, dass ist etwas verwirrend und knifflig. Da bei aktive Loop einmal saved_loop gespeichert werden soll

und einmal,

wenn schon hotcue vorhanden, kein save_loop statt finden soll, wenn eine aktiver loop gespielt wird.

Das ist der Konflikt wenn aktiver Loop, einmal saved_loop setzen beim anderen mal kein save_loop, wenn schon mit hotcue besetzt.


hast du loopAutoMove auf nein in den Einstellungen?

Ansonsten müsste es so sein für pad 1:
loop ? loop_save 1 : hot_cue 1


das würde das von dir oben beschriebene machen... allerdings speichert er dann bei einem manuellen Loop immer beim drücken von pad 1 wieder einen neuen saved loop.
 

saved_loop 1 ? saved_loop 1 : loop ? saved_loop 1 : hot_cue 1


Versuch das mal. LoopAutoMove muss aber deaktiviert sein in den Einstellungen.
 

Erstmal danke.

Jetzt kommen wir der Sache schon ziemlich nahe. Mit dem 2 Mapping funktioniert es. Allerdings gibt es noch einen kleinen Haken. Wenn ich im Loop bin (ohne save_loop und Pad) sagen wir im Song bei Minute 3 und eine Hotcue ansteuern, setzt er mir den Loop bei Minute 3 als save_loop.

Kurze gesagt: setzte Hotcue Pad1 bei Minute 1 und Loop (nicht save_loop Pad2.....) den Song bei Minute 3, steuere Pad 1 Hotcue an, dann wird saved_loop bei Minute 3 gespeichert ohne Pad....
 

Ich glaube da müsste noch ein Mapping integriert werden in etwa so:

Wenn Loop und kein Paad, dann loop_exit und zusätzlich kein save_loop wenn Pad gedrückt wird....
 

ToXcis wrote :
Ich glaube da müsste noch ein Mapping integriert werden in etwa so:

Wenn Loop und kein Paad, dann loop_exit und zusätzlich kein save_loop wenn Pad gedrückt wird....


saved_loop 1 ? saved_loop 1 : hot_cue 1 ? loop ? saved_loop 1 : hot_cue 1


vll so? aber es ergibt alleine von der Logik keinen Sinn.

Weil wenn ich einen Loop setze und drücke dann ein Pad, was keinen Hot Cue hat speichere ich ja automatisch diesen Loop als Hotloop. Das ist ja der Sinn daran.
Woher soll ein Script denn wissen, wann du einen "Hot Loop" setzen willst und wann es den Loop beenden soll, um dann einen Hot Cue zu setzen?
Drück doch einfach auf Loop Exit und setze dann den Hotcue.

Würdest du bei CDJs im Standalonebetrieb ja auch so machen. Zur Vorbereitung macht der Script ja Sinn, habe auch so etwas ähnliches als Padpage programmiert für den XP2.

vll mal @locodog fragen. der weiß bestimmt eine Lösung...
 

Erstmal vielen Dank an Marcth....

damit nicht "andere" diesen Mapping Marathon mitmachen müssen, teile ich gerne das vorläufige Ergebnis. Bitte bedenken, dass dies für den Pioneer FLX 10 ist, ob es auf anderen Controller funz, weiß ich nicht.

Ergebnis:

Einstellungen VDJ in den Cues




Mapping Hotcue 1- 6 (Hotcue_Pad 1-6)

dualdeckmode_deck & loop ? var "pad" 1 ? hot_cue 1 & saved_loop 1 & set "has_loop_1" 1 : hot_cue 1 : var "has_loop_1" ? hot_cue 1 & goto_loop 1 : hot_cue 1

dualdeckmode_deck & loop ? var "pad" 2 ? hot_cue 2 & saved_loop 2 & set "has_loop_2" 1 : hot_cue 2 : var "has_loop_2" ? hot_cue 2 & goto_loop 2 : hot_cue 2

dualdeckmode_deck & loop ? var "pad" 3 ? hot_cue 3 & saved_loop 3 & set "has_loop_3" 1 : hot_cue 3 : var "has_loop_3" ? hot_cue 3 & goto_loop 3 : hot_cue 3

dualdeckmode_deck & loop ? var "pad" 4 ? hot_cue 4 & saved_loop 4 & set "has_loop_4" 1 : hot_cue 4 : var "has_loop_4" ? hot_cue 4 & goto_loop 4 : hot_cue 4

dualdeckmode_deck & loop ? var "pad" 5 ? hot_cue 5 & saved_loop 5 & set "has_loop_5" 1 : hot_cue 5 : var "has_loop_5" ? hot_cue 5 & goto_loop 5 : hot_cue 5

dualdeckmode_deck & loop ? var "pad" 6 ? hot_cue 6 & saved_loop 6 & set "has_loop_6" 1 : hot_cue 6 : var "has_loop_6" ? hot_cue 6 & goto_loop 6 : hot_cue 6

Erläuterung:

mit diesen Mapping kan in den Hotcues 1-6 (egal ob nur Hotcue oder mit Hotcue Loop) fröhlich hin und her gesprungen werden, ohne sich Gedanken machen zu müssen :) Wichtig, dies ist von mir so gewollt: spingt man aus einem Hotcue + Loop auf einen vorherigen gesetzten Hotcue (ohne Loop), bleibt der ursprüngliche Hotcue Loop im Loop, spring man aus einem Hotcue + Loop auf einen kommenden Hotcue ist der Loop von dem ürspünglichem Hotcue + Loop aus. Einfach mal ausprobieren, ihr werdet merken was ich meine.

Hotcue löschen Mapping Pad 1-8 (shift_Hotcue_PAD 1-8)

dualdeckmode_decks & padshift 1 & loop_delete 1

dualdeckmode_decks & padshift 2 & loop_delete 2

dualdeckmode_decks & padshift 3 & loop_delete 3

dualdeckmode_decks & padshift 4 & loop_delete 4

usw.........

Bemerkung: mit diesen Mapping werden die Hotcue PAD 1-8 gelöscht, auch die saved_loop 1-6, falls diese ausversehen auf PAD 1-6 gespeichert wurden.

Mapping PAD 7-8 (Hotcue_Pad 7-8)

dualdeckmode_deck & pad 7 & loop ? saved_loop 7

dualdeckmode_deck & pad 8 & loop ? saved_loop 8


Bemerkung:
Auf Pad 7-8 sind sozusagen meine Loops welche gestartet werden können ohne dass diese gleich angesprungen werden und liegen bei mir meistens am Ende der Songs. Sprich die Loops PAD 7-8 können am Controller über shift + 4 aktiviert werden, ohne das dort gleich hingesprungen wird, hat den Vorteil, dass der Song nicht ausläuft und schaft einen Zeit für einen Übergang.

damit das funktioniert muss der Button shift + 4 Beat Loop (loop) gemappt werden, damit das so ist wie in Rekordbox funktioniert.

Mapping PAD 7-8, shift +4 Beat Loop (shift_4beat_loops), einfach den folgenden Text in shift_4beat_loops kopieren:

set_var %loopInPos 0 & set_var %loopOutPos 0 & set_var %loopInPos `get_saved_loop 1 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 1 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 1 : set_var %loopInPos `get_saved_loop 2 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 2 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 2 : set_var %loopInPos `get_saved_loop 3 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 3 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 3 : set_var %loopInPos `get_saved_loop 4 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 4 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 4 : set_var %loopInPos `get_saved_loop 5 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 5 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 5 : set_var %loopInPos `get_saved_loop 6 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 6 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 6 : set_var %loopInPos `get_saved_loop 7 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 7 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 7 : set_var %loopInPos `get_saved_loop 8 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 8 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 8 : set_var %loopInPos `get_saved_loop 9 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 9 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 9 : set_var %loopInPos `get_saved_loop 10 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 10 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare10 : set_var %loopInPos `get_saved_loop 11 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 11 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 11 : set_var %loopInPos `get_saved_loop 12 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 12 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 12 : set_var %loopInPos `get_saved_loop 13 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 13 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 13 : set_var %loopInPos `get_saved_loop 14 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 14 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 14 : set_var %loopInPos `get_saved_loop 15 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 15 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 15 : set_var %loopInPos `get_saved_loop 16 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 16 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 16 : set_var %loopInPos `get_saved_loop 17 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 17 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepar 17 : set_var %loopInPos `get_saved_loop 18 'pos'` & set_var %loopOutPos `param_add "get_var %loopInPos" "get_saved_loop 18 'len'"` & param_smaller `param_multiply "get_var %loopOutPos" 1000` `get_time elapsed absolute` ? loop_load_prepare 18

Text kopieren Ende

Schlussbemerkug:

Funktionen:

PAD 1-6 zwischen den gesetzten Hotcue 1-6 kann fröhlich Hin- und Her gesprungen werden (ohne sich ein großen Kopf zu machen ob Loop vorhanden oder nur Hotcue

PAD 7-8 könne aktiviert werden über SHIFT + 4 (vier Beat Loop) am Controller, ohne gleich angesprungen zu werden. Bedingung: das PAD 7-8 vorher auf einem Hotcue Button (Pad 7 oder 8) mit Loop gespeichert wurden.

Wenn man die Funktionalität hinter diesen Mapping versteht, wird man bei Gigs ein glücklicher DJ sein ;)
Da dieses auf meinen Bedürfnissen beruht, ist dies wie so oft, eine reine "Subjektive" Darstellung.
Einfach mal ausprobieren.

In diesem Sinne viel Spaß,
mit Gruß DJ Toxcis