PDA

View Full Version : Frage zu JSFX Programmierung


typewriter
12-27-2014, 07:27 PM
Ich bin reichlich ahnungslos, was Scripting angeht - verzeiht als die vielleicht etwas dämliche Frage.

Kann man ein Skript in Java Script, das ursprünglich als Midi Effekt für Logic Pro X programmiert wurde nach JSFX portieren?

typewriter
12-29-2014, 07:21 AM
Hi typewriter,
ich hoffe ich verstehe dich richtig aber Java Script hat nichts mit Reaper's JS gemeinsam.

Grundsätzlich sollte es aber möglich sein jeden Midieffekt jeder möglichen Sprache mit etwas Arbeit nach JS zu portieren.
Meine Empfehlung vorher ist allerdings eine kleine Recherche, da gerade im Bereich Midi schon sehr viel gemacht wurden ist und so viel im Forum und im Stash vergraben liegt.

Danke für die Antwort. Ich weiß, dass das nicht das Gleiche ist. Meine Frage ging in die Richtung, ob die Skriptsprachen so ähnlich sind, dass sich der Portierungsaufwand in Grenzen hält.

Im Stash finde ich das, was ich brauche nicht. Es geht um ein "Legato-Skript", das ich vor einen nicht skriptfähigen Sampler einfügen will.

typewriter
12-29-2014, 02:09 PM
JS und Java Script haben nichts gemeinsam und sind sich, außer natürlich bei den Grundlagen, auch nicht ähnlich. Am ähnlichsten ist JS noch C.
Der Portierungsaufwand lässt sich für ein mir unbekanntes Skript nicht zuverlässig abschätzen.

Zur Problemstellung: Sollen Mididaten in Echtzeit verarbeitet werden wäre für die JS-Portierung hier der Start der Reise: Link (http://www.cockos.com/reaper/sdk/js/midi.php#js_midi)
Ansonsten könnte evtl. auch schon die gute alte Action "Set Note length to start of next note" helfen.

Ja, Echtzeit. Im Prinzip ist es so, dass die Legato(anschluss)noten auf zwei Zonen der Klaviatur gemapt sind, die nicht der normalen Position entsprechen (also c1 liegt nicht auf c1). Das Skript überprüft also zuerst, welche Note auf dem Keyboard angeschlagen wird und "verbiegt" die Eingabe auf die Stelle an der das Sample in der korrekten Tonhöhe liegt. Danach geht es darum, in Abhängigkeit von den in legato gespielten Noten die jeweils korrekten Übergangssamples abzuspielen. Spielst Du zuerst c1 und dann (aufwärts) legato zu e1, dann wird vom Skript zunächst c1 aus der ersten Zone gespielt und dann das für e1 passende (aufwärts) legato Sample aus der zweiten Zone. Verbindest Du die Noten abwärts, spielst also e1 zu c1, dann geht es in der zweiten Zone los und das zweite Sample stammt aus der ersten Zone. So in etwa ;-)