Jean Pierre Cimalando
|
8d08c6700d
|
Replace auto for ease of reading
|
2020-09-11 18:07:01 +02:00 |
|
Jean Pierre Cimalando
|
89893503be
|
Remove the conditions which are made redundant
|
2020-09-11 17:58:42 +02:00 |
|
Jean Pierre Cimalando
|
aaa51f6dfe
|
Use the flags, and assert key to be valid with said flags
|
2020-09-11 17:56:42 +02:00 |
|
Jean Pierre Cimalando
|
0fd5ec57ab
|
Rename the variable to make it clearer what it is
|
2020-09-11 17:52:24 +02:00 |
|
Jean Pierre Cimalando
|
9c5f9537fa
|
Adopt the underscore convention for member variables
|
2020-09-11 17:51:05 +02:00 |
|
Jean Pierre Cimalando
|
c91c653d8a
|
Use the operator bool of NumericId
|
2020-09-11 17:47:24 +02:00 |
|
Paul Ferrand
|
ba53028d8d
|
Store shortcuts from the region id to the source and targets in the MM
|
2020-09-11 17:40:55 +02:00 |
|
Paul Ferrand
|
11d5abe435
|
Precompute targets for the modulation on voice start
|
2020-09-11 17:40:45 +02:00 |
|
Jean Pierre Cimalando
|
60eecba226
|
Make NumericId hashable
|
2020-09-11 17:16:31 +02:00 |
|
Paul Ferrand
|
9d26b5742e
|
Move SpinMutex.cpp in the source list
|
2020-09-11 17:04:26 +02:00 |
|
Paul Ferrand
|
e3fa56452c
|
Add headers to CMake: NumericId
|
2020-09-11 17:04:20 +02:00 |
|
Paul Ferrand
|
f9cf9b35e6
|
Move NumericId into utility
|
2020-09-11 17:04:13 +02:00 |
|
JP Cimalando
|
ed6c9557f7
|
Merge pull request #413 from paulfd/choking-across-cc-switches
Regions on the same note but with different groups do get muted
|
2020-09-10 08:06:25 +02:00 |
|
Paul Ferrand
|
1fcd3077ae
|
Correct the condition for the envelope to free-run
|
2020-09-09 15:23:15 +02:00 |
|
Paul Ferrand
|
d2e8c0548f
|
Regions on the same note but with different groups do get muted
This happens e.g. with keyswitches. This behavior is slightly different from Cakewalk's apparently.
|
2020-09-09 13:06:24 +02:00 |
|
Paul Ferrand
|
afadb171a4
|
Merge pull request #393 from paulfd/polyphony-cleanups
Polyphony cleanups
|
2020-09-09 10:29:09 +02:00 |
|
Paul Ferrand
|
48b8011354
|
Add SIMD helpers targeted for the mod matrix and plug them in
On my machine now the previous code path was probably vectorized
but this way we have the structure to handle platforms where it's not
|
2020-09-08 23:00:19 +02:00 |
|
Paul Ferrand
|
db9840c5bd
|
Put operator == in the constructor for the modkeyThis function is called alot, this seems to favor inlining
|
2020-09-08 21:43:34 +02:00 |
|
Paul Ferrand
|
7ec5da9ddb
|
Memorize the flags to avoid a recurrent switch
|
2020-09-08 17:01:34 +02:00 |
|
Jean Pierre Cimalando
|
db194be867
|
Initialize SIMD in both synth ctors
|
2020-09-08 09:00:18 +02:00 |
|
Jean Pierre Cimalando
|
d2362609a0
|
Prevent pitchbend events from creating xruns
|
2020-09-08 08:47:53 +02:00 |
|
Paul Ferrand
|
bc55705290
|
Put default quality to 1
|
2020-09-07 23:47:28 +02:00 |
|
Paul Ferrand
|
863a08c421
|
Use Cakewalk/RGC behavior for self-choking notes
Basically if group=off_by, a note will not choke other voices with the same note number
|
2020-09-07 23:18:02 +02:00 |
|
Paul Ferrand
|
bb621282c9
|
Note polyphony tests and bugs
|
2020-09-07 22:25:29 +02:00 |
|
Paul Ferrand
|
fa37669e08
|
Add checks for release voices and note_polyphony
|
2020-09-07 22:25:29 +02:00 |
|
Paul Ferrand
|
1f65c135bc
|
Don't release age 0 voices
|
2020-09-07 22:25:29 +02:00 |
|
Paul Ferrand
|
6750fb93a2
|
Comments and renaming
|
2020-09-07 22:25:29 +02:00 |
|
Paul Ferrand
|
025e87a0d1
|
Remove the Voice::TriggerType enum
|
2020-09-07 22:25:29 +02:00 |
|
Paul Ferrand
|
e32348190f
|
Modularize the cc dispatch and the matching between a playing voice and release regions
|
2020-09-07 22:25:29 +02:00 |
|
Paul Ferrand
|
01c43f03d4
|
Move the delayed release check in a separate method
|
2020-09-07 22:25:29 +02:00 |
|
Paul Ferrand
|
944373ea83
|
Move common voice starting logic in a separate method
|
2020-09-07 22:25:29 +02:00 |
|
Paul Ferrand
|
dda10e8530
|
Use a trigger event type instead of passing 3 parameters
|
2020-09-07 22:25:29 +02:00 |
|
Paul Ferrand
|
afae38e6c3
|
Move the polyphony checks in separate functions
|
2020-09-07 22:25:29 +02:00 |
|
Paul Ferrand
|
ff1be61dc1
|
Use the same idiom for finding free voices
|
2020-09-07 22:25:29 +02:00 |
|
Paul Ferrand
|
5139c648f0
|
Engine polyphony is checked in findFreeVoice()
|
2020-09-07 22:25:29 +02:00 |
|
Paul Ferrand
|
ca7d74e841
|
Move the voice selection after the polyphony checks
|
2020-09-07 22:25:29 +02:00 |
|
Paul Ferrand
|
ed5fb61f38
|
Move a variable declaration
Refactor the polyphony checks into reusable blocks
|
2020-09-07 22:25:29 +02:00 |
|
redtide
|
19469c5c1f
|
Doxygen documentation update [skip ci]
|
2020-09-05 16:14:51 +02:00 |
|
Jean Pierre Cimalando
|
0c8a57e843
|
Enable fast-math only on sfizz DSP targets
|
2020-09-02 00:36:49 +02:00 |
|
Paul Ferrand
|
81169b8209
|
Merge pull request #384 from paulfd/simpler-envelope-follower
Simpler power/envelope follower
|
2020-08-27 17:03:18 +02:00 |
|
Jean Pierre Cimalando
|
298befa753
|
Express follower AR in seconds
|
2020-08-27 09:39:41 +02:00 |
|
Jean Pierre Cimalando
|
b1f1fc4042
|
Power follower using a fixed block size
|
2020-08-27 09:12:42 +02:00 |
|
Jean Pierre Cimalando
|
a5c72375a9
|
Move the div operation out of the SIMD helper
|
2020-08-27 08:46:12 +02:00 |
|
Jean Pierre Cimalando
|
cb144ad42f
|
Move the power follower to its own file
|
2020-08-27 07:48:14 +02:00 |
|
Jean Pierre Cimalando
|
0481862b10
|
Allow the modulations to be notified of release
|
2020-08-21 14:49:36 +02:00 |
|
Jean Pierre Cimalando
|
a71c1eb0f3
|
Allow modulations to trigger at a frame-accurate instant (LFO)
|
2020-08-21 14:39:55 +02:00 |
|
Paul Ferrand
|
dd8134277c
|
Clamp the tracking factors to avoid blowups
|
2020-08-21 11:36:09 +02:00 |
|
Paul Ferrand
|
afc9d72c89
|
Further changes to the envelope follower- Apply on a single channel- Track attack and release separately
|
2020-08-21 11:20:36 +02:00 |
|
JP Cimalando
|
68712140d6
|
Merge pull request #385 from paulfd/offset-ccs
offset_cc were not taken into account
|
2020-08-21 00:54:03 +02:00 |
|
Paul Ferrand
|
c61ab364af
|
Merge pull request #380 from paulfd/end-disabling-regions
End disabling regions
|
2020-08-21 00:25:30 +02:00 |
|