From eb81cf5820770c54d33facaf09f7f79a17e272ed Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Mon, 10 Jan 2011 17:04:54 +0100 Subject: Implemented handler for soft-pedal Controller 67 aka soft-pedal now can reduce the note's volume by half TODO: - let the user set the percentage for the volume, either per controller (per channel) or per CLI (global) --- note_compiler/templates/ctor.foot | 1 + note_compiler/templates/head.1 | 2 +- note_compiler/templates/interface.1 | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) (limited to 'note_compiler/templates') diff --git a/note_compiler/templates/ctor.foot b/note_compiler/templates/ctor.foot index 05d4421..5cc0631 100644 --- a/note_compiler/templates/ctor.foot +++ b/note_compiler/templates/ctor.foot @@ -4,6 +4,7 @@ set_note(n); freq=dest_freq; set_vel(v); + set_vol_factor(vol_fac); pitchbend=pb; diff --git a/note_compiler/templates/head.1 b/note_compiler/templates/head.1 index 6759f56..b50d694 100644 --- a/note_compiler/templates/head.1 +++ b/note_compiler/templates/head.1 @@ -26,7 +26,7 @@ IntToStr_func_t* IntToStr=NULL; class Note : public NoteSkel { public: - Note(int n, float v,program_t &prg, jack_nframes_t pf, fixed_t pb, int prg_no); + Note(int n, float v,program_t &prg, jack_nframes_t pf, fixed_t pb, int prg_no, float vol_fac); ~Note(); fixed_t get_sample(); diff --git a/note_compiler/templates/interface.1 b/note_compiler/templates/interface.1 index cacc175..2ccee41 100644 --- a/note_compiler/templates/interface.1 +++ b/note_compiler/templates/interface.1 @@ -1,10 +1,10 @@ -extern "C" NoteSkel* create_note(int n, float v,program_t &prg, jack_nframes_t pf, fixed_t pb, int prg_no) +extern "C" NoteSkel* create_note(int n, float v,program_t &prg, jack_nframes_t pf, fixed_t pb, int prg_no, float vol_fac) { if (wave==NULL) throw string("FATAL: trying to create a new note from a shared object without initalizing\n" " the object first! this should /never/ happen, please contact the developer"); - return new Note(n,v,prg,pf,pb,prg_no); + return new Note(n,v,prg,pf,pb,prg_no,vol_fac); } extern "C" void init_vars(int sr, int fupfr, fixed_t **w, fixed_t **clfo, output_note_func_t* out_n, IntToStr_func_t* its) -- cgit v1.2.3