Monat: Juli 2020

Audio Programmierung #08 – C++ Grundlagen: Verschachtelte Schleifen

Genauso, wie man manchmal verschachtelte if-Anweisungen benötigt, ist es nicht ungewöhnlich auch Schleifen zu verschachteln. Wenn wir beispielsweise zwei Arrays mit Integern haben und jedes der Elemente miteinander multiplizieren wollen – wenn es sich um mathematische Vektoren handelt – dann benutzt man dazu am besten eine verschachtelte Schleife.

Die erste Schleife läuft durch myNums1, während die innere Schleife durch myNums2 läuft.

// nestedLoops.cpp

#include <iostream>

using namespace std;

int main() {
    const int ARRAY1_LEN = 3;
    const int ARRAY2_LEN = 2;

    int myNums1[ARRAY1_LEN] = {35, -3, 0};
    int myNums2[ARRAY2_LEN] = {20, -1};

    cout << "Multiplying each int in myNums1 by each"
         << " im MyNums2:" << endl;

    for(int index1 = 0; index1 < ARRAY1_LEN; ++index1) {
        for(int index2 = 0; index2 < ARRAY2_LEN; ++index2) {
            cout << myNums1[index1] << " X " << myNums2[index2]
                 << " = " << myNums1[index1] * myNums2[index2]
                 << endl;
        }
    }
    return 0;
}
Multiplying each int in myNums1 by each im MyNums2:
35 X 20 = 700
35 X -1 = -35
-3 X 20 = -60
-3 X -1 = 3
0 X 20 = 0
0 X -1 = 0

Die besagten verschachtelten for Schleifen sind in Zeile 17 und 18. Die erste Schleife durchläuft das Array myNums1 und die zweite Schleife durchläuft das Array myNums2. Für jedes Element in myNums1 wird immer die komplette zweite Schleife ausgeführt.

Up To Date – News und Kurioses für Audio Enthusiasten KW31

News

Presonus hat seiner Vorzeige-DAW Studio One die Versionsnummer 5 verpasst. Es gibt im Wesentlichen Neuerungen im Bereich Live Performance und Scoring. Es gibt keine neuen Instrumente oder Effekte, sondern nur weitere Verbesserungen vorhandener Features.

SuperFlyDSP spendet Musikern 4 neue Effekte für lau: WahWah, Tremolo, Chorus und einen Phaser.

Jatin Chowdhury hat ein Tape Saturation Plugin entwickelt, dass er ebenfalls umsonst weitergibt. Chow Tape Model ist ein Open Source Plugin für PC & Mac.

Nun kann man seine Pure Data Patches auch in VCV Rack nutzen…

VCV Rack verfügt mittlerweile über eine nahezu unendliche Auswahl an Modulen – die meisten davon sind sogar kostenlos. Was aber, wenn ich meine eigenen Module erstellen will? Selbst für findige C++-Programmierer stellt das Rack eine komfortable Umgebung dar, seine eigenen Ideen relativ einfach umzusetzen. Und für alle, die in C++ nicht unbedingt zuhause sind, gibt es das Prototype-Modul.

Prototype kann man mit Skripten der Sprachen JavaScript, Lua oder SuperCollider füttern, neuerdings aber auch mit Vult’s eigener DSP Sprache und Pure Data Patches.

Seit Version 1.3.0 kann man also auch die visuelle Umgebung Pure Data nutzen, um Ideen für Module umzusetzen.

Man muss Prototype vorher mitteilen, wo auf dem Rechner sich die Pure Data Installation befindet und schon kann man seine Patches laden und ausführen. Prototype verfügt über 6 Ein- und Ausgänge…

Der einzige Wermutstropfen: Man kann nur eine Instanz von Prototype inklusive PD-Patch gleichzeitig nutzen. Diese Einschränkung hat aber nichts mit VCV Rack oder Prototype zu tun, sondern mit Pure Data selbst.

Ok, wer also nicht gleich in die C++ Welt einsteigen will, der kann sich dank Prototype erstmal mit JS, Lua, SuperCollider, Vult oder Pure Data ein wenig die Hände schmutzig machen.

https://community.vcvrack.com/t/pure-data-added-to-vcv-prototype/10583

Präsentiert von WordPress & Theme erstellt von Anders Norén