[Feature Request] JavaScript Integration

Hi Steinberg Leute,
anbei ein Feature Request/Produktanforderung worüber ich mich riesig freuen würde und was einen Mehrwert für eure Software und User darstellt. Ich habe euch das eben mal als Userstory vorbereiten, damit diese direkt in der Softwareentwicklung im Scrumboard eingestellt werden kann :wink:


[Userstory]
Als technisch versierter User möchte ich mein Cubase o.ä. um eigene Plugins/VST auf Basis von JavaScript/Html erweitern.

[Requirements]

  • Hierfür wird eine API/Schnittstelle --oder-- ein Interpreter/Importer für JavaScript/Html Files benötigt über welche ich (Midi)-Daten austauschen kann.
  • Eine softwareseite JS/TS Library
  • Implementierung des Chromium (Web MIDI API -> https://caniuse.com/#feat=midi)

In näherer Zeit plane ich ein Open Source Projekt für ein VST/Synth welches als Standalone in einer Electron App (Basis: Chromium, Angular7, Evtl noch eine Implementierung von Native Script um für alle Plattformen eine Native App zu generieren oder als Progressive Web App [PWA]) läuft. Wenn dies fertig ist schicke ich euch gerne das Projekt.

Ich würde mich freuen wenn ihr euch dem Thema der Schnittstelle annehmen könntet,
da ich wirklich gerne mit Cubase arbeite. Falls ihr noch irgendwelche Info’s oder Hilfe benötigt, helfe ich euch gerne weiter und denke das ich als Software Engineer für die Prototypen von Audi euch auch weiterhelfen kann (z.m. was Webtechnologien betrifft)

Mit besten Grüßen
Sebastian

Ich dachte, VST sei die von Steinberg entwickelte Schnittstelle, für die es auch ein SDK gibt.
Damit werden doch schon jede Menge tolle, teilw. Kostenlose Plugins entwickelt.
Scheint also auch für eine große Community möglich zusein.
Was willst Du anders machen und was ist der Mehrwert ?

Ich sehe das vorsichtig so, dass die Bearbeitung statt lokal über VST-Plugins nun über das Internet in einem Browser vorgenommen werden kann.
Mir erschliesst sich nur nicht der Vorteil für den lokal arbeitenden Cubase-Nutzer. Und mir erschliesst sich auch nicht der Sinn welchen Vorteil eine so langsame Schnittstelle hätte.

Hi @Nikkin,@THambrecht
Also absoluter Mehrwert ist auf jedenfall dass einfach “jeder” sich selbst seine Plugins bauen kann wie er sie braucht, der Anteil der Software Dev’s die JS können ist halt enorm hoch.
Vorteile einer offen Webschnittstelle… Ich weis garnicht wo ich da anfangen soll.
Man könnte sich an einem Tag eben mal ein Collaboration (Firebase z.B. für Datenhaltung) Plugin bauen um mit anderen Musikern gleichzeitig “Echtzeit -> Websocket” an einem Projekt zu arbeiten.
Oder sich ein tool zum syncen zwischen verschieden Cubase Instanzen bauen.
… die Liste ist lang.

Aber der wichtigste Mehrwert ist das man eine bestehende Dev Community enorm erweitern kann durch neue Schnittstellen.
Mehr Leute = Mehr Content

Vorteil ist eben auch das sämtliche Anwendungen für jede Plattform ohne großen Aufwand deployed werden kann (Stichwort: Ionic, NativeScript)
Mittels manifest.json/xml kann man das dann direkt auch als Win10 App (mit Livekachel und Schnick schnack) oder Chrome App bereitstellen (oder eben via Electron als exe)

Du kannst dir aber auch alles was du so brauchst (Plugins/Tools) in eine package.json legen und das per einer Kommandozeile aus den einzelnen Repositories auf jedes Zielsystem laden.

Und der Punkt mit den ettlichen Installationen fällt dadurch auch komplett weg

Ich habe mir jetzt selber mal eine komplette DAW mit WebAudio, WebMidi und ein par anderen Nodemodules gebaut (arbeitszeit: 1 Software Dev -> 2 Wochen [So am Wochenende und Feierabend]) und ich muss sagen das gerade das Thema Latenz etc kein Problem darstellt. Viellleicht fällt mir das als Hobbymusiker auch nicht auf ob das 10ms unterschied macht.

Besten Gruß, Thx fürs Feedback

Falls mal sowas in der art eingebaut wird.
max4live bzw. Max dürfte dann meiner Ansicht nach die erste Wahl sein.
https://www.ableton.com/de/live/max-for-live/
Ich meine da geht auch java script.
Und das ist schon fertig. Steinberg müsste das „nur noch“ einbauen.

ja, m4l kann JavaScript. Ob cycling 74 so etwas wie m4c zulässt, wage ich mal zu bezweifeln, da Ableton die Firma vor ein paar Jahren gekauft hat :wink:
Grundsätzlich traue ich dem “großen” Max zu, o.g. Funktionen zu erfüllen (ich kratze da mit m4l nur an der Oberfläche), allein aus einem Max-Projekt ein VST-Plugin zu generieren wird dort nicht aus dem Hut gezaubert, leider.

Grundsätzlich wäre ich für eine Script-API in Cubase, wobei mir der Dialekt egal wäre. So könnte ich mir vorstellen, den Logical-Editor zu pimpen oder Controller zu modifizieren.

Trivial ist so eine (Web-)Schnittstelle nicht, von Security-Themen ganz zu schweigen, da werden sicherlich einige Spaßvögel Leaks suchen wollen. Gut, dass wäre bei einem VST auch möglich, grade wenn die DAW mit Admin-Rechten läuft läßt sich damit viel dummes Zeugs anstellen. Ich gehe jedoch davon aus, dass das Steinberg SDK sicher genug ist :wink:

Der Logical Editor ist eine Katastrophe.

Bei mir hat sich mal der Eindruck breit gemacht das man Max auch ohne Ableton
nutzen kann. Man soll damit sogar VSTs erzeugen können mit einem Tool namens Pluggo.
Wenn dem so ist kann man ja Max benutzen.

Das folgende soll nicht bedeuten das ich gegen solch eine Erweiterung von Cubase bin.

Ich stell mir nun vor was das an Zeit und Geld kostet bis man so eine Umgebung
für Cubase aus der hohlen Hand entwickelt hat. Das wird sicher ein 6-7 Stelliger Betrag.
Und dann ist die Frage wer kauft dann deswegen Cubase. Also, wer entscheidet sich
nur deswegen für Cubase weil die Möglichkeit gegeben ist eigene Plugins zu entwickeln.

Ich frage ich mich gerade ob mir ein Spezielles Plugin fehlt das es noch nicht gibt? Antwort Keins.
Also ich persönlich werde keine Zeit darauf verwenden Plugins zu entwickeln. Zumal der
Markt übervoll mit Plugins ist. Einen Kaufanreiz wird das für mich nicht sein.

Um VSTs zu bauen gibt es bereits mehrere Möglichkeiten.
Cabbage für csound
ReaJS
PureDatas VST-Umsetzung
Um mal drei zu nennen, die frei oder Open Source sind.
Viel interessanter wäre für mich eine richtige Makrosprache wie VBA, LibreBasic oder die Scriptumsetzung in SoundForge. Um Routineaufgaben und Batchaufgaben zu erledigen wäre es ein Traum. Die jetzigen Möglichkeiten wie der Logical Editor sind doch arg steif und In der “Logik” wie über die Schulter durch die Brust ins Auge.

Das klingt Interessant.