Sparx Systems Enterprise Architect + C#: Get all EA Elements of a package

Problem

All Elements of a package should be retrieved.

Approach – Ansatz

The method getElementsOfElement, which has been defined in the previous article is used to add all subelements of a package.

Lösung – Solution

public List<EA.Element> getElementsOfPackage(EA.Package package, string packageName)
{
    List<EA.Element> elementsOfPackage = new List<EA.Element>();
    // Only list the elements if the actual package is connected to a DOORS module
    if (package.Name == packageName)
    {
        foreach (EA.Element element in package.Elements)
        {
            elementsOfPackage.Add(element);
            elementsOfPackage.AddRange(getElementsOfElement(element));
        }
    }

    foreach (EA.Package subPackage in package.Packages)
    {
        elementsOfPackage.AddRange(getElementsOfPackage(subPackage, packageName));
    }
    return elementsOfPackage;
}

private List<EA.Element> getElementsOfElement(EA.Element actualElement)
{
    List<EA.Element> elementsOfElement = new List<EA.Element>();
    EA.Collection elements;
    elements = actualElement.Elements;

    foreach (EA.Element element in elements)
    {
        elementsOfElement.Add(element);
        elementsOfElement.AddRange(getElementsOfElement(element));
    }
    return elementsOfElement;
}
Veröffentlicht unter C#, Modellierung, Programmierung, Sparx Systems Enterprise Architect | Hinterlasse einen Kommentar

Sparx Systems Enterprise Architect + C#: Recursively get all elements and sub elements of an EA Element

Problem

All elements of an subelement should be catched

Approach – Solution

Recursively iterate through all subelements and AddRange (already a list) to the List.
The interuption of the recursion is, when an empty List is used as parameter for AddRange, because the loop will not be called where the AddRange-Method is in on next iteration.

Solution – Approach

private List<EA.Element> getElementsOfElement(EA.Element actualElement)
{
    List<EA.Element> elementsOfElement = new List<EA.Element>();
    EA.Collection elements;
    elements = actualElement.Elements;

    foreach (EA.Element element in elements)
    {
        elementsOfElement.Add(element);
        elementsOfElement.AddRange(getElementsOfElement(element));
    }
    return elementsOfElement;
}
Veröffentlicht unter C#, Modellierung, Programmierung, Sparx Systems Enterprise Architect | Hinterlasse einen Kommentar

Sparx Systems Enterprise Architect + C#: Get Top Package from selected Package

Problem

The top package of an Enterprise Architect Project EAP should be retrieved

Approach

Navigate to the Parent ID until the package return null.

Solution – Lösung

public EA.Package getTopPackage(EA.Package selectedPackage)
{
    EA.Package package = null;
    try
    {
        // If it has a parent it won't throw an error
        package = repository.GetPackageByID(selectedPackage.ParentID);
    }
    catch (System.Runtime.InteropServices.COMException)
    {
        // The selectedPackage is the top package
        package = selectedPackage;
    }
    // If this is not the top package, recall this function
    if (package != selectedPackage)
    {
        package = getTopPackage(package);
    }
    return package;
}
Veröffentlicht unter C#, Modellierung, Programmierung, Sparx Systems Enterprise Architect | Hinterlasse einen Kommentar

IBM Doors DXL: Recursively load formal module by name without knowing the path / Modul nach Name Laden (Folder bekannt)

Problem

A module should be loaded by name independend from the position in the Doors Project Structure.
Ein Modul soll nur anhand seines Namens geladen werden, ohne die genaue Position im Doors Projekt zu wissen.

Premise – Prerequirement – Voraussetzung

Start Folder is known. The doors module name is unique in the project, otherwise only the first found module with that name will be loaded.
Der Startordner ist bekannt. Der Doors Modulname ist im Projekt eindeutig. Ist dies nicht der Fall, wird nur das erste Modul mit diesem Namen geladen.

Lösung -Solution

Module getModule(Folder selectedFolder, string moduleNameToCompare)
{
 Item itm;
 Module moduleToReturn = null

 for itm in selectedFolder do 
 { 
  if(type(itm) "" == "Folder") 
  { 
   moduleToReturn = getModule(folder(itm), moduleNameToCompare);	
   if(moduleToReturn != null)
   {
    break
   } 
  } 
  else if(type(itm) "" == "Formal")
  {
   Module mod;		
   mod = edit(fullName(itm), false);
   if(!null mod)
   {
     if(name(mod) "" == moduleNameToCompare) 
     {  
      moduleToReturn = mod;
      objectFound = true
      break;
     }
   }
  }
  else if(type(itm) "" == "Link")
  {
  }
 }

 return moduleToReturn;
}
Veröffentlicht unter DXL, IBM DOORS, Programmierung | Hinterlasse einen Kommentar

IBM Doors DXL: Error Handling / Exceptions: try/catch / On Error Goto … missing? Fehlerbehandlung in Doors / DXL Fehler unterdrücken

Problem

DXL windows are opening every time a DXL error occurs and the users are sick of it :-).
Es werden jedesmal DXL-Fenster angezeigt, wenn eine DXL Funktion nicht richtig ausgeführt wird.

Ansatz

Über die Funktionen
void noError()
string lastError()

lassen sich Fehlerbehandlungsroutinen erzeugen, die Ähnlich den JAVA-Exceptions und .NET-Errors sind.

Lösung-Solution

// Try-Block start
noError(); // Alle Fehler werden deaktiviert und die Ausgabe im DXL Fenster unterdrückt

// hier den Code hin, der Fehler werfen kann

string catchMsg=lastError(); // Beinhaltet den letzten Fehler zur Ausgabe

// catchMsg ist null wenn kein Fehler existierte
if(!null catchMsg)
{
   infoBox catchMsg;
   halt;
}
Veröffentlicht unter DXL, IBM DOORS | Hinterlasse einen Kommentar

VST Instrument: Realistische Schlagzeugsounds / Toontrack ezDrummer 2 Bundle

Vorwort

Das VST Instrument „ezDrummer 2“ von Toontrack erschien im Mai 2014 als Nachfolger von ezDrummer. Der Hersteller Toontrack, welcher ursprünglich von dem Songwriter Mattias Eklund verkörpert wurde, startete mit der Entwicklung vor 15 Jahren als Experiment mit dem Ziel ein bedienbares Schlagzeuginstrument mit realistischen Sounds für Liedermacher zu erschaffen. Das erste Produkt war die Schlagzeugbibliothek „Drumkit from hell“ und erlangte in kurzer Zeit große Bekanntheit im produzierendem Musikgewerbe. Toontrack besteht mittlerweile aus weltweit 30 Mitarbeitern und bietet über 32 Erweiterungsbibliotheken (EZX) für ezDrummer 1 und 2. Die Erweiterungen decken die Bedürfnisse sämtlicher Musikgenres ab, wobei die Stärken von Toontracks Sample-Libraries eindeutig bei akustischen Schlaginstrumenten liegen.

Bezugsquelle: Boxed oder lieber als Downloadversion?

Da ich meine VST-Instrumente gerne im Schrank stehen habe und mir durch die Verpackung gerne den Besitz einer erstandenen Originalversion ins Gedächtnis rufe, kaufe ich meine Instrumentenbibliotheken i.d.R. nur mit Originalverpackung als boxed Version. Obwohl wir hier in Fulda einen guten Musikfachmarkt haben, sind diese Bibliotheken allerdings auf eine sehr spezielle Zielgruppe zugeschnitten. Fündig wird man bei notorischen Versandhändlern wie Thomann oder Music Store, die die boxed Version zum Versand anbieten.

Nun habe ich das ezDrummer 2 Bundle (boxed) bei Thomann für 199 EUR mit zwei kostenlosen Erweiterungen erstanden, die man sich nach der Installation frei aussuchen darf. Die Bestellung bei Thomann dauerte ca. 4-5 Tage, da man auf solche Ideen ja meistens an Wochenenden kommt, an denen man mal Zeit hat seinen Hobbys nachzugehen. Wer also sofort loslegen will, kann sich zwar für die Downloadversion entscheiden, die FAQ von Toontrack verneint allerdings die Frage der Nachbestellung einer boxed Version, wenn die Downloadversion bereits erstanden wurde.

Und wenn dann der Postmann mal kommt sieht die Verpackungsvariante so aus:

Meine Verpackung war lieder nicht ganz einwandfrei, wie man auf der Foto erkennen kann. An den Ecken befanden sich direkt nach dem Auspacken bereits Eselsohren, was vermutlich dem mangelndem Wertempfinden der Verpackungsfachkraft bei Thomann zuzuschreiben ist. Mit dem Leitspruch „Meet your new Drummer“ ist die Box auch etwas klein geraden, passt von der Höhe her aber in einen DVD Schrank, wenn dieser 1 cm Luft nach oben bietet. Die Verpackung ist nämlich 1 cm höher als eine normale DVD.

Wer jetzt einen optischen Datenträger im Verpackungsinhalt erwartet wird leider enttäuscht. Eine kleine Überraschung, die man beim Lesen der ersten Zeile auf der Rückseite erfährt ist nämlich, dass sich in der Box lediglich ein Zettel mit Codes für ezDrummer 2 und die erstandenen zwei Expansion Libraries befindet. Das ist schon enttäuschend, da selbst der kostenlose DrumMic’A von Sennheiser eine gepresste DVD bei der Bestellversion für Lau beiliegen hat.

Auf der Rückseite wird die Auslegung für kreative Songwriter-Zwecke mit intuitiven, bahnbrechenden Soundgestaltungsmöglichkeiten angepriesen. Außerdem könnte man komplette Drumtracks erstellen ohne die Notwendigkeit das Tool zu verlassen. Damit ist vermutlich ein Mini-Sequencer für MIDI-Noten gemeint, wie der Screenshot suggeriert, womit das Programm im Stand-Alone-Modus betrieben werden kann. Hierfür gibt es die Möglichkeit aus vordefinierten MIDI-Grooves, welche man per Drag&Drop auf eine Spur zieht, Komplettsongs zu komponieren.

Auf der linken Innenseite, welche sich den enthaltenen Drum-Sounds widmet,  ist eine Abbildung des Tonstudios in London, wo die Drumsounds der Standardbibliotheken „Modern“ und „Vintage“ auf 7 verschiedenen Schlagzeugsets aufgenommen worden.

Schlagzeuge:

  • DW Collector’s Maple (Modern)
  • Yamaha 9000 (Modern)
  • Gretsch USA Custom (Modern)
  • Ludwig 1960s (Vintage)
  • Ludwig Vistalite (Vintage)
  • Sonor
  • Tama
  • Brady

Verwendete Studiokonsolen und Mischpulte:

  • Neve 88R (Modern)
  • EMI TG12345 (Modern)
  • REDD.51 (Vintage)

Zusätzlich sollen

  • 9 Snare Drums
  • 7 Bass Drums
  • 3 verschiedene Hi-Hat Sets
  • 10 verschiedene Crash-Becken
  • 3 verschiedene Ride-Becken
  • 10 weitere Schlaginstrumente

enthalten sein.

Die rechte Innenseite soll die Funktionen, die das Songwriting/Liedermachen unterstützen, besonders hervorheben.

Grooves für den eigenen Song finden:

Über den MIDI-Browser lassen sich von prominenten, professionellen Schlagzeugern voreingespielte Midi-Klötzchen zu Songs zusammenstückeln. Ich persönlich nutze diese Funktion recht wenig, da ich immer eine konkrete Vorstellung habe wie sich mein Schlagzeug an einer Stelle vom Song anhören soll. Außerdem gibt es eine „Tab2Find“ Funktion, bei der man durch Hämmern auf eine Taste anhand eines Algorithmus Vorschläge für ein passendes Groove-Klötzchen bekommt.

Vermenschlichung der Schlagzeugspur:

Ein ezSchlagzeuger hat bei den Midi Grooves eine führende Hand, welche bei ezDrummer als „Power Hand“ bezeichnet wird. Wenn man vordefinierte Grooves aus dem Midi-Sortiment auswählt, lässt sich die Power Hand auf ein anderes Instrument umstellen, was z.B. bei einem treibendem Hi-Hat, zu einem treibendem Ride-Beat umgestellt werden kann. Diese Funktion scheint daher auch nur bei vordefinierten MIDI-Grooves sinnvoll.

Es gibt einen Amount-Parameter, welcher die Wahrscheinlichkeit berechnet, mit der ein echter Schlagzeuger Noten hinzufügen oder weglassen würde.

Midi-Grooves arrangieren für einen kompletten Song:

Die vordefinierten Midi Grooves lassen sich per Drag&Drop auf eine Spur (also einen Mini Sequencer) ziehen und arrangieren. Wenn man ein e-Schlagzeug hat, können eigene Songs aufgenommen, geschnitten und quantisiert werden.  Der Komplettmix lässt sich wieder für eine DAW entweder als MIDI exportieren oder per Drag&Drop direkt auf eine Spur der DAW gezogen werden. Alternativ lässt sich die Schlagzeugspur direkt als Audio exportieren.

Gestaltung der Soundausgabe:

ezDrummer 2 hat eine eigene Mixeroberfläche mit diversen Effekten, die für jedes Set vordefiniert werden. So hat z.B. das Kit „Disco Pop“ einen Equalizer für Kick, Snare und Toms, welcher sich über die Drehknöpfe auf der Mixeroberfläche bedienen lässt. Das Kit „Basic“ (Modern) hat überhaupt keinen Equalizer, dafür aber Reverb, Compressor, Pitch für Becken und Mikrofoneinstellungen.

Über die Auswahl der Schlaginstrumente lassen sich bis zu einem bestimmten Maß auch gecustomizte Schlagzeugkits erstellen.

Auf diesem Bild sieht man nochmal den Verpackungsinhalt – eine CD/DVD ist nicht vorhanden. Lediglich ein eingeschweister Zettel, auf dessen Rückseite sich 3 Codes für das Bundle befindet sind vorhanden.

Systemanforderungen

Laut Verpackungsrückseite:

  • Windows 7 oder neuer
  • … entweder Pentium 4 oder Athlon Prozessor mit 2 GB RAM
  • … oder Mac OS 10.6 oder neuer, Intel-basierter Mac mit 2 GB RAM
  • Mindestens 4 GB freier Festplattenplatz
  • Professionelles, ASIO-fähiges Audio Interface empfohlen
  • eine DAW wie Cubase, Reaper, Pro Tools, Logic, Garageband usw… die VST-, AAX-, Audio Unit- oder RTAS- Schnittstellen unterstützt ist empfohlen, aber der Stand-Alone Betrieb ohne DAW ist durch den integrierten Mini-Sequencer möglich
  • Es wird darauf hingewiesen, das man außerdem die Systemanforderungen jeder EZX Erweiterung beachten sollte.

Ich empfehle für VST Instrumente generell eine SSD Platte, das steht aber nicht auf der Verpackungsrückseite :-).

Außerdem: Ein Internetzugang ist notwendig, da die komplette Software bei Toontrack vorher runtergeladen werden muss.

Test: ezDrummer 2 mit EZX Metal Machine

Genug gefaselt, ich habe mir als erste Extension die Erweiterung „Metal Machine“ ausgesucht und dabei folgendes Ergebnis erzielt:

Fazit:

Ich persönlich finde, das ezDrummer 2 eine sehr gelungene Schlagzeugbibliothek ist. Die Vielfalt, Dynamik, die vorgefertigten MIDI-Grooves und der Sound, sowie die zahlreichen Making-Of-Videos im Internet haben mein Denken in der Richtung sogar manipuliert, dass es die Beste Schlagzeugbibliothek ist. Zu Zeiten als ich noch kein Geld hatte mir solche Plug-Ins zu leisten, habe ich immer von dem Drumkit from Hell von Toontrack geträumt. Heute gibt es aber viel coolere Toontrack-Erweiterungen, die viel besser klingen.

Für Leute, die kein Geld ausgeben können oder wollen, bieten sich für realistische Schlagzeugsounds zwei weitere tolle kostenlose VST Instrumente an:

http://www.powerdrumkit.de/

Das Powerdrumkit, welches mal ursprünglich Geld kostete, ist das Schlagzeug, welches ich bei Exhaust Fire verwendet habe: http://www.capri-soft.de/blog/?p=1825

http://de-de.sennheiser.com/drummica (Kontakt 5 Player benötigt)

Mit DrumMic’a hab ich selber noch nichts komponiert, obwohl es sehr vielversprechend aussieht. Außerdem erhält man auf Wunsch eine CD von Sennheiser, was bei Toontrack trotz des Preises von ein paar hundert EUR nicht der Fall ist :-).

Veröffentlicht unter Aufnahmetechnik, Musik, Musikproduktion, Song Ideen, VST-Instrumente | Hinterlasse einen Kommentar

VST-Instrumente: East West Composercloud X / supergünstig ohne mehrmonatiges Abo ALLE Instrumente bei Bedarf nutzen

Vorwort

Der Name East West ist jedem, der bereits nach realistisch klingenden Orchester VST Libraries gesucht hat, ein Begriff. Da sieht man ein YouTube-Video, hört einige Klangbeispiele und schon würde man am Liebsten alle VST-Instrumente kaufen… wenn da nicht der Preis wäre. Die wenigsten Musiker können sich sofort 2-3 Soundbibliothekten im Wert von 1000 EUR anschaffen und würden es auch gar nicht tun, wenn man nicht gerade für eine professionelle Filmpostproduktion und Nachvertonung bezahlt wird.

Das Produkt…

Wie wäre es aber, wenn man ALLE Produkte von East West für einen kleinen Obolus von 35 EUR für einen Monat verfügbar hätte um eventuell auch zu testen, welche Instrumente gut klingen und welche nicht? Bisher war das leider nicht möglich, doch nun hat East West auf diese Anforderungen reagiert und die „Composercloud X“ geschaffen. Hierbei handelt es sich um einen Downloadmanager „East West Installation Center“, welcher mit Lizenzen, die über ein monatliches Nutzungsentgelt abgerechnet werden, jederzeit zum Monatsende unscharf gemacht werden kann.

Der Downloadmanager, welcher lediglich die Sample Libraries für das sogenannte „Play“-VST-Instrument runterlädt (ähnlich dem KONTAKT Player), sieht folgendermaßen aus:

Der eigentlich East West Player lädt am Anfang das Theme Stratocaster 56 und ist Inhaltleer:

Die Masken ändern sich, sobald man links oben über „Main Menu“ -> „Open“ eine heruntergeladene Bibliothek auswählt. Die Bibliotheken sollten sich auf einer schnellen Festplatte (am besten SSD Platte) befinden, da sie sich (z.B. auch bei neueren Notebooks) oft wegen der 5400 RPM Platte verschlucken.

Das Abo

Das Abo kostet monatlich 35 EUR und lässt sich jederzeit zum Monatsende kündigen. Hierzu muss man lediglich die Auto-Renew Funktion auf der Website ausschalten.

Somit ist es kein Problem längere Zeit die Libraries ungenutzt zu lassen, will man hingegen nach Ablauf einer Lizenz eine Komposition wieder laden erhält man folgende Meldung:

Die Librarys lassen sich dann nach Ablauf auch wieder reaktivieren, indem man Auto-Renew wieder auf „On“ stellt:

Wenn der Downloadmanager im Hintergrund auf ist, zeigt er meistens sofort „Updating Licences an“.

Macht man den Downloadmanager zu und wieder auf erhält man den Button „Activate“, der eine Reaktivierung der Lizenzen ermöglicht:

Sollte ein weißes Fenster beim Anklicken des Activate-Buttons erscheinen, welches sich nicht mehr schließt, lohnt sich eine Neuinstallation der Play-VST-Software – danach war es bei mir beim ersten Mal weg. Beim zweiten Mal (also nachdem Licence renewal) habe ich unter Windows 10 nach ausprobieren sämtlicher Kompatibilitäseinstellungen in dem „Hat das Programm richtig funktionert?“-Assistenten mit der Wahl von undefinierten Sachen Erfolg – das leer Fenster ist in Wirklichkeit die iLok-Aktivierung, die auf einmal bei mir angezeigt wurde.

Fazit

Die Composercloud bietet die volle East West Power und lässt sich bei Bedarf auch kündigen (Auto-Renew = Off) wenn sie nicht jeden Monat benötigt wird. Die Lizenzaktivierung im Installation Center hat z.Zt. noch eine Kinderkrankheit, in der das iLok-Manager-Fenster (das ist so ein Licence-Anbieter den East West verwendet, der auch Dongels etc anbietet) ohne Inhalt erscheint. East West verwaltet da irgendeine eigene iLok-Lizenz für einen selbst (wie sie im Account dann beschreiben), von der man aber das Kennwort nicht kennt.

Veröffentlicht unter Musik, Musikproduktion, Song Ideen, VST-Instrumente | Hinterlasse einen Kommentar

GIT: Die 3 wichtigsten Kommandofolgen für die Zusammenarbeit / The three most important command line sequences

Die 3 häufigsten Kommandofolgen, die man beim Zusammenarbeiten braucht

Updaten (Aktuellen Stand vom Server holen):

1.) git fetch
2.) git merge

Committen / (Eigene Änderungen auf den Server schieben):

1.) git add .
2.) git commit -m „meine Nachricht“
3.) git push origin

Bei Konflikten / (Wenn Update/Commit aufgrund zu vieler Änderungen nicht mehr funktioniert):

1.) git fetch
2.) git add .
3.) git commit -m „meine Nachricht“
4.) git merge
5.) git add .
6.) git commit -m „meine Nachricht“
7.) git push origin

Weitere hilfreiche Kommandos

Vorgängerversion einer Datei holen

git checkout HEAD^^ -- <filename>
git checkout HEAD^^ -- src\de\caprisoft\managedbeans\create\CreateWorkerBean.java

Unter Windows ist ein doppeltes ^^ notwendig

Veröffentlicht unter Programmierung | Hinterlasse einen Kommentar

IBM Doors DXL: How to get the next major and minor baseline number in a copied module, that is not containing baselines

Problem

Copied modules do not have any baselines that can be read with the standard method getMostRecentBaseline(module m), although the last baseline number is copied. The method returns NULL when the module is copied because the baseline list in the module is empty, although the next major wouldn’t be 1.0 and the next minor wouldn’t be 0.1.

Example:

Ansatz – Approach

In this example a radioBox is populated with the next Major and next Minor Baseline number using the suffix(„“) method that returns a usable baseline instance for the use with the major- and minor function.

Solution – Lösung

pragma runLim, 0;

Module m=current;

DB mainDialog;
DBE radioBoxDBE;

string comboBoxAuswahl[2];
Baseline b = getMostRecentBaseline(m);

// Trick: Wenn b null ist probiere es nochmal 
// mit suffix("")
if(null b) b = suffix("");
		
// war keine Baseline vorhanden liefert major b und 
// minor b jew. 0 zurück
comboBoxAuswahl[0]= (major b) "." ((minor b)+1) "";
comboBoxAuswahl[1]= ((major b)+1) ".0";	

mainDialog = create("Baseline Change History");	
radioBoxDBE=radioBox (mainDialog, "Version", comboBoxAuswahl, -1);

realize(mainDialog);		
show(mainDialog);
Veröffentlicht unter DXL, IBM DOORS | Hinterlasse einen Kommentar

Test von East West Symphonic Choirs : Carl Orff – O fortuna – Carmina Burana

Aus dem Hause EastWest kommt ein realistisch klingendes Chor-Instrument inklusive Texteditor mit dem Namen „EastWest Symphonic Choir“, welches sich in alle gängigen DAWs als Plugin laden lässt. Ich wurde auf die Bibliothek aufmerksam aufgrund diverser YouTube Videos. Im klassischen Stil lassen sich hiermit die eignen Kompositionen mit einem Chor preiswert aufwerten, welcher seine Facetten mit verschiedenen Setups (Knabenchor, Männerchor, Frauenchor) präsentiert.

Eine relativ gelungene Umsetzung von Carl Orffs „O Fortuna“ machte mir persönlich Lust das Instrument mal genauer unter die Lupe zu nehmen:

Hier ist die original Version:

Hier die nachgemachte Version mit East West Symphonic Choirs Erweiterung „Voices of the Apokalypse“

Meine Idee war es, den Chor zu meiner persönlichen Selbstbeweihräucherung singen zu lassen. Der Text ist der folgende:

Björn Karpenstein ist ein kluger Mann
Björn Karpenstein ist ein kluger Mann
Björn Karpenstein ist klug
Ja er ist schlau

Meine etwas halbherzige Umsetzung hört sich folgendermaßen an:

An dieser Stelle habe ich den Chor in ein episches Metalstück mit vordefinierten lateinischen Phrasen eingebaut:

Wenn man den Chor in Deutsch verständlicher singen lassen möchte, hat man die Möglichkeit die härte der stimmlosen (P T K …) und stimmbehafteten (M N W…) Konsonanten zu erhärten, sowie für eine deutsche Aussprache die Vowels von „English“ auf „Latin“ zu schalten.

Ein sehr gutes Tutorial bietet hierbei Michael:
Tutorial Video 1:

Tutorial Video 2:

Tutorial Video 3:

Tutorial Video 4:

Veröffentlicht unter Musik, VST-Instrumente | Hinterlasse einen Kommentar