Synth Book (V2) and SDK v1.2.5 do not match up | Synth Book Questions | Forum


Please consider registering

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —

— Match —

— Forum Options —

Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
Synth Book (V2) and SDK v1.2.5 do not match up
November 23, 2022 - 9:53 am
Member Since: March 12, 2020
Forum Posts: 5
sp_UserOfflineSmall Offline


I have been following designing software synthesisers in c++ 2nd edition and quite early on have found inconsistencies between the code in the book and on my screen. Maybe I am looking in the wrong places? I thought I would check now before I get in too deep and miss more stuff.

Section 2.4 SynthEngine constructor: 3 tasks, one of which is initialising some of the MIDI data to prevent a synth starting without audio. In the book the lines: 

`midiInputData->setCCMIDIData(VOLUME _ CC07, 127);

midiInputData->setCCMIDIData(PAN _ CC10, 64); `

these come before creating the wavetable and PCM sampl database shared pointers but in my code there is nothing before // --- create databases.

Weirdly the \brief of the function says that it initialises global MIDI data but it does not appear to do that.

Further on in 2.6.2 it discusses the setParameters function, the book mentions it setting up the global MIDI data but there is no reference to MIDI data or data structures in my code or any of the code presented at the top of page 22 in the book.


Then in 2.6.3 the render function is discussed, supposed to be doing 3 phases. Phase one is Updating the engine's GUI parameters, but I cant see any calls to getParameters or setParameters. 


Am I looking at the right code (\SynthLab_SDK\source\synthengine.cpp) ? Am I missing something vital?


Thanks for your help 🙂

November 23, 2022 - 4:11 pm
Member Since: January 28, 2017
Forum Posts: 706
sp_UserOfflineSmall Offline

Hi Mark

I just left for Thanksgiving break and can't answer you this moment. 

You do have the correct code, and as usual, a few changes were made just prior to publication - in part because the publisher wanted me to move more stuff to the downloadable code rather than printing pages. But everything is working properly.

The way the parameter update works can be a bit tricky but it isn't difficult. Some of the MIDI global setting were also merged with other code to reduce page count in the book.

I will try to get back to you with some more details on it when I am back from doing the family thing. Interestingly, you are the first to ask these questions so thank you for scrutinizing the issues. 


Forum Timezone: America/New_York

Most Users Ever Online: 294

Currently Online:
3 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Chaes: 56

Skyler: 48

StevieD: 46

Derek: 46

Frodson: 45

Peter: 43

TheSmile: 43

Nickolai: 43

clau_ste: 39

jeanlecode: 37

Member Stats:

Guest Posters: 2

Members: 795

Moderators: 1

Admins: 6

Forum Stats:

Groups: 13

Forums: 42

Topics: 862

Posts: 3400

Moderators: W Pirkle: 706