Systeemontwerp voor Geluid en Muziek

Project bouwen

Make (algemeen)
Compileren en linken
Compileren en linken van C++ files
Header en implementatie
Makefile example
Runtime vs. Compile time
C++ preprocessor
Voorbeeld-ontwerp: guitarfx

Taalspecifieke C++ onderwerpen

Arrays
Functies
Pointers
Namespaces
Exception handling
Templates

Object Oriented Design

Classes en objecten
Synchronisation
Inheritance
Polymorfisme

Special topics

New features in C++ 11/14/47
Multithreading
Multicast
Communication using sockets
Standard Template Library (STL)
C-examples for OSC --- needs liblo
C++ wrapper for OSC --- needs liblo

Cigar box

A collection of half-finished descriptions.. to be completed some day...

Getopt
OO design
Operator overloading
Realtime
Streams

Boeken en bronnen

Design Patterns (Erich Gamma, John Vlissides) The Audio Programming Book (Richard Boulanger, Victor Lazzarini) Elements of Computer Music (Richard Moore)
Introduction to computer music (Nick Collins) Designing Audio Effects and plug-ins in C++ (Will Pirkle) Head First Design Patterns

Videos



Oefeningen en opdrachten

Instrument class (PDF)
Instrument inheritance (PDF)

Voorbeelden

Voorbeelden van onder andere pointers, communication, inheritance, polymorphism, advanced_C/C++, new features in C++ 11/14/47, C++ wrapper for portaudio (Github)