summaryrefslogtreecommitdiff
path: root/note_compiler/templates
diff options
context:
space:
mode:
authorFlorian Jung <flo@thinkpad.(none)>2011-01-10 17:04:54 +0100
committerFlorian Jung <flo@thinkpad.(none)>2011-01-10 17:04:54 +0100
commiteb81cf5820770c54d33facaf09f7f79a17e272ed (patch)
treea87028cc6235d980e52a04e47ebadbc26320d4fa /note_compiler/templates
parentdf97e0ebb7f6591c50f3a588cb2a74901d38ac4a (diff)
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)
Diffstat (limited to 'note_compiler/templates')
-rw-r--r--note_compiler/templates/ctor.foot1
-rw-r--r--note_compiler/templates/head.12
-rw-r--r--note_compiler/templates/interface.14
3 files changed, 4 insertions, 3 deletions
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)