Plugins en C++

6. Juce gebruiken op mijn Windows laptop.

Bovenstaande (punt 6.) ging heel soepel, maar uiteindelijk liep ik ook daar weer vast op dingen die het niet (of niet meer) doen. Op internet vond ik geen oplossingen.

VCV-rack heb ik inmiddels wel op mijn Linux computer geïnstalleerd en aan de praat gekregen, tezamen met de SDK-omgeving voor het schijven van eigen modules. Maar voordat ik dit als een bruikbare optie beschouw wil ik zien of ik er ook een simpele basale module mee kan maken. Daar ga ik vandaag mee verder.
 
Laatst gewijzigd:
Bovenstaande (punt 6.) ging heel soepel, maar uiteindelijk liep ik ook daar weer vast op dingen die het niet (of niet meer) doen. Op internet vond ik geen oplossingen.

VCV-rack heb ik inmiddels wel op mijn Linux computer geïnstalleerd en aan de praat gekregen, tezamen met de SDK-omgeving voor het schijven van eigen modules. Maar voordat ik dit als een bruikbare optie beschouw wil ik zien of ik er ook een simpele basale module mee kan maken. Daar ga ik vandaag mee verder.
Heb je een dcCoupled geluidskaart? Dan zou je iets complimentairs kunnen maken wat je mist in je hardware.
Wel floating ring gebruiken dan..
Screenshot 2026-07-26 at 09.55.06.png
 
Ik houd het liever simpel, en ik knoop niet van alles aan elkaar. Er valt nog genoeg te ontdekken aan mijn hardware modular zoals die nu is. Maar ik kom daarvoor zelfs nu al tijd tekort...
 
Dit lijstje opties heb ik nu :

1. Schrijven in C of C++ voor VCV Rack
2. Schrijven in C of C++ from scratch voor LV2.
3. Schrijven in C of C++ from scratch voor CLAP.
4. Schrijven van externals in C of C++ voor PureData.
5. Schrijven van opcodes in C of C++ voor Csound.
6. Juce gebruiken op mijn Windows laptop.

Nog wat meer geëxperimenteerd, en in optie 1. heb ik nu wel vertrouwen. Opties 2. en 3. lijken me daarmee vergeleken monnikenwerk. Dus aan 2. en 3. begin ik voorlopig maar niet. Optie 6. kreeg ik niet aan de praat. Met 1. ga ik dus zeker verder, maar voor de volledigheid wil ook nog even 4. en 5. bekijken.
 
Heb wat info over 4. Schrijven van externals in C of C++ voor PureData, en 5. Schrijven van opcodes in C of C++ voor Csound, verzameld. Maar 1. Schrijven in C of C++ voor VCV Rack, lijkt me verreweg het eenvoudigste. Heb het boek daarover zojuist besteld. En in de tussentijd ga ik nog wat met C++ oefenen.
 
Laatst gewijzigd:
Ik ga vandaag eens zien of ik een simplistische discussie tussen wat stamgasten in een kroeg kan simuleren. Hier is een beginnetje:

Code:
#include <iostream>
#include <chrono>


class Stamgasten{
public:
std::string n;   // name of Stamgast
std::string g;   // gender is male, female, or unknown
std::string u;   // utterance

void talk();
};

void Stamgasten::talk(){std::cout << n << " zei: " << u;}

int main() {
    
    Stamgasten s;
    s.n = "Jan";
    s.u = "Hallo Luitjes";
    s.talk(); 
      
return 0;
}

Jan groet jullie:

Code:
Jan zei: Hallo Luitjes

------------------
(program exited with code: 0)
Press return to continue
 
Ik zou kijken naar een simulatie van een discussie hier op het forum. Soms is dat nog simplistischer.

;)
 
Ik zou kijken naar een simulatie van een discussie hier op het forum. Soms is dat nog simplistischer.

;)

Dat heb ik overwogen, maar dan krijg je al snel dat men wil weten wie wie voorstelt. Een kroegendiscussie in een niet nader genoemde café is wat veiliger... :biertje:
 
De stamgasten hebben nu ook ieder hun eigen thread:

Code:
#include <iostream>
#include <thread>
#include <string>
#include <chrono>

class Stamgasten {
public:
    int num;           //number
    std::string nam;   //name
    std::string gen;   //gender
    std::string utt;   //utterance

    // Constructor
    Stamgasten(int num, std::string nam, std::string gen, std::string utt) {
        this->num = num;
        this->nam = nam;
        this->gen = gen;
        this->utt = utt;
    }       

    // Method
    void talk() {
        std::cout << nam << " zei: " << utt << std::endl;   
    }
};

// Function for threads
void gastTalk(Stamgasten gast) {
    gast.talk();
}

int main() {
  
    Stamgasten s1(1, "Jan", "male", "Hallo Luitjes.");
    Stamgasten s2(2, "Marie", "female", "Goedenavond.");
    Stamgasten s3(3, "Piet", "male", "Oioi - en we nemen er nog een!");
    Stamgasten s4(4, "Kim", "unknown", "Dag mensen.");
    Stamgasten s5(5, "Klaas", "male", "What's up?");
    
    std::thread t1(gastTalk, s1);
    std::this_thread::sleep_for(std::chrono::milliseconds(1));
    std::thread t2(gastTalk, s2);
    std::this_thread::sleep_for(std::chrono::milliseconds(1));
    std::thread t3(gastTalk, s3);
    std::this_thread::sleep_for(std::chrono::milliseconds(1));
    std::thread t4(gastTalk, s4);
    std::this_thread::sleep_for(std::chrono::milliseconds(1));
    std::thread t5(gastTalk, s5);
        
    t1.join();
    t2.join();
    t3.join();
    t4.join();
    t5.join();
    
    return 0;
}

Met dit resultaat.

Code:
Jan zei: Hallo Luitjes.
Marie zei: Goedenavond.
Piet zei: Oioi - en we nemen er nog een!
Kim zei: Dag mensen.
Klaas zei: What's up?


------------------
(program exited with code: 0)
Press return to continue

Maar nu moeten ze nog met elkaar gaan ouwehoeren. ;-)
 
Om het eenvoudig te houden gaan we ervan uit dat Piet steeds hetzelfde zegt, maar waarbij die uitspraak wel gaandeweg verandert in onverstaanbaar gebrabbel. De overige stamgasten beschikken ieder over tien karakteristieke uitspraken. Die ga ik nu eerst eens bedenken.
 
Hier de uitspraken per stamgast:

1. Jan: Hallo luitjes.
2. Jan: Wat een geleuter!
3. Jan: Geen gezeik, iedereen rijk.
4. Jan: Wat een lol!
5. Jan: Brand is erger!
6. Jan: Kop op!
7. Jan: En wat dan nog...
8. Jan: Iedereen OK?
9. Jan: Ik zeg maar zo, ik zeg maar niets.
10. Jan: Zo luitjes, ik ben pleite!

1. Marie: Goedenavond.
2. Marie: Hoe gaat het hier?
3. Marie: Oh – de heren weten het weer beter...
4. Marie: Nou nou!
5. Marie: Kom op – de polonaise!
6. Marie: Laten we het gezellig houden.
7. Marie: Het kan altijd erger - wees blij met wat je hebt.
8. Marie: Pluk de dag.
9. Marie: Van het concert des levens krijgt niemand een program.
10. Marie: Hoog tijd - dag allemaal!

1. Kim: Dag mensen.
2. Kim: Peace!
3. Kim: Ieder zijn ding.
4. Kim: Respect!
5. Kim: Wat een puinhoop weer in de wereld!
6. Kim: Wie bedoel je daarmee?
7. Kim: Als we nu eens wat liever voor elkaar zouden zijn...
8. Kim: Een rondje van mij.
9. Kim: Ik hou van jullie.
10. Kim: Tot ziens mensen.

1. Klaas: What's up?
2. Klaas: Get a life!
3. Klaas: Het zijn oplichters, stuk voor stuk!
4. Klaas: Geloof je het zelf?
5. Klaas: Alles draait om het geld.
6. Klaas: Ach - wat maakt 't ook uit.
7. Klaas: Het zal mijn tijd wel duren.
8. Klaas: Een tevreden roker is geen onruststoker.
9. Klaas: De zweep erover, laat ze maar werken voor hun geld.
10. Klaas: Later.

(Met uitspraak 1. bij binnenkomst, en uitspraak 10 bij vertrek.)


Piet: Oioi - en we nemen er nog een!
 
Laatst gewijzigd:
Inderdaad. Maar mijn bedoeling hier is niet om snel klaar te zijn, maar om ervaring op te doen in het zelf bedenken en schrijven van een progje in C++. Daarom kijk ik ook niet af hoe iets dergelijks door anderen al eerder gedaan is. Het is hobby, geen aangenomen werk. ;-)
 
Gaan we dit topic nu ook weer verzieken met AI? Ik hoop het toch niet! :(
 
Je kan ook gewoon vibe coden in Claude dan kan je taak voor taak zien waar hij mee terugkomt
Dit leest in mijn oren als "Dat ding wat jij graag wilt leren omdat je het leuk vind hoef je helemaal niet te leren joh, dat kun je gewoon door een AI laten doen" en mist nogal wat ProgHead wil doen.
 
Normaal brengt men bij het bezoek aan een café daar dan ook geruime tijd door, maar om het leuk te houden korten we de looptijd van ons progje in tot pakweg 10 minuten. Binnen die 10 minuten moeten alle stamgasten gekomen en weer vertrokken zijn, behalve Piet die er al zat en er na afloop nog steeds zit.
 
Back
Top