C++

Hi niet dat ik weet, ik werk zelf met Max Msp maar puredata lijkt vrijwel hetzelde.

Dit is een basic Pd object

C:
#include "m_pd.h"

static t_class *helloworld_class;

typedef struct _helloworld {
  t_object  x_obj;
} t_helloworld;

void helloworld_bang(t_helloworld *x)
{
  post("Hello world !!");
}

void *helloworld_new(void)
{
  t_helloworld *x = (t_helloworld *)pd_new(helloworld_class);
  return (void *)x;
}

void helloworld_setup(void) {

  helloworld_class = class_new(gensym("helloworld"),

        (t_newmethod)helloworld_new,

        0, sizeof(t_helloworld),

        CLASS_DEFAULT, 0);

  class_addbang(helloworld_class, helloworld_bang);

}


Als je dit kijkt is het een goed algemene inleiding maar is voor Max.


Hier videos hoe je het voor pd doet

Als je na die tutorials weet hoe je de helloworld.c kan compilen en laden en weet hoe je de in en outlets kan benutten kun simpele dingen doen.

Zoals een external die 2 nummers in neemt en er dan een rekensommetje mee doet en het resultaat naar de outlet stuurt.

En natuurlijk tegelijkertijd C leren en dat gaat juist het beste als je gewoon in een projectje duikt.

Ik vind het iig erg leuk. Maar C is wel pittig ivg tot Bash/Awk, Python, Lua.
Ik heb voor C gekozen omdat het me ook leuk lijkt om lowlevel drivers te schrijven en via i2s of SPI dac enzo aan te sturen.
Ooit wat DDS code te maken etc.

Hier een simpele tutorial voor C: C Tutorial

hoop dat je er wat aan hebt.
 
Ik neem aan dat je Software Synthesis al hebt gelezen? (kom die site nu tegen. en best hoop leuke snippets dsp code met goede uitleg!)

Zelf schrijf ik weinig DSP in C of C++, maar laat ik het zoveel mogelijk genereren vanaf een pure data patch. Met wat configuratie en custom C/C++ wrappers (vooral veel glue code) kun je dan allerlei plugins maken.
Heb wel eens zitten kijken of in de toekomst DaisySP gebruikt kan worden (C++ only), maar C zou eigenlijk wel mooier zijn. Of toch maar Rust? :D
 
Dank allemaal - ik stop dit nu maar even in een favoriet want hier moet ik later nog eens ruim de tijd voor nemen.
 
Hey cool, ga ik lezen. Ken ik niet.

Had wel dit gevonden.


Ik ben ook een C Noob, gaat ok nu al hoewel het vrij pittige kost is.
Van C++ word ik eerlijk gezegt een beetje bang probeer het zoveel mogelijk bij C te houden waar ik ook bang van ben.
Een maat van mij die spreek op linux con enzo die heb ik leren kennen toen ik op mijn werk een c app had geport naar een nieuwer OS.
Hij is echt expert level C/C++ en ook Rust en hij zegt dat hij steeds meer in Rust doet.
Ik denk zelf dat C/C++ beter is omdat je meer dingen vind op het web betreft audio, synthese and hardware.

Zie dat je ook ~gen naar c++ kan omzetten.
 
@ProgHead als je een beetje feeling wil krijgen kan je kijken naar VCV rack op github GitHub - VCVRack/Rack: The virtual Eurorack studio
Dat is C++ maar met alle "scaffolding" al geregeld dus je kan snel zelf een module bouwen.

Ik had eerst ook VCV-Rack maar ben later overgestapt op Cardinal. Verder heb ik nog een paar andere virtuele modulars, en ook al het begin van een hardware modular. Het zelf bouwen van analoge modules ben ik later nog van plan. Hoe bedoel je precies dat ik met VCV kan leren zelf modules te bouwen?
 
Wat is nu precies je doel, want “ff” c++ leren is er gewoon niet bij, dat kost gewoon een behoorlijke inspanning (wil je goed worden dan spreek je van jaren, als je nog geen solide programmeer basis hebt).

Als je simpel weg een synth wil maken, met een gui, dan lijkt mij dit veeeel eenvoudiger om mee te beginnen: Max for Live | Ableton (aangevuld met javascript)

zie hier voor meer info: What is Max? | Cycling '74

heb je de basis daarvan een beetje onder de knie, dan kan je daarna in dezelfde omgeving Java of C++ gebruiken.

Ben dit nog even terug aan het lezen. Vraag: kun je met Max gemaakte patches ook als plugin exporteren?
 
nee, in max kun je ook gen patches maken die weer als c++ code kunnen worden geexporteerd.
weet niet hoe efficient die code is maar heb begrepen dat dit voornamelijk voor prototyping word gebruikt.
 
nee, in max kun je ook gen patches maken die weer als c++ code kunnen worden geexporteerd.
weet niet hoe efficient die code is maar heb begrepen dat dit voornamelijk voor prototyping word gebruikt.
zal vast idd ook voor prototyping gebruikt worden, maar je kan er zeker professionele stuff mee maken, de Fors devices (Ess ex elektron) zijn daar mee gemaakt, en dat is toch echt gaaf spul!
 
Voor als je de javascript aanpak ook wil onderzoeken :


Dat ziet er interessant uit. Ben er nu wat video's over aan het bekijken. Weet je ook of je daarmee plugins kunt maken?
 
Weet je ook of je daarmee plugins kunt maken?


Dus kennelijk is dat niet eenvoudig. Verder lees ik dit:

Code:
Limitations

    MacOS 10.11+ and Windows 10+
    Only effect plugins are properly supported (MIDI information is not yet propagated)

Dat schiet ook niet op.
 
@ProgHead als je een beetje feeling wil krijgen kan je kijken naar VCV rack op github GitHub - VCVRack/Rack: The virtual Eurorack studio
Dat is C++ maar met alle "scaffolding" al geregeld dus je kan snel zelf een module bouwen.

Heb er nog eens naar gekeken en dat zelf modules bouwen is mogelijk voor mij toch wel interessant. VCV Rack is een veel gebruikt platform, dus wat daarvoor als module gepubliceerd wordt kan potentieel een groot publiek bereiken. Ik doe het niet om er iets aan te verdienen, maar het lijkt mij heel leuk als anderen mijn brouwsels kunnen gebruiken en waarderen.
 
Heb je al programeer ervaring?
zo niet zou ik eerst veel scripten in een interpreted taal zoals Python of Lua bv of een meer high level language zoals GO of C#.
C / C++ is niet echt een ideale eerste programmeer taal is mijn ervaring.
Dan heb ik het nog niet eens over interfaces en het eco systeem.

Heb ook dat Elementary Audio bekeken maar las iets van "removed from the free tier" en toen haakte ik af.
 
Met Python kan ik al goed overweg, en met Faust en Csound met enige moeite ook. Ik ben nu vooral op zoek naar manieren om mijn audio software experimenten aan een zo groot mogelijk publiek aan te bieden. En dat betekent dat die progjes ook voor Windows gebruikers bruikbaar moeten zijn. Ik werk zelf met Linux.
 
Ik zou dan eerder voor een vst gaan dan voor VCV rack.
Als het voor een groot publiek moet zijn.
maar goed vele manieren naar Rome.
 
Inderdaad gaat daar (vst-plugins) mijn voorkeur naar uit. Maar daar zitten helaas nog een boel haken en ogen aan om dat vanuit Linux voor elkaar te krijgen. Waarmee zou je dergelijke VST plugins dan maken?
 
Dat zal vast wel kunnen maar dat is iets voor meer ervaren developers.
Ik zou eerst wat leren over compilen, dependencies, header files etc.
Cross compiling, het compilen voor een ander platform is weer net iets moeilijker.
Een ander optie is een windows VM draaien om daar je windows VST the compilen.

Ander kun je wellicht verder naar Pd kijken en dan draai je met wine een windows Pd instance om zo een windows vst te krijgen?
 
Back
Top