Commit Graph

77 Commits

Author SHA1 Message Date
90fcae8c49 move one line of code to fix CoreAudio deadlock on macOS FL Studio 2019-08-01 21:51:16 +01:00
21caa98fd8 guess we shouldn't take the easy route of defaulting to 0, since the other parts of fluidsynthmodel are diligent enough to grab their initial values from the value tree (even if it's all-but-certain that the value tree won't have been inited yet) 2019-07-30 21:52:44 +01:00
7dd9bb4c22 fix choice of preset via plugin host (safely updates table from non-message thread) 2019-07-30 21:36:54 +01:00
ba6bec2d9d remove unused, reduce duplication 2019-07-30 21:12:49 +01:00
79c023d466 restore ADSR and filter from save. shorten switch statements into map lookups. 2019-07-29 23:46:38 +01:00
6f80200219 unused 2019-07-29 22:05:50 +01:00
84caf499b0 remove unused interfaces and data classes 2019-07-28 23:17:19 +01:00
cdf6f89019 switch to unique_ptr for fluidsynth 2019-07-28 23:02:22 +01:00
39f9d86bd1 remove shared access to fluidsynth instance 2019-07-28 22:51:51 +01:00
d4a060b769 move message-routing, midi-rendering concerns into FluidSynthModel 2019-07-28 22:22:25 +01:00
e772b4bcf0 fix typo that was causing soundfont loading to fail 2019-07-28 20:17:03 +01:00
f87ec7c8e4 remove some unused methods on FluidSynthModel. make FilePicker update displayed text upon load. read and write into XML just the bits that we need, and take advantage of attribute names' being indexed. take more care in setting sfont_id. 2019-07-27 23:04:20 +01:00
5c310a1606 keyboard left/right triggers pill button click (as it used to). pills now send you to first valid preset in bank (as they used to). 2019-07-21 16:25:22 +01:00
304ec6ce88 pills no longer listen to valueTree; I didn't like the idea of having up to 128 listeners when the parent could do dispatch with just one listener 2019-07-21 15:04:19 +01:00
745adf8fde make table once again respond to bank changes. support bank offset again. 2019-07-20 19:56:12 +01:00
0587e2f68a decided against maintaining a separate 'presets' property in the ValueTree, since this is a view modelling concern that only the table cares about. instead, store as a tree. let the table component be responsible for maintaining a view over a subset of presets, instead of bothering the ValueTree with this. this is an effort to dial back the use of the store, and prefer to use it where it provides the most value rather than using it for everything. 2019-07-20 18:49:39 +01:00
d8ce91e666 successfully setting banks and presets 2019-07-15 22:12:07 +01:00
fc1d45d77c separate functions to refresh presets, banks. update list of presets when bank changes. filter presets list by current bank. 2019-07-15 21:28:35 +01:00
99bb294ece render pills. use cheat to notify that tree of presets/banks has changed. 2019-07-14 19:31:10 +01:00
11d7296813 try to correctly modify value tree and listen for changes 2019-07-14 17:45:08 +01:00
8c1be957fe decoupling achieved. compiles. doesn't immediately explode. but neither banks nor presets visible. 2019-07-14 17:22:36 +01:00
58574425f3 further progress making TableComponent use valueTree for its model. begin doing the same for Pills. 2019-07-14 14:19:27 +01:00
4140b3b85b progress integrating table with store, decoupling from fluidsynth model 2019-07-13 22:37:26 +01:00
e1a8df9e8f progress moving table model to be managed by fluidsynth, de-generalizing and decoupling table component 2019-07-13 00:16:35 +01:00
e02188b7f4 start hooking up fileChooser to use valueTree instead of coupling to fluidSynth model 2019-07-10 23:52:15 +01:00
d972a23ce8 move soundFont to its own tag. remove extraneous valueTree. listen directly to relevant part of tree. 2019-07-10 23:13:58 +01:00
568495ea74 picking soundfont no longer crashes synth 2019-07-09 20:44:26 +01:00
374394330f successfully save/load ui width/height 2019-07-08 23:36:27 +01:00
a990072f1f progress moving uiWidth/Height into audio params, and moving soundFontPath out of SharesParams (for better listener support, and to generalize) 2019-07-07 17:35:31 +01:00
6d2267e23a prefer references where owner will definitely outlive recipient. replace some fluidsynth raw pointers with smart pointers. 2019-07-07 00:22:47 +01:00
7582fbcc9e sliders control fluidsynth when user interacts with them, but also update their position to reflect incoming MIDI messages, without attempting to control fluidsynth (since audio processor will have already done so) 2019-07-04 23:48:20 +01:00
82f18ed4a0 successfully notified release slider UI to move 2019-07-03 23:38:56 +01:00
1fe64e31f7 start setting up a global shared state and listeners 2019-07-02 23:27:56 +01:00
218beb00e7 encapsulate responsibility of params. add params for ADSR and filter. attempt to sync Slider. not obviously working yet. 2019-07-01 23:55:14 +01:00
e1f8eb9268 fix pitch wheel. make logging debug-only. 2019-07-01 21:15:33 +01:00
23c0a2dd37 make sliders send MIDI CC to FluidSynth. Make name column in table wider. Make synth wider. 2019-06-30 21:40:24 +01:00
070f0d2a87 add sustain modulator. increase range of release to cover all positives (though there is still a range of negatives that are duplicated). set all sound controller CCs to 0. this breaks MIDI spec (64 = middle = no change) to accommodate soundfont spec (middle of range on envelope generators is far from 'no change') 2019-06-30 19:25:02 +01:00
1d7fdc6860 put sliders next to table 2019-06-30 11:39:39 +01:00
a7d375a2bb sliders in groups 2019-06-30 10:59:07 +01:00
542994d672 try to find the ranges of these filters, and curves that give access to the useful parts 2019-06-29 22:10:28 +01:00
b0f10b7940 add aftertouch. correct system reset 2019-06-23 23:17:28 +01:00
13fd1c60e0 send to fluidsynth: program change, channel pressure, reset, and sysex (whatever that is). also attempt pitchbend. 2019-06-23 23:06:24 +01:00
bcf0d7dd7d envelope, filter cutoff/resonance mapped to default modulators (with semi-random magic numbers) 2019-06-23 19:40:36 +01:00
c8ae1b0e9a send control change events to fluidsynth! 2019-06-23 18:12:25 +01:00
78e6f71e81 disable (unused) microphone input 2019-06-23 11:13:25 +01:00
cbfae52348 add privacy notice 2019-06-23 00:22:05 +01:00
9677dbfc56 set effects channels to 0, since none were used. this fixes the 'no sound' problem 2019-06-22 23:24:16 +01:00
06691aa744 update XCode project from Projucer (e.g. for C++17, and to put VST SDKs on include path) 2019-06-22 22:59:28 +01:00
370d599f62 failed attempt to add a particular modulator 2019-06-22 19:07:10 +01:00
6c96994946 update fluidsynth2 to commit b6b6931. fixes 'no audio' https://github.com/FluidSynth/fluidsynth/issues/399 2019-06-22 19:07:10 +01:00