mirror of
https://github.com/vsariola/sointu.git
synced 2025-05-28 03:10:24 -04:00
parent
5fd78d8362
commit
f72f29188b
@ -88,6 +88,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|||||||
([#156][i156])
|
([#156][i156])
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
- The maximum number of delaylines in the native synth was increased to 128,
|
||||||
|
with slight increase in memory usage ([#155][i155])
|
||||||
- The numeric updown widget has a new appearance.
|
- The numeric updown widget has a new appearance.
|
||||||
- The draggable UI splitters snap more controllably to the window edges.
|
- The draggable UI splitters snap more controllably to the window edges.
|
||||||
- New & better presets, organized by their type to subfolders (thanks Reaby!)
|
- New & better presets, organized by their type to subfolders (thanks Reaby!)
|
||||||
@ -312,6 +314,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|||||||
[i150]: https://github.com/vsariola/sointu/issues/150
|
[i150]: https://github.com/vsariola/sointu/issues/150
|
||||||
[i151]: https://github.com/vsariola/sointu/issues/151
|
[i151]: https://github.com/vsariola/sointu/issues/151
|
||||||
[i154]: https://github.com/vsariola/sointu/issues/154
|
[i154]: https://github.com/vsariola/sointu/issues/154
|
||||||
|
[i155]: https://github.com/vsariola/sointu/issues/155
|
||||||
[i156]: https://github.com/vsariola/sointu/issues/156
|
[i156]: https://github.com/vsariola/sointu/issues/156
|
||||||
[i157]: https://github.com/vsariola/sointu/issues/157
|
[i157]: https://github.com/vsariola/sointu/issues/157
|
||||||
[i158]: https://github.com/vsariola/sointu/issues/158
|
[i158]: https://github.com/vsariola/sointu/issues/158
|
||||||
|
@ -25,8 +25,8 @@ func (s NativeSynther) Synth(patch sointu.Patch, bpm int) (sointu.Synth, error)
|
|||||||
|
|
||||||
func Synth(patch sointu.Patch, bpm int) (*NativeSynth, error) {
|
func Synth(patch sointu.Patch, bpm int) (*NativeSynth, error) {
|
||||||
s := new(C.Synth)
|
s := new(C.Synth)
|
||||||
if n := patch.NumDelayLines(); n > 64 {
|
if n := patch.NumDelayLines(); n > 128 {
|
||||||
return nil, fmt.Errorf("native bridge has currently a hard limit of 64 delaylines; patch uses %v", n)
|
return nil, fmt.Errorf("native bridge has currently a hard limit of 128 delaylines; patch uses %v", n)
|
||||||
}
|
}
|
||||||
comPatch, err := vm.NewBytecode(patch, vm.AllFeatures{}, bpm)
|
comPatch, err := vm.NewBytecode(patch, vm.AllFeatures{}, bpm)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -124,8 +124,8 @@ func (bridgesynth *NativeSynth) Release(voice int) {
|
|||||||
// Update
|
// Update
|
||||||
func (bridgesynth *NativeSynth) Update(patch sointu.Patch, bpm int) error {
|
func (bridgesynth *NativeSynth) Update(patch sointu.Patch, bpm int) error {
|
||||||
s := (*C.Synth)(bridgesynth)
|
s := (*C.Synth)(bridgesynth)
|
||||||
if n := patch.NumDelayLines(); n > 64 {
|
if n := patch.NumDelayLines(); n > 128 {
|
||||||
return fmt.Errorf("native bridge has currently a hard limit of 64 delaylines; patch uses %v", n)
|
return fmt.Errorf("native bridge has currently a hard limit of 128 delaylines; patch uses %v", n)
|
||||||
}
|
}
|
||||||
comPatch, err := vm.NewBytecode(patch, vm.AllFeatures{}, bpm)
|
comPatch, err := vm.NewBytecode(patch, vm.AllFeatures{}, bpm)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
struc su_synth
|
struc su_synth
|
||||||
.synth_wrk resb su_synthworkspace.size
|
.synth_wrk resb su_synthworkspace.size
|
||||||
.delay_wrks resb su_delayline_wrk.size * 64
|
.delay_wrks resb su_delayline_wrk.size * 128
|
||||||
.delaytimes resw 768
|
.delaytimes resw 768
|
||||||
.sampleoffs resb su_sample_offset.size * 256
|
.sampleoffs resb su_sample_offset.size * 256
|
||||||
.randseed resd 1
|
.randseed resd 1
|
||||||
|
@ -38,7 +38,7 @@ typedef struct SampleOffset {
|
|||||||
|
|
||||||
typedef struct Synth {
|
typedef struct Synth {
|
||||||
struct SynthWorkspace SynthWrk;
|
struct SynthWorkspace SynthWrk;
|
||||||
struct DelayWorkspace DelayWrks[64]; // let's keep this as 64 for now, so the delays take 16 meg. If that's too little or too much, we can change this in future.
|
struct DelayWorkspace DelayWrks[128]; // let's keep this as 64 for now, so the delays take 16 meg. If that's too little or too much, we can change this in future.
|
||||||
unsigned short DelayTimes[768];
|
unsigned short DelayTimes[768];
|
||||||
struct SampleOffset SampleOffsets[256];
|
struct SampleOffset SampleOffsets[256];
|
||||||
unsigned int RandSeed;
|
unsigned int RandSeed;
|
||||||
|
Loading…
Reference in New Issue
Block a user