Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
f5b96dd
arpegiator
valsteen Dec 28, 2020
0c6c397
map pressure as aftertouch, that is properly handled
valsteen Jan 2, 2021
4f41a8d
silent clippy warnings
valsteen Jan 2, 2021
6b44009
choose b/w channel pressure and aftertouch
valsteen Jan 2, 2021
0d2adf5
add controller, redo workers
valsteen Jan 3, 2021
eb5d0b1
debugging stuck worker
valsteen Jan 3, 2021
1e22187
ok
valsteen Jan 3, 2021
f8a63dd
switched to async-std
valsteen Jan 4, 2021
505e226
sort out feature flag use, add input
valsteen Jan 4, 2021
11201cb
add cc forwarding
valsteen Jan 4, 2021
70e3309
add optional debug log on devices
valsteen Jan 5, 2021
1f707a1
avoid crashes related to plugin shutdown
valsteen Jan 5, 2021
fe31756
refactorings, switch to IPC
valsteen Jan 9, 2021
3dc2385
unhandled error
valsteen Jan 9, 2021
cbaa31c
add more event traces to debug worker hangup
valsteen Jan 9, 2021
1a3e0fe
fixed IPC
valsteen Jan 10, 2021
d9b93b2
simplify error propagation
valsteen Jan 10, 2021
7d7a230
put every IPC feature behind a feature flag before implementing midi …
valsteen Jan 10, 2021
63c380c
fix feature switch
valsteen Jan 10, 2021
20cee7a
reorder
valsteen Jan 10, 2021
3a62582
output notes again
valsteen Jan 12, 2021
3d303ec
redefine pressure_as_aftertouch/pressure_as_channel_pressure
valsteen Jan 12, 2021
25a90db
implement pressure_as_cc7
valsteen Jan 12, 2021
8811094
implement pitchbend
valsteen Jan 13, 2021
5e7eb83
pitchbend at fixed semitones
valsteen Jan 14, 2021
8ef6487
reformat
valsteen Jan 14, 2021
ba10d32
cleanup comment
valsteen Jan 14, 2021
44edea1
implement legato
valsteen Jan 14, 2021
456fa1f
also drop pitchbend when we have a legato pattern
valsteen Jan 14, 2021
1b634e8
implement configurable velocity source
valsteen Jan 17, 2021
26552b8
refactor
valsteen Mar 27, 2021
e25185b
don't delay note off if we reached the limit
valsteen Mar 27, 2021
bf10999
apply limit to released notes instead of delaying their note off
valsteen Mar 27, 2021
4e70b83
refactor delay parameter
valsteen Mar 31, 2021
b8b6603
simplify note insertion
valsteen Apr 1, 2021
d97b833
replace debugsocket
valsteen Apr 1, 2021
3aff8d2
implement delay multiplier
valsteen Apr 1, 2021
95131fe
fix note on match
valsteen Apr 1, 2021
f3b7250
update vst-rs
valsteen Apr 5, 2021
05ca554
synchronized delay
valsteen Apr 5, 2021
452713b
update deps / fix clippy messages
valsteen Jun 5, 2021
5ed5ad3
apply delay only for notes above duration threshold
valsteen Jun 19, 2021
ea675cc
add tests
valsteen Jun 19, 2021
1308a2d
refactor scheduling as a stateful struct
valsteen Jun 20, 2021
6ddaff3
simplify further schedule helper
valsteen Jun 19, 2021
c7dddd7
simplify
valsteen Jun 20, 2021
bdff9ed
find reverse parameter value, test against samples
valsteen Jun 20, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,225 changes: 1,119 additions & 106 deletions Cargo.lock

Large diffs are not rendered by default.

5 changes: 4 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,8 @@ members = [
"filter_out_non_note",
"note_fan_out",
"midi_delay",
"max_note_duration"
"max_note_duration",
"audio_data",
"arpegiator",
"arpegiator_pattern_receiver"
]
47 changes: 47 additions & 0 deletions arpegiator/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
[package]
name = "arpegiator"
version = "0.1.0"
authors = ["Vincent Alsteen <vincent.alsteen@gmail.com>"]
edition = "2018"

[dependencies]
vst = { git = "https://github.com/rustaudio/vst-rs" }
util = { path = "../util" }
build-info = "0.0.23"
log = "0.4.14"
num-traits = "0.2.14"
itertools = "0.10.0"
bincode = "1.3.3"
midir = "0.7.0"
async-std = "1.9.0"
async-channel = "1.6.1"
futures-lite = "1.12.0"
ipc-channel = "0.15.0"
uuid = "0.8.2"

[build-dependencies]
build-info-build = "0.0.23"

[lib]
name = "arpegiator"
crate-type = ["cdylib", "lib"]

[features]
default = ["pressure_as_channel_pressure", "forward_pattern_cc", "worker_debug", "midi_hack_transmission"]

pressure_as_channel_pressure = []
pressure_as_aftertouch = []
pressure_as_cc7 = []

worker_debug = []
forward_note_cc = []
forward_pattern_cc = []
device_debug = []
midi_hack_transmission = []


[target.'cfg(target_os = "macos")'.dependencies.coremidi]
version = "0.4.0"

[target.'cfg(target_os = "macos")'.dependencies.mach]
version = "0.3"
5 changes: 5 additions & 0 deletions arpegiator/build.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
fn main() {
// Calling `build_info_build::build_script` collects all data and makes it available to `build_info::build_info!`
// and `build_info::format!` in the main program.
build_info_build::build_script();
}
Loading