Push 4 Bitwig

monoklinke

monoklinke

|||||||||||
Falls nicht bekannt:
Ableton's Push funktioniert auch prima mit Bitwig.

Jürgen Moßgraber hat dafür ein Script geschrieben.
Hier alle Infos.

Ein Video-Tutorial mit sechs Folgen gibt es hier.


Ich persönlich habe den Push gerade erst bekommen und kann noch nicht viel berichten.
Alles funktioniert, wie in den Videos beschrieben. :supi:

Hat sonst noch jemand Erfahrungen gemacht?
 
Damit ich Jürgen nicht immer per PN nerven muss, direkt eine erste Frage in die Runde:

Ist es auch einem Laien möglich, der null Ahnung von Javascript hat, so ein Script anzupassen?

Im Speziellen möchte ich folgendes tun:
Die Funktionen von "rec" und "shift+rec" würde ich gern austauschen. (Den Override Mode für Clips benötige ich wesentlich häufiger als die globale Aufnahme.)
Gleiches für "pfeil rechts/links" und "shift+pfeil rechts/links" (Ich würde gern mit nur einem Tastendruck in die nächsten acht Spuren wechseln)

Jürgen darf natürlich auch antworten ;-)
 
monoklinke schrieb:
Damit ich Jürgen nicht immer per PN nerven muss, direkt eine erste Frage in die Runde:

Na, so einfach bin ich jetzt nicht genervt :)

monoklinke schrieb:
Ist es auch einem Laien möglich, der null Ahnung von Javascript hat, so ein Script anzupassen?

Äh, nein. Du kannst es aber ja trotzdem versuchen ;-)

monoklinke schrieb:
Im Speziellen möchte ich folgendes tun:
Die Funktionen von "rec" und "shift+rec" würde ich gern austauschen. (Den Override Mode für Clips benötige ich wesentlich häufiger als die globale Aufnahme.)

In view\AbstractViewExtensions.js Zeile 59 und 61 tauschen.

monoklinke schrieb:
Gleiches für "pfeil rechts/links" und "shift+pfeil rechts/links" (Ich würde gern mit nur einem Tastendruck in die nächsten acht Spuren wechseln)

In der gleichen Datei in Zeile 628 und 728 ein "!" vor "this.surface.isShiftPressed ()" einfügen.

monoklinke schrieb:
Jürgen darf natürlich auch antworten ;-)

Hat er doch glatt gemacht.
 
Also so?:

59 <> 61
Code:
AbstractView.prototype.onRecord = function (event)
{
    if (!event.isDown ())
        return;
    if (this.surface.isShiftPressed ())
        this.model.getTransport ().record ();
    else
        this.model.getTransport ().toggleLauncherOverdub ();
};

682 (nicht 628)
Code:
AbstractView.prototype.scrollLeft = function (event)
{
    var cd = this.model.getCursorDevice ();
    switch (this.surface.getCurrentMode ())
    {
        case MODE_DEVICE_PARAMS:
        case MODE_DEVICE_DIRECT:
        case MODE_DEVICE_COMMON:
        case MODE_DEVICE_ENVELOPE: 
        case MODE_DEVICE_MODULATE:
        case MODE_DEVICE_MACRO:
        case MODE_DEVICE_USER:
            if (this.surface.isShiftPressed ())
                this.surface.getActiveMode ().selectPreviousPageBank ();
            else
                this.surface.getActiveMode ().selectPreviousPage ();
            break;
        
        case MODE_DEVICE_PRESETS:
            break;
    
        case MODE_DEVICE_LAYER:
            if (this.surface.isShiftPressed ())
                cd.previousLayerOrDrumPadBank ();
            else
                cd.previousLayerOrDrumPad ();
            break;
            
        default:
            var tb = this.model.getCurrentTrackBank ();
            var sel = tb.getSelectedTrack ();
            var index = sel == null ? 0 : sel.index - 1;
            if (index == -1 || !this.surface.isShiftPressed ())
            {
                if (!tb.canScrollTracksUp ())
                    return;
                tb.scrollTracksPageUp ();
                var newSel = index == -1 || sel == null ? 7 : sel.index;
                scheduleTask (doObject (this, this.selectTrack), [ newSel ], 75);
                return;
            }
            this.selectTrack (index);
            break;
    }
};

728
Code:
AbstractView.prototype.scrollRight = function (event)
{
    var cd = this.model.getCursorDevice ();
    switch (this.surface.getCurrentMode ())
    {
        case MODE_DEVICE_PARAMS:
        case MODE_DEVICE_DIRECT:
        case MODE_DEVICE_COMMON:
        case MODE_DEVICE_ENVELOPE: 
        case MODE_DEVICE_MODULATE:
        case MODE_DEVICE_MACRO:
        case MODE_DEVICE_USER:
            if (this.surface.isShiftPressed ())
                this.surface.getActiveMode ().selectNextPageBank ();
            else
                this.surface.getActiveMode ().selectNextPage ();
            break;
        
        case MODE_DEVICE_PRESETS:
            break;
            
        case MODE_DEVICE_LAYER:
            if (this.surface.isShiftPressed ())
                cd.nextLayerOrDrumPadBank ();
            else
                cd.nextLayerOrDrumPad ();
            break;
            
        default:
            var tb = this.model.getCurrentTrackBank ();
            var sel = tb.getSelectedTrack ();
            var index = sel == null ? 0 : sel.index + 1;
            if (index == 8 || !this.surface.isShiftPressed ())
            {
                if (!tb.canScrollTracksDown ())
                    return;
                tb.scrollTracksPageDown ();
                var newSel = index == 8 || sel == null ? 0 : sel.index;
                scheduleTask (doObject (this, this.selectTrack), [ newSel ], 75);
                return;
            }
            this.selectTrack (index);
            break;
    }
};

Oder mit Leerzeichen? "! this"
 
monoklinke schrieb:
Probiere ich morgen aus.
Danke.
:supi: :supi: :supi:

Für mich ist der Workflow so besser. Insbesondere der Bankwechsel in 8er Schritten.

Jetzt muss Bitwig noch das "External Instrument" pimpen, dann bin ich glücklich.
(Effectslot und CC > Makro)
 
hm... Eigentlich wollte ich @moss direkt anschreiben, aber ich haue das jetzt mal hier mit rein:

Ist es beim Push 2 eigentlich auch so, dass das Gerät nicht korrekt darauf reagiert, wenn man in Bitwig mit der Mouse von einem der ersten 8 Instrumente auf ein Kanal oberhalb der erste 8 wechselt?

Beim Push 1 ist das seltsam...
Wenn bspw. Kanalzug 1 aktiv ist und ich mit der Mouse auf Kanal 9 wechsle, kann ich zwar das Instrument 9 mit den Pads spielen, aber die Pads sind dunkel und auch im Display werden nach wie vor Kanal 1-8 angezeigt.

Das Lauchpad mini mkII hat das Problem nicht. Das zeigt immer den korrekten Slot an.
 
hm... Eigentlich wollte ich @moss direkt anschreiben, aber ich haue das jetzt mal hier mit rein:

Ist es beim Push 2 eigentlich auch so, dass das Gerät nicht korrekt darauf reagiert, wenn man in Bitwig mit der Mouse von einem der ersten 8 Instrumente auf ein Kanal oberhalb der erste 8 wechselt?

Beim Push 1 ist das seltsam...
Wenn bspw. Kanalzug 1 aktiv ist und ich mit der Mouse auf Kanal 9 wechsle, kann ich zwar das Instrument 9 mit den Pads spielen, aber die Pads sind dunkel und auch im Display werden nach wie vor Kanal 1-8 angezeigt.

Das Lauchpad mini mkII hat das Problem nicht. Das zeigt immer den korrekten Slot an.

Dann antworte ich trotzdem mal direkt :cool:
Ich kann das weder auf dem Push 1 noch 2 nachvollziehen. Kannst du vielleicht ein kleines Video machen?
 
Kannst du vielleicht ein kleines Video machen?

So... Hab das mal laienhaft abgefilmt.
Zur besseren Orientierung habe ich die Spuren farbig gemacht: 1 - 8 in blau und 9 - 16 in orange.


Spur 4 ist ausgewählt.
Launchpad und Push zeigen den korrekten Kanalzug an.

Mit der Mouse wähle ich Spur 16.
Launchpad wechselt brav zu Spur 16, aber Push bittet darum, einen Track auszuwählen. Spielen lässt sich Spur 16 trotzdem.
Und wenn ich dann mit den Pfeiltasten eine Spur weiterschalten will, fängt er bei 1 an.

Seltsamerweise passiert das nur in der Mixer-Ansicht. Im Arranger-Mode passiert das nicht.



Edit: Mir fiel gerade auch noch auf, dass dieses Phänomen nicht auftritt, wenn ich statt der "Reiter" (wie im Video) Clipslots auswähle.
 
Zuletzt bearbeitet:


News

Zurück
Oben