diff --git a/CHANGES b/CHANGES index 00d6088..c220f4c 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,12 @@ +Release 0.2.0 + +App now multithreaded, and plugins use a new api to support this +Jack support fully functional +-Realtime commandline option (as root) runs ssm audio in SCHED_FIFO +LADSPA plugin much improved with built in GUI generator +App help added with Helptext for most of the plugins +Numerous fixes, additions and GUI improvements + Release 0.1.1 Main app changes: diff --git a/Examples/BandpassShaper.ssm b/Examples/BandpassShaper.ssm index dc8919d..ee8d19b 100644 --- a/Examples/BandpassShaper.ssm +++ b/Examples/BandpassShaper.ssm @@ -1,109 +1,107 @@ SpiralSynthModular File Ver 3 -253 149 724 420 253 501 724 420 +0 0 700 300 0 300 700 300 SectionList 23 Device 0 Plugin 0 -873 153 0 76 47 +873 455 0 76 47 Device 1 Plugin 13 -523 78 0 76 47 +523 380 0 76 47 1 1 0.36389 Device 2 Plugin 13 -522 150 0 76 47 +522 452 0 76 47 1 1 0.38383 Device 3 Plugin 13 -525 223 0 76 47 +525 525 0 76 47 1 1 0.36274 Device 7 Plugin 6 -420 102 0 0 0 +420 404 0 0 0 Device 8 Plugin 6 -455 189 0 0 0 +455 491 0 0 0 Device 12 Plugin 7 -611 156 0 76 47 +611 458 0 76 47 1 1 1 1 1 Device 13 Plugin 8 -783 153 0 76 47 +783 455 0 76 47 1 1 0.5 1 0.5 1 0.5 1 0.5 Device 16 Plugin 1 -697 153 1 445 67 +697 455 1 445 67 Device 17 Plugin 23 -276 198 1 186 73 +276 500 1 186 73 1 0 -3 0.0258332 1 Device 18 Plugin 23 -340 262 1 180 205 +340 564 1 180 205 1 0 -3 0.00586802 1 Device 19 Plugin 23 -410 331 1 432 205 +410 633 1 432 205 1 0 -3 0.0843751 1 Device 20 Plugin 3 -184 100 1 103 83 -3 1 -0.42 1 -1 -4 -Name -1 1 0.71 +184 402 1 103 83 +3 1 0.71 1 +1 4 Name -1 1 0.71 Device 21 Plugin 23 -267 98 0 76 47 +267 400 0 76 47 1 0 -2 0.187005 1 Device 22 Plugin 23 -337 100 0 76 47 +337 402 0 76 47 1 2 -3 0.325557 1 Device 23 Plugin -1 -272 16 0 0 0 +272 318 0 0 0 1 53 This layout generates a signal with lots of harmonics Device 24 Plugin -1 -278 30 0 0 0 +278 332 0 0 0 1 55 and filters the signal with three bandpass moog filters Device 25 Plugin -1 -196 78 0 0 0 +196 380 0 0 0 1 26 Change this to alter pitch Device 26 Plugin -1 -665 98 0 0 0 +665 400 0 0 0 1 43 Have a look at the waveform generated in an Device 27 Plugin -1 -667 111 0 0 0 +667 413 0 0 0 1 47 audio editor such as audacity, that can display Device 28 Plugin -1 -625 125 0 0 0 +625 427 0 0 0 1 27 the frequencies as colours. Device 29 Plugin -1 -248 330 0 0 0 +248 632 0 0 0 1 39 These oscillators change the modulation Device 30 Plugin -1 -202 345 0 0 0 +202 647 0 0 0 1 21 of the three filters. diff --git a/Examples/Feedback.ssm b/Examples/Feedback.ssm index 72b1604..08dc57f 100644 --- a/Examples/Feedback.ssm +++ b/Examples/Feedback.ssm @@ -1,67 +1,67 @@ SpiralSynthModular File Ver 3 -314 503 724 461 238 186 724 420 +0 0 700 300 0 300 700 300 SectionList 14 Device 0 Plugin 0 -612 241 0 100 100 +612 513 0 100 100 Device 2 Plugin 4 -348 109 1 95 160 +348 381 1 95 160 1 2 2 0.0149791 0.53 0 0.019 0.299 Device 4 Plugin 6 -240 254 0 0 0 +240 526 0 0 0 Device 5 Plugin 1 -419 246 1 349 157 +419 518 1 349 157 Device 7 Plugin 9 -276 109 1 447 33 +276 381 1 447 33 1 0.1132 0.0377 Device 8 Plugin 9 -420 109 1 448 291 +420 381 1 448 291 1 1.1698 0.566 Device 12 Plugin 8 -520 239 0 100 100 +520 511 0 100 100 1 0.27 0.5 0.8 0.5 1 0.5 1 0.5 Device 13 Plugin -1 -226 36 0 0 0 +226 308 0 0 0 1 40 This uses SSM's ability to feedback data Device 14 Plugin -1 -198 49 0 0 0 +198 321 0 0 0 1 27 from one plugin to another. Device 15 Plugin -1 -208 200 0 0 0 +208 472 0 0 0 1 37 This is where the signal is fed back. Device 16 Plugin -1 -232 63 0 0 0 +232 335 0 0 0 1 41 Feedback generates quite a chaotic sound, Device 17 Plugin -1 -221 76 0 0 0 +221 348 0 0 0 1 36 try changing some of the parameters. Device 18 Plugin 23 -200 109 1 95 47 +200 381 1 95 47 1 0 -3 0.158165 1 Device 19 Plugin 23 -491 108 1 92 274 +491 380 1 92 274 1 0 -1 0.202252 1 10 diff --git a/Examples/FourOsc.ssm b/Examples/FourOsc.ssm index a0ee687..65109bf 100644 --- a/Examples/FourOsc.ssm +++ b/Examples/FourOsc.ssm @@ -1,121 +1,126 @@ SpiralSynthModular File Ver 3 -134 396 750 484 601 192 724 420 +0 0 700 300 0 300 700 300 SectionList -21 +22 Device 0 Plugin 4 -443 77 1 84 7 +443 365 1 84 7 1 2 0 1.47687 0 0 0 1 Device 1 Plugin 4 -445 11 1 84 119 +445 299 1 84 119 1 2 -1 0.960617 0 0 1.17928e-38 1 Device 2 Plugin 4 -442 144 1 84 232 +442 432 1 84 232 1 2 0 0.733381 0.23 0 2.2772e-38 1 Device 3 Plugin 4 -442 212 1 84 345 +442 500 1 84 345 1 2 0 0.983196 0.87 0 0 1 Device 4 Plugin 8 -729 107 0 100 100 +729 395 0 100 100 1 1 0.5 1 0.5 1 0.5 1 0.5 Device 5 Plugin 7 -593 106 0 100 100 +593 394 0 100 100 1 1 1 1 1 Device 6 Plugin 13 -662 107 1 539 157 +662 395 1 539 157 1 0.0943 0.07142 Device 8 Plugin 0 -799 105 0 100 100 - - -Device 9 Plugin 2 -157 127 0 100 100 -2 0 0 0 +799 393 0 100 100 Device 10 Plugin 6 -282 118 0 0 0 +282 406 0 0 0 Device 13 Plugin 6 -202 241 0 0 0 +202 529 0 0 0 Device 14 Plugin 5 -442 281 1 529 22 +442 569 1 529 22 1 0.3844 0.1156 0.91 2.1609 0.5 0.01 Device 15 Plugin 6 -282 186 0 0 0 +282 474 0 0 0 Device 18 Plugin 5 -513 214 1 331 345 +513 502 1 331 345 1 0.8281 3.2761 0 0 0.5 0.01 Device 19 Plugin 5 -513 145 1 331 234 +513 433 1 331 234 1 0.6241 0.3249 0 0 0.5 0.01 Device 20 Plugin 5 -512 79 1 330 122 +512 367 1 330 122 1 0.7225 1.8496 0 1 0.5 0.01 Device 21 Plugin 5 -514 11 1 332 9 +514 299 1 332 9 1 0.0529 2.6896 0 0 0.5 0.01 Device 22 Plugin 7 -512 284 1 417 208 +512 572 1 417 208 1 1.47 0.07 1 1 Device 24 Plugin -1 -216 36 0 0 0 +216 324 0 0 0 1 42 A fairly complicated synth, 4 oscillators, Device 25 Plugin -1 -248 48 0 0 0 +248 336 0 0 0 1 53 with an extra envelope and LFO modulating the filter. Device 26 Plugin 23 -446 347 1 486 344 +446 635 1 486 344 1 0 0 0.457092 1 +Device 27 Plugin 40 +197 430 0 200 50 +0 + + +Device 28 Plugin -1 +224 361 0 0 0 +1 9 Hit keys! + + 27 5 5 0 6 6 0 4 4 0 8 7 0 4 4 1 8 7 1 -9 8 0 10 9 0 -9 8 1 13 10 0 6 6 0 4 4 0 -1 1 0 21 16 1 -0 0 0 20 15 1 -2 2 0 19 14 1 -3 3 0 18 13 1 -13 10 0 15 12 0 -21 16 1 5 5 0 -20 15 1 5 5 1 -19 14 1 5 5 2 -18 13 1 5 5 3 -14 11 0 22 17 0 -13 10 1 14 11 0 -22 17 0 6 6 1 -15 12 0 21 16 0 -15 12 1 20 15 0 -15 12 2 19 14 0 -15 12 3 18 13 0 -10 9 0 1 1 0 -10 9 1 0 0 0 -10 9 2 2 2 0 -10 9 3 3 3 0 -26 20 0 22 17 1 +1 1 0 21 15 1 +0 0 0 20 14 1 +2 2 0 19 13 1 +3 3 0 18 12 1 +13 9 0 15 11 0 +21 15 1 5 5 0 +20 14 1 5 5 1 +19 13 1 5 5 2 +18 12 1 5 5 3 +14 10 0 22 16 0 +13 9 1 14 10 0 +22 16 0 6 6 1 +15 11 0 21 15 0 +15 11 1 20 14 0 +15 11 2 19 13 0 +15 11 3 18 12 0 +10 8 0 1 1 0 +10 8 1 0 0 0 +10 8 2 2 2 0 +10 8 3 3 3 0 +26 19 0 22 16 1 +27 20 0 10 8 0 +27 20 1 13 9 0 diff --git a/Examples/Polyphonic.ssm b/Examples/Polyphonic.ssm index 9f189b4..39918c8 100644 --- a/Examples/Polyphonic.ssm +++ b/Examples/Polyphonic.ssm @@ -1,96 +1,96 @@ SpiralSynthModular File Ver 3 -283 72 724 482 284 586 724 420 +0 0 700 300 0 300 700 300 SectionList 16 Device 0 Plugin 86 -279 121 0 0 0 - - -Device 1 Plugin 2 -205 117 0 36 100 -2 0 0 0 +279 393 0 0 0 Device 2 Plugin 23 -372 242 1 97 350 +372 514 1 97 350 1 0 0 1 1 Device 3 Plugin 23 -373 51 1 98 15 +373 323 1 98 15 1 0 0 1 1 Device 4 Plugin 23 -372 114 1 97 127 +372 386 1 97 127 1 0 0 1 1 Device 5 Plugin 23 -373 179 1 97 238 +373 451 1 97 238 1 0 0 1 1 Device 6 Plugin 5 -439 245 1 344 349 +439 517 1 344 349 1 0 0.5 1 1 0.5 0.01 Device 7 Plugin 5 -439 181 1 344 237 +439 453 1 344 237 1 0 0.5 1 1 0.5 0.01 Device 8 Plugin 5 -439 115 1 344 126 +439 387 1 344 126 1 0 0.5 1 1 0.5 0.01 Device 9 Plugin 5 -441 52 1 344 15 +441 324 1 344 15 1 0 0.5 1 1 0.5 0.01 Device 10 Plugin 8 -515 125 1 491 147 +515 397 1 491 147 1 1 0.5 1 0.5 1 0.5 1 0.5 Device 11 Plugin 0 -580 139 0 36 100 +580 411 0 36 100 Device 12 Plugin -1 -227 29 0 0 0 +227 301 0 0 0 1 48 This patch uses the distributor plugin to create Device 13 Plugin -1 -215 44 0 0 0 +215 316 0 0 0 1 24 a polyphonic synthesizer Device 15 Plugin -1 -225 301 0 0 0 +225 573 0 0 0 1 46 The distributor sends each note recieved to a Device 18 Plugin -1 -237 317 0 0 0 +237 589 0 0 0 1 51 different identical wavetable/envelope synth voice. +Device 20 Plugin 40 +198 393 0 200 50 +0 + + 20 -1 1 0 0 0 0 -1 1 1 0 0 1 -10 10 0 11 11 0 -10 10 1 11 11 1 -0 0 0 3 3 0 -0 0 2 4 4 0 -0 0 4 5 5 0 -0 0 6 2 2 0 -3 3 0 9 9 1 -4 4 0 8 8 1 -5 5 0 7 7 1 -2 2 0 6 6 1 -0 0 1 9 9 0 -0 0 3 8 8 0 -0 0 5 7 7 0 -0 0 7 6 6 0 -6 6 1 10 10 3 -9 9 1 10 10 0 -8 8 1 10 10 1 -7 7 1 10 10 2 +10 9 0 11 10 0 +10 9 1 11 10 1 +0 0 0 3 2 0 +0 0 2 4 3 0 +0 0 4 5 4 0 +0 0 6 2 1 0 +3 2 0 9 8 1 +4 3 0 8 7 1 +5 4 0 7 6 1 +2 1 0 6 5 1 +0 0 1 9 8 0 +0 0 3 8 7 0 +0 0 5 7 6 0 +0 0 7 6 5 0 +6 5 1 10 9 3 +9 8 1 10 9 0 +8 7 1 10 9 1 +7 6 1 10 9 2 +20 15 0 0 0 0 +20 15 1 0 0 1 diff --git a/Examples/Random.ssm b/Examples/Random.ssm index 9928ebd..97d4a7a 100644 --- a/Examples/Random.ssm +++ b/Examples/Random.ssm @@ -1,59 +1,59 @@ SpiralSynthModular File Ver 3 -259 103 724 420 362 504 906 420 +0 0 700 300 0 300 700 300 SectionList 13 Device 3 Plugin 0 -772 162 0 100 100 +772 402 0 100 116 Device 5 Plugin 5 -560 161 1 530 87 +560 401 1 530 103 1 0.0289 0.3249 0 0 0.51 0 Device 7 Plugin 8 -702 162 0 100 100 +702 402 0 100 116 1 1 0.5 1 0.5 1 0.5 1 0.5 Device 9 Plugin 14 -631 162 1 376 21 +631 402 1 376 37 1 0.396 0.62 Device 12 Plugin 13 -491 162 1 380 141 +491 402 1 380 157 1 1 0.43934 Device 20 Plugin 4 -217 68 1 100 100 +217 308 1 109 351 1 3 -3 0.119661 0.5 0 2.98023e-09 1 Device 25 Plugin -1 -485 102 0 0 0 -1 37 A design that generates random events +485 342 0 0 0 +1 36 A patch that generates random events Device 26 Plugin 51 -327 104 0 0 0 +327 344 0 0 0 Device 27 Plugin 23 -152 160 1 99 16 +152 400 1 108 17 1 0 1 0.0326008 1 Device 28 Plugin 6 -231 160 0 0 0 +231 400 0 0 0 Device 29 Plugin 23 -419 161 1 99 138 +419 401 1 108 128 1 1 -3 0.933262 1 Device 30 Plugin 4 -217 251 1 100 100 +217 491 1 108 239 1 3 0 1 0.5 0 1.70555e-38 1 Device 31 Plugin 51 -328 218 0 0 0 +328 458 0 0 0 14 diff --git a/Examples/Sequence.ssm b/Examples/Sequence.ssm index a6ae4ec..dda0d6b 100644 --- a/Examples/Sequence.ssm +++ b/Examples/Sequence.ssm @@ -1,13 +1,13 @@ SpiralSynthModular File Ver 3 -314 503 724 461 238 186 724 420 +0 0 700 300 0 300 700 300 SectionList 10 Device 0 Plugin 18 -159 82 1 111 149 -2 0 0.0459186 21 1 0 +159 354 1 111 133 +3 0 0.0640363 8 1 0 32 6.6 3 -1 1 7 1 13 1 15 1 19 1 23 1 25 1 29 1 30 3 0 4 2 4 6 4 10 4 12 4 14 4 18 4 20 4 24 4 28 4 31 6 4 11 8 11 16 11 22 11 26 11 -1 32 1 0 +1 1 1 7 1 1 13 1 1 15 1 1 19 1 1 23 1 1 25 1 1 29 1 1 30 3 1 0 4 1 2 4 1 6 4 1 10 4 1 12 4 1 14 4 1 18 4 1 20 4 1 24 4 1 28 4 1 31 6 1 4 11 1 8 11 1 16 11 1 22 11 1 26 11 1 -1 32 1 0 -1 32 1 0 -1 32 1 0 -1 32 1 0 @@ -25,39 +25,39 @@ Device 0 Plugin 18 -1 Device 1 Plugin 4 -252 59 1 119 34 +252 331 1 119 18 1 2 1 1 0.21 0 nan 1 Device 2 Plugin 0 -629 79 0 100 100 +629 351 0 100 84 Device 3 Plugin 8 -557 79 0 100 100 +557 351 0 100 84 1 0.39 0 0.36 1 1 0.5 1 0.5 Device 4 Plugin 14 -472 51 0 100 100 +472 323 0 100 84 1 0.321 0.31 Device 5 Plugin 13 -330 83 1 382 35 +330 355 1 382 19 1 0 0.37002 Device 7 Plugin 5 -252 128 1 512 36 +252 400 1 512 20 1 0.0121 0.16 0 0 0.92 0 Device 8 Plugin 6 -403 83 0 0 0 +403 355 0 0 0 Device 9 Plugin 14 -473 119 0 100 100 +473 391 0 100 84 1 0.34 0.31 Device 11 Plugin -1 -396 224 0 0 0 +396 496 0 0 0 1 51 Using the Matrix plugin to create a robotic melody. diff --git a/Examples/SpiralSynth.ssm b/Examples/SpiralSynth.ssm index f497c3e..07d1f3c 100644 --- a/Examples/SpiralSynth.ssm +++ b/Examples/SpiralSynth.ssm @@ -1,109 +1,109 @@ SpiralSynthModular File Ver 3 -129 183 990 413 500 456 724 420 +0 0 700 300 0 300 700 300 SectionList 19 -Device 0 Plugin 2 -144 177 0 103 22 -2 0 0 0 - - Device 1 Plugin 4 -377 215 0 101 247 +416 494 0 458 -31 1 2 -1 1 0 0 0 1 Device 2 Plugin 4 -375 147 0 103 134 +414 426 0 460 -144 1 2 0 0.992771 0 0 0 1 Device 3 Plugin 4 -375 79 0 103 20 +414 358 0 460 -258 1 2 1 1 0.5 0 0 1 Device 4 Plugin 6 -306 81 0 0 0 +345 360 0 0 0 Device 6 Plugin 7 -519 149 0 500 124 +558 428 0 857 -154 1 0.77 0.67 0.31 1 Device 7 Plugin 13 -591 148 0 495 11 +630 427 0 852 -267 1 0.6981 0.34483 Device 8 Plugin 5 -446 215 0 350 248 +485 494 0 707 -30 1 0 0.9216 0.45 1 0.42 0.01 Device 9 Plugin 5 -447 147 0 350 134 +486 426 0 707 -144 1 0 0.3844 0.08 1 0.5 0.01 Device 10 Plugin 5 -447 80 0 351 19 +486 359 0 708 -259 1 0 0.9216 1 1.4161 0.28 0.01 Device 11 Plugin 6 -249 178 0 0 0 +288 457 0 0 0 Device 13 Plugin 5 -517 213 0 604 130 +556 492 0 961 -148 1 0.9216 0.2601 0 3.0625 0.6 0.01 Device 15 Plugin 14 -662 149 0 618 11 +701 428 0 975 -267 1 0.377 0.39 Device 17 Plugin 8 -804 151 0 103 22 +843 430 0 460 -256 1 1 0.5 1 0.5 1 0.5 1 0.5 Device 18 Plugin 0 -876 149 0 751 11 +915 428 0 1108 -267 Device 19 Plugin 4 -305 12 0 720 256 +344 291 0 1077 -22 1 2 -3 0.0167674 0.5 0 0 1 Device 20 Plugin 1 -733 150 0 496 252 +772 429 0 853 -26 Device 21 Plugin 20 -234 83 0 103 22 +273 362 0 460 -256 1 0.114 0.151 Device 22 Plugin -1 -367 282 0 0 0 +406 561 0 0 0 1 63 SpiralSynth, with a moog filter. (and stuck in monophonic mode) +Device 23 Plugin 40 +178 425 0 200 50 +0 + + 24 -4 4 0 3 3 0 -0 0 1 11 10 0 -3 3 0 10 9 1 -2 2 0 9 8 1 -1 1 0 8 7 1 -8 7 1 6 5 2 -9 8 1 6 5 1 -10 9 1 6 5 0 -6 5 0 7 6 0 -13 11 0 7 6 1 -7 6 0 15 12 0 -17 13 0 18 14 0 -17 13 1 18 14 1 -19 15 0 3 3 1 -15 12 0 20 16 0 -20 16 0 17 13 0 -21 17 0 4 4 0 -0 0 0 21 17 0 -4 4 1 2 2 0 -4 4 2 1 1 0 -11 10 0 10 9 0 -11 10 1 9 8 0 -11 10 2 8 7 0 -11 10 3 13 11 0 +4 3 0 3 2 0 +3 2 0 10 8 1 +2 1 0 9 7 1 +1 0 0 8 6 1 +8 6 1 6 4 2 +9 7 1 6 4 1 +10 8 1 6 4 0 +6 4 0 7 5 0 +13 10 0 7 5 1 +7 5 0 15 11 0 +17 12 0 18 13 0 +17 12 1 18 13 1 +19 14 0 3 2 1 +15 11 0 20 15 0 +20 15 0 17 12 0 +21 16 0 4 3 0 +4 3 1 2 1 0 +4 3 2 1 0 0 +11 9 0 10 8 0 +11 9 1 9 7 0 +11 9 2 8 6 0 +11 9 3 13 10 0 +23 18 0 21 16 0 +23 18 1 11 9 0 diff --git a/Examples/Tutorial1-FirstThing.ssm b/Examples/Tutorial1-FirstThing.ssm index 2a29cca..9a31a30 100644 --- a/Examples/Tutorial1-FirstThing.ssm +++ b/Examples/Tutorial1-FirstThing.ssm @@ -1,203 +1,193 @@ SpiralSynthModular File Ver 3 -288 90 724 420 291 544 724 420 +0 0 700 300 0 300 700 300 SectionList -40 +38 Device 0 Plugin -1 -371 24 0 0 0 +371 320 0 0 0 1 36 Tutorial 1 - First principles of SSM Device 1 Plugin -1 -371 40 0 0 0 -1 90 This is a comment, click somewhere in the middle of me to move me, right click to edit me. +371 336 0 0 0 +1 91 This is a comment, click somewhere in the middle of me to move me, double click to edit me. Device 2 Plugin 0 -541 115 1 493 101 +541 411 1 492 26 Device 3 Plugin 23 -216 115 1 178 106 +216 411 1 178 26 1 0 0 1 1 Device 4 Plugin -1 -230 81 0 0 0 +230 377 0 0 0 1 31 The simplest noisemaking layout Device 5 Plugin -1 -230 81 0 0 0 +230 377 0 0 0 1 31 The simplest noisemaking layout Device 6 Plugin -1 -254 93 0 0 0 +254 389 0 0 0 1 41 A sinewave generating wavetable plugin... Device 7 Plugin -1 -537 93 0 0 0 +537 389 0 0 0 1 18 ... and an output. Device 15 Plugin -1 -222 184 0 0 0 +222 480 0 0 0 1 36 Change the frequency and wave shape. Device 16 Plugin -1 -540 176 0 0 0 +540 472 0 0 0 1 40 This outputs the sound to the soundcard. Device 17 Plugin -1 -534 189 0 0 0 +534 485 0 0 0 1 55 You can change the volume, or record the sound to disk. Device 18 Plugin -1 -374 133 0 0 0 +374 429 0 0 0 1 41 This connects the output of the wavetable Device 21 Plugin -1 -374 133 0 0 0 +374 429 0 0 0 1 41 This connects the output of the wavetable Device 22 Plugin -1 -370 144 0 0 0 +370 440 0 0 0 1 38 To the input of the OSS output plugin. Device 23 Plugin -1 -373 114 0 0 0 +373 410 0 0 0 1 51 Create/Delete connections by clicking on the ports. -Device 24 Plugin 2 -198 286 0 158 214 -2 0 0 0 - - Device 26 Plugin -1 -258 295 0 0 0 +258 591 0 0 0 1 9 <-------- Device 27 Plugin -1 -165 65 0 0 0 +165 361 0 0 0 1 3 (1) Device 28 Plugin -1 -166 250 0 0 0 +166 546 0 0 0 1 3 (2) Device 29 Plugin -1 -389 288 0 0 0 +389 584 0 0 0 1 44 To get this to work, click on this port, and Device 30 Plugin -1 -400 301 0 0 0 +400 597 0 0 0 1 45 then on the WaveTable's one free input above. Device 31 Plugin -1 -266 264 0 0 0 -1 44 Controlling the sound with MIDI/PC keyboard. +253 562 0 0 0 +1 39 Controlling the sound with PC keyboard. Device 32 Plugin -1 -389 337 0 0 0 -1 50 To change the pitch of the tone, press keys in the - - -Device 35 Plugin -1 -389 362 0 0 0 -1 51 to have midi, just bash those black and white keys. +410 624 0 0 0 +1 63 To change the pitch of the tone, press keys on your PC keyboard Device 37 Plugin -1 -396 226 0 0 0 +396 522 0 0 0 1 103 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Device 38 Plugin 5 -401 470 1 313 235 +401 766 1 485 140 1 0.0529 0.8281 0 0 0.5 0.01 Device 39 Plugin -1 -386 394 0 0 0 +386 690 0 0 0 1 103 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Device 40 Plugin -1 -168 421 0 0 0 +168 717 0 0 0 1 3 (3) Device 41 Plugin -1 -248 435 0 0 0 +248 731 0 0 0 1 36 Using an envelope to shape the sound Device 42 Plugin -1 -242 491 0 0 0 +242 787 0 0 0 1 47 Connect this to the WaveTable's output -------> Device 43 Plugin -1 -270 466 0 0 0 +270 762 0 0 0 1 33 Connect this to the second output Device 44 Plugin -1 -277 478 0 0 0 -1 33 down on the Midi plugin. -------> +264 775 0 0 0 +1 37 down on the keyboard plugin. -------> Device 45 Plugin -1 -518 488 0 0 0 +518 784 0 0 0 1 34 <------ Connect this to one of the Device 46 Plugin -1 -529 501 0 0 0 +529 797 0 0 0 1 20 OSS plugin's inputs. Device 47 Plugin -1 -398 547 0 0 0 +398 843 0 0 0 1 65 The layout will now look a little messy, but should now cause the Device 48 Plugin -1 -405 560 0 0 0 +405 856 0 0 0 1 67 sound to appear and then slowly die away after a note is triggered. Device 49 Plugin -1 -420 573 0 0 0 +420 869 0 0 0 1 74 Try changing the [A]ttack [D]ecay [S]ustain and [R]elease of the envelope. Device 51 Plugin -1 -325 447 0 0 0 +325 743 0 0 0 1 73 Click on the WaveTable's output port, so the first connection is deleted. Device 52 Plugin -1 -394 532 0 0 0 -1 55 Now hit a key. (In the midi plugin window if necessary) +284 830 0 0 0 +1 14 Now hit a key. -Device 53 Plugin -1 -387 349 0 0 0 -1 47 main window on your PC keyboard, or if you are +Device 54 Plugin 40 +209 582 1 152 151 +0 1 diff --git a/Examples/Tutorial3-SubtractiveSynth.ssm b/Examples/Tutorial3-SubtractiveSynth.ssm index cff556e..c9e3296 100644 --- a/Examples/Tutorial3-SubtractiveSynth.ssm +++ b/Examples/Tutorial3-SubtractiveSynth.ssm @@ -1,129 +1,129 @@ SpiralSynthModular File Ver 3 -401 127 724 420 402 579 724 420 +0 0 700 300 0 300 700 300 SectionList 24 Device 0 Plugin 23 -263 170 1 99 99 +263 466 1 99 27 1 3 0 1 1 -Device 1 Plugin 2 -175 194 0 115 69 -2 0 0 0 - - Device 2 Plugin 5 -264 238 1 335 227 +264 534 1 335 155 1 0.0289 0.16 0.08 1.0404 0.58 0.01 Device 3 Plugin 13 -379 171 1 349 100 +379 467 1 349 28 1 0 0.37137 Device 4 Plugin 0 -628 171 0 593 69 +628 467 0 593 -3 Device 6 Plugin 1 -484 171 1 472 93 +484 467 1 472 21 Device 7 Plugin -1 -382 10 0 0 0 -1 17 Tutorial design 2 +382 306 0 0 0 +1 17 Tutorial design 3 Device 8 Plugin -1 -381 26 0 0 0 +381 322 0 0 0 1 19 A subtractive synth Device 9 Plugin -1 -170 176 0 0 0 +170 472 0 0 0 1 15 Note in signals Device 11 Plugin -1 -260 152 0 0 0 +260 448 0 0 0 1 15 Sound generator Device 12 Plugin -1 -263 304 0 0 0 +263 600 0 0 0 1 43 Generates the signal to control the filter. Device 13 Plugin -1 -377 235 0 0 0 +377 531 0 0 0 1 23 Filters the frequencies Device 14 Plugin -1 -389 249 0 0 0 +389 545 0 0 0 1 26 from the WaveTable plugin, Device 15 Plugin -1 -401 262 0 0 0 +401 558 0 0 0 1 32 the envelope passes the value to Device 16 Plugin -1 -420 275 0 0 0 +420 571 0 0 0 1 43 control the cutoff frequency of the filter. Device 17 Plugin -1 -332 50 0 0 0 +332 346 0 0 0 1 73 This synth uses what is known as subtractive synthesis to produce sounds. Device 19 Plugin -1 -333 65 0 0 0 +333 361 0 0 0 1 81 The heart of a subtractive synths is the filter, as it is what the filter removes Device 20 Plugin -1 -236 80 0 0 0 +236 376 0 0 0 1 32 that dictates the sound produced Device 21 Plugin -1 -348 95 0 0 0 +348 391 0 0 0 1 81 The waveshape the oscillator uses should contain as many frequencies as possible, Device 22 Plugin -1 -348 110 0 0 0 +348 406 0 0 0 1 86 (in this case a triangle wave) so that the filter has more of an effect on it's sound. Device 25 Plugin 6 -561 171 0 0 0 +561 467 0 0 0 Device 28 Plugin -1 -339 352 0 0 0 +339 648 0 0 0 1 79 This is how many of the first analogue synths worked, such as the moogs - hence Device 29 Plugin -1 -223 366 0 0 0 +223 662 0 0 0 1 32 the use of the moog filter here. Device 30 Plugin -1 -238 317 0 0 0 +238 613 0 0 0 1 29 Triggered by keypress events. +Device 31 Plugin 40 +177 499 0 200 -22 +0 + + 8 -1 1 0 0 0 0 -1 1 1 2 2 0 -2 2 0 3 3 1 -0 0 0 3 3 0 -3 3 0 6 5 0 -6 5 0 25 20 0 -25 20 0 4 4 0 -25 20 1 4 4 1 +2 1 0 3 2 1 +0 0 0 3 2 0 +3 2 0 6 4 0 +6 4 0 25 19 0 +25 19 0 4 3 0 +25 19 1 4 3 1 +31 23 0 0 0 0 +31 23 1 2 1 0 diff --git a/Examples/Tutorial4-AdditiveSynth.ssm b/Examples/Tutorial4-AdditiveSynth.ssm index 19cf878..b26f707 100644 --- a/Examples/Tutorial4-AdditiveSynth.ssm +++ b/Examples/Tutorial4-AdditiveSynth.ssm @@ -1,110 +1,105 @@ SpiralSynthModular File Ver 3 -401 127 724 420 402 579 724 420 +0 0 700 300 0 300 700 300 SectionList -20 +19 Device 0 Plugin 1 -495 175 1 477 128 +495 495 1 477 128 Device 1 Plugin 0 -629 174 0 100 100 +629 494 0 100 100 Device 2 Plugin 6 -562 175 0 0 0 +562 495 0 0 0 Device 3 Plugin 23 -219 175 1 95 14 +219 495 1 95 14 1 0 2 0.421244 1 Device 4 Plugin 23 -357 175 1 90 259 +357 495 1 90 259 1 0 -3 1 1 Device 5 Plugin 5 -289 165 1 143 134 +289 492 1 143 134 1 0 0.3249 0.96 1 1 0.01 Device 6 Plugin 5 -426 165 1 328 136 +426 485 1 328 136 1 0.0289 0.4624 0.26 1 0.5 0.01 -Device 7 Plugin 2 -149 175 0 100 100 -2 0 0 0 - - -Device 8 Plugin 6 -200 93 0 0 0 - - Device 9 Plugin -1 -362 11 0 0 0 +362 331 0 0 0 1 31 Tutorial 3 - Additive Synthesis Device 10 Plugin -1 -362 30 0 0 0 +362 350 0 0 0 1 94 Additive synthesis works on the principle of building up sounds by combining simpler elements. Device 11 Plugin -1 -357 44 0 0 0 +357 364 0 0 0 1 95 In this case, two oscillators are used, one modulating the pitch of the other. This is known as Device 14 Plugin -1 -284 241 0 0 0 +284 561 0 0 0 1 10 Envelope 1 Device 15 Plugin -1 -422 242 0 0 0 +422 562 0 0 0 1 10 Envelope 2 Device 16 Plugin -1 -347 324 0 0 0 +347 644 0 0 0 1 80 Envelope 1 controls the amount of modulation that the second ocillator recieves, Device 17 Plugin -1 -312 338 0 0 0 +312 658 0 0 0 1 60 The second envelope shapes the amplitude of the final sound. Device 18 Plugin -1 -212 58 0 0 0 +212 378 0 0 0 1 28 frequency modulation, or FM. Device 19 Plugin -1 -337 72 0 0 0 +337 392 0 0 0 1 84 The first digital synths used this technique, such as the DX range of Yamaha synths. Device 22 Plugin -1 -216 246 0 0 0 +216 566 0 0 0 1 12 Oscillator 1 Device 23 Plugin -1 -352 243 0 0 0 +352 563 0 0 0 1 12 Oscillator 2 -11 +Device 24 Plugin 40 +145 446 0 200 50 +0 + + +10 2 2 0 1 1 0 2 2 1 1 1 1 0 0 0 2 2 0 3 3 0 5 5 1 4 4 0 6 6 1 6 6 1 0 0 0 -7 7 1 8 8 0 -8 8 1 5 5 0 -8 8 0 6 6 0 -7 7 0 3 3 0 5 5 1 4 4 0 +24 18 0 3 3 0 +24 18 1 5 5 0 +24 18 1 6 6 0 diff --git a/Examples/Tutorial5-Matrix&Sampler.ssm b/Examples/Tutorial5-Matrix&Sampler.ssm deleted file mode 100644 index 4caf1e4..0000000 --- a/Examples/Tutorial5-Matrix&Sampler.ssm +++ /dev/null @@ -1,99 +0,0 @@ -SpiralSynthModular File Ver 3 -225 58 903 467 306 558 724 420 -SectionList -12 - -Device 1 Plugin 0 -556 127 0 100 100 - - -Device 2 Plugin 18 -230 98 1 86 49 -2 0 0.127474 17 1 0 -32 5.4 0 -0 0 2 0 4 0 6 0 8 0 10 0 12 0 14 0 16 0 18 0 20 0 22 0 24 0 26 0 28 0 30 0 4 1 12 1 20 1 28 1 0 2 8 2 16 2 24 2 -1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 - -Device 3 Plugin 16 -316 97 1 634 10 -2 1 1 4 None 0 -1 1 4 None 1 -1 1 4 None 2 -1 1 4 None 3 -1 1 4 None 4 -1 1 4 None 5 -1 1 4 None 6 -1 1 4 None 7 - - -Device 4 Plugin 6 -481 128 0 0 0 - - -Device 5 Plugin -1 -358 21 0 0 0 -1 31 Tutorial 4 - Matrix and Sampler - - -Device 6 Plugin -1 -364 36 0 0 0 -1 99 This design won't produce sound by itself, you'll have to load some samples into the sampler first. - - -Device 7 Plugin -1 -342 50 0 0 0 -1 83 Open the sampler plugin window and load up samples (wav format) from your hardrive. - - -Device 8 Plugin -1 -375 65 0 0 0 -1 105 Hihat for the first sample, kickdrum and snare for the others (not that it really matters what they are). - - -Device 9 Plugin -1 -386 311 0 0 0 -1 104 This represents a very common combination of plugins in ssm, the matrix and sampler. This design is used - - -Device 10 Plugin -1 -361 325 0 0 0 -1 92 mainly creating drum loops. Open the matrix and change the trigger notes to change the beat. - - -Device 11 Plugin -1 -395 339 0 0 0 -1 108 If you move your mouse over the two columns of ports on the matrix and sampler, you'll see that the triggers - - -Device 12 Plugin -1 -256 353 0 0 0 -1 49 are connected up to fire the samples off. Simple! - - -11 -4 3 0 1 0 0 -4 3 1 1 0 1 -3 2 0 4 3 0 -2 1 2 3 2 1 -2 1 3 3 2 3 -2 1 4 3 2 5 -2 1 5 3 2 7 -2 1 6 3 2 9 -2 1 7 3 2 11 -2 1 8 3 2 13 -2 1 9 3 2 15 - diff --git a/Examples/Tutorial5-MatrixSampler.ssm b/Examples/Tutorial5-MatrixSampler.ssm new file mode 100644 index 0000000..a4d44ab --- /dev/null +++ b/Examples/Tutorial5-MatrixSampler.ssm @@ -0,0 +1,76 @@ +SpiralSynthModular File Ver 3 +0 0 700 300 0 300 700 300 +SectionList +9 + +Device 1 Plugin 0 +543 318 0 100 94 + + +Device 2 Plugin 18 +216 339 1 78 228 +3 0 0.0807003 55 1 0 +64 8.5 0 +0 0 1 2 0 1 8 0 1 16 0 1 18 0 1 24 0 1 32 0 1 34 0 1 40 0 1 48 0 1 50 0 1 56 0 1 0 1 1 2 1 1 3 1 1 6 1 1 7 1 1 10 1 1 11 1 1 14 1 1 15 1 1 18 1 1 19 1 1 22 1 1 23 1 1 26 1 1 27 1 1 30 1 1 31 1 1 34 1 1 35 1 1 38 1 1 39 1 1 42 1 1 43 1 1 46 1 1 47 1 1 50 1 1 51 1 1 54 1 1 55 1 1 58 1 1 59 1 1 62 1 1 63 1 1 2 2 1 6 2 1 10 2 1 14 2 1 18 2 1 22 2 1 26 2 1 30 2 1 34 2 1 38 2 1 42 2 1 46 2 1 50 2 1 54 2 1 58 2 1 62 2 1 4 3 1 12 3 1 20 3 1 28 3 1 36 3 1 44 3 1 47 3 0.666667 50 3 0.333333 52 3 1 53 3 0.180392 55 3 0.639216 58 3 0.333333 59 3 1 61 3 0.564706 -1 32 1 0 +-1 32 1 0 +-1 32 1 0 +-1 32 1 0 +-1 32 1 0 +-1 32 1 0 +-1 32 1 0 +-1 32 1 0 +-1 32 1 0 +-1 32 1 0 +-1 32 1 0 +-1 32 1 0 +-1 32 1 0 +-1 32 1 0 +-1 32 1 0 +-1 + +Device 3 Plugin 32 +317 324 1 79 9 +3 2 1 0 0 0 0 -1 0 0 12448 0 0.982 1 0 0 1 1 -1 0 0 1751 1 0.571 1.07 0 0 2 1 -1 0 0 7272 2 1.568 1 0 0 3 1 7118 0 0 8225 3 1 1 0 0 4 0 -1 0 0 2147483647 4 1 1 0 0 5 0 -1 0 0 2147483647 5 1 1 0 0 6 0 -1 0 0 2147483647 6 1 1 0 0 7 0 -1 0 0 2147483647 7 + +Device 8 Plugin -1 +470 391 0 0 0 +1 10 Tutorial 5 + + +Device 9 Plugin -1 +466 409 0 0 0 +1 48 Using samples to build drumloops with the matrix + + +Device 10 Plugin -1 +464 424 0 0 0 +1 46 Each row of the matrix corresponds to a sample + + +Device 11 Plugin -1 +477 439 0 0 0 +1 52 This also shows how you can use volumes to fake echo + + +Device 14 Plugin -1 +472 456 0 0 0 +1 54 The samples are really small to cut down distro size - + + +Device 15 Plugin -1 +399 471 0 0 0 +1 19 try using your own. + + +10 +2 1 2 3 2 1 +2 1 3 3 2 3 +2 1 4 3 2 5 +2 1 5 3 2 7 +2 1 6 3 2 9 +2 1 7 3 2 11 +2 1 8 3 2 13 +2 1 9 3 2 15 +3 2 0 1 0 0 +3 2 0 1 0 1 + diff --git a/Examples/Tutorial5-MatrixSampler.ssm_files/PoshSampler3_0.wav b/Examples/Tutorial5-MatrixSampler.ssm_files/PoshSampler3_0.wav new file mode 100644 index 0000000..871d38f Binary files /dev/null and b/Examples/Tutorial5-MatrixSampler.ssm_files/PoshSampler3_0.wav differ diff --git a/Examples/Tutorial5-MatrixSampler.ssm_files/PoshSampler3_1.wav b/Examples/Tutorial5-MatrixSampler.ssm_files/PoshSampler3_1.wav new file mode 100644 index 0000000..f474957 Binary files /dev/null and b/Examples/Tutorial5-MatrixSampler.ssm_files/PoshSampler3_1.wav differ diff --git a/Examples/Tutorial5-MatrixSampler.ssm_files/PoshSampler3_2.wav b/Examples/Tutorial5-MatrixSampler.ssm_files/PoshSampler3_2.wav new file mode 100644 index 0000000..5c3aff1 Binary files /dev/null and b/Examples/Tutorial5-MatrixSampler.ssm_files/PoshSampler3_2.wav differ diff --git a/Examples/Tutorial5-MatrixSampler.ssm_files/PoshSampler3_3.wav b/Examples/Tutorial5-MatrixSampler.ssm_files/PoshSampler3_3.wav new file mode 100644 index 0000000..c8bf39a Binary files /dev/null and b/Examples/Tutorial5-MatrixSampler.ssm_files/PoshSampler3_3.wav differ diff --git a/Examples/Tutorial7-LADSPA.ssm b/Examples/Tutorial7-LADSPA.ssm index a2467c6..08165d3 100644 --- a/Examples/Tutorial7-LADSPA.ssm +++ b/Examples/Tutorial7-LADSPA.ssm @@ -1,125 +1,59 @@ SpiralSynthModular File Ver 3 -291 68 724 461 289 564 724 420 +0 0 700 300 0 300 700 300 SectionList -19 +10 Device 0 Plugin 23 -279 186 1 100 100 -1 3 1 1 1 - -Device 1 Plugin 2 -160 215 0 100 100 -2 0 0 0 - +243 432 1 99 11 +1 3 0 1 1 Device 2 Plugin 5 -280 251 1 481 220 -1 0.0036 0.3844 0 0.1156 0.5 0.01 +244 500 1 485 13 +1 0.0289 0.16 0.08 1.0404 0.58 0.01 Device 3 Plugin 13 -347 187 1 350 100 -1 0.3208 0.26683 +359 433 1 349 12 +1 0 0.37137 Device 4 Plugin 0 -638 187 0 100 100 - - -Device 25 Plugin 6 -487 157 0 0 0 - - -Device 31 Plugin 6 -212 144 0 0 0 - - -Device 32 Plugin 5 -413 144 1 482 101 -1 0 0.0784 1 0.2601 0.43 0.01 - -Device 33 Plugin 22 -571 187 0 415 148 -2 0.714 /usr/local/lib/ladspa/cmt.so freeverb3 8 -1 -1 -1 0 0 0 0 0 1 1 1 1 1 1 1 1 - -Device 34 Plugin 3 -435 245 1 95 215 -3 6 -0.06 0.78 -0.52 0.5 0.22 0.82 1 -6 -6 -Freeze -1 1 0.53 -4 -Room -1 1 0.11 -4 -Damp -1 1 0.76 -3 -Wet -1 1 0.25 -3 -Dry -1 1 0.39 -5 -Width -1 1 0.09 - - -Device 35 Plugin -1 -374 13 0 0 0 -1 33 Tutorial 6 - Using LADSPA Plugins - - -Device 36 Plugin -1 -375 29 0 0 0 -1 71 If you have LADSPA installed, the plugins should be fully connected up. - - -Device 37 Plugin -1 -377 43 0 0 0 -1 36 If not, then this won't work at all. - +575 412 0 593 -19 -Device 38 Plugin -1 -566 171 0 0 0 -1 10 (FreeVerb) +Device 7 Plugin -1 +358 303 0 0 0 +1 10 Tutorial 7 -Device 40 Plugin -1 -370 72 0 0 0 -1 82 This shows you how you can set up the CV slider plugin to control a LADSPA plugin. +Device 8 Plugin -1 +358 320 0 0 0 +1 37 The subtractive synth from tutorial 3 -Device 41 Plugin -1 -380 86 0 0 0 -1 91 It's handy to name the sliders according to what they are controlling. Also important is to +Device 31 Plugin 40 +157 465 0 200 -38 +0 -Device 42 Plugin -1 -385 99 0 0 0 -1 92 tweak the input scales so the plugin behaves correctly. Most plugins set these automatically +Device 32 Plugin 22 +472 410 1 119 124 +8 0 1 1216 8 1 0.1 0 0 -70 -70 -70 -1 300 360 1 1 0 0 0 1 1 1 1 1 1 1 1 1 121.497 90.075 0.81 0.719 -16.38 0 -3.92 0.000776224 -Device 43 Plugin -1 -277 113 0 0 0 -1 45 as this one does, but you have to be careful. +Device 33 Plugin -1 +361 336 0 0 0 +1 35 with a LADSPA reverb effect plugin. -Device 44 Plugin -1 -387 356 0 0 0 -1 112 Open the LADSPA plugin to load other plugins. When a new plugin is selected, all the connections will be broken. +Device 34 Plugin -1 +363 357 0 0 0 +1 65 This won't do much exiting if you don't have LADSPA installed. :) -18 -1 1 0 0 0 0 -2 2 0 3 3 1 -0 0 0 3 3 0 -1 1 1 31 6 0 -3 3 0 32 7 1 -31 6 0 32 7 0 -31 6 1 2 2 0 -34 9 0 33 8 2 -34 9 1 33 8 3 -34 9 2 33 8 4 -34 9 3 33 8 5 -34 9 4 33 8 6 -34 9 5 33 8 7 -33 8 0 4 4 0 -33 8 1 4 4 1 -25 5 0 33 8 0 -25 5 1 33 8 1 -32 7 1 25 5 0 +7 +2 1 0 3 2 1 +0 0 0 3 2 0 +31 6 0 0 0 0 +31 6 1 2 1 0 +3 2 0 32 7 7 +32 7 0 4 3 0 +32 7 1 4 3 1 diff --git a/Examples/Tutorial8-AdvSequencing.ssm b/Examples/Tutorial8-AdvSequencing.ssm deleted file mode 100644 index 61e5002..0000000 --- a/Examples/Tutorial8-AdvSequencing.ssm +++ /dev/null @@ -1,324 +0,0 @@ -SpiralSynthModular File Ver 3 -24 32 1244 544 19 534 1248 481 -SectionList -48 - -Device 3 Plugin 0 -1092 304 0 265 123 - - -Device 5 Plugin 5 -792 123 1 763 66 -1 0 0.0529 1 0.16 0.5 0.01 - -Device 7 Plugin 8 -1024 304 0 265 123 -1 1.52 0.5 1.01 0.5 1.3 0.5 1 0.5 - -Device 9 Plugin 14 -927 124 1 1031 63 -1 0.321 0.5 - -Device 12 Plugin 13 -859 124 1 907 65 -1 0.2642 0.21074 - -Device 13 Plugin 18 -445 124 0 265 123 -2 0 0.0976591 6 1 0 -32 6 5 -16 0 20 0 21 0 24 0 28 0 0 2 1 2 4 2 5 2 8 2 12 2 17 5 19 5 27 5 29 5 18 12 22 12 23 12 26 12 30 12 2 14 3 14 6 14 10 14 14 14 -1 32 6 5 -20 0 22 0 24 0 26 0 28 0 30 0 0 2 2 2 4 2 6 2 8 2 10 2 12 2 14 2 16 2 18 2 17 7 25 12 7 14 15 14 -1 32 6 5 -6 0 8 0 10 0 0 2 30 2 2 4 28 4 18 5 4 7 26 7 12 14 16 14 20 14 22 14 24 14 -1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 - -Device 17 Plugin 6 -589 123 0 0 0 - - -Device 20 Plugin 23 -654 95 1 513 14 -1 2 0 1.01382 1 - -Device 21 Plugin 23 -653 164 1 513 129 -1 2 0 0.992295 1 - -Device 22 Plugin 7 -724 124 0 265 123 -1 1 1 1 1 - -Device 23 Plugin 21 -366 183 0 265 123 -1 8 0 1 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0 0 -1 0 0 0 0 0 2 0 -1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 -1 0 0 0 0 0 1 0 -1 0 0 0 0 0 2 0 -1 0 0 0 0 0 - -Device 24 Plugin 18 -294 174 0 265 123 -2 0 0.0976591 6 1 0 -32 6 0 -31 0 -1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 - -Device 25 Plugin 23 -591 298 1 95 220 -1 2 1 1.00361 1 - -Device 26 Plugin 23 -590 362 1 95 333 -1 2 -1 1 1 - -Device 27 Plugin 6 -519 325 0 0 0 - - -Device 28 Plugin 7 -664 325 0 265 123 -1 1 1 1 1 - -Device 30 Plugin 13 -832 309 1 489 278 -1 0.4528 0.35798 - -Device 31 Plugin 5 -732 325 1 343 278 -1 0 0 1 0.2025 0.5 0.01 - -Device 32 Plugin 18 -450 325 0 265 123 -2 1 0.0860509 6 1 0 -32 6 3 -4 0 8 0 9 0 10 0 14 0 22 0 23 0 24 0 25 0 26 0 0 2 1 2 2 2 12 2 16 2 17 2 20 2 18 5 30 9 -1 32 6 3 -14 0 22 0 23 0 24 0 25 0 26 0 2 2 6 2 10 2 16 2 17 2 20 2 30 2 18 5 -1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 32 1 0 --1 - -Device 33 Plugin 23 -732 391 0 265 123 -1 0 0 0.00163394 1 - -Device 34 Plugin 9 -802 391 0 265 123 -1 0.2642 0 - -Device 35 Plugin 23 -755 497 1 762 241 -1 2 0 1 1 - -Device 36 Plugin 20 -689 497 0 265 123 -1 0.16 0.17 - -Device 37 Plugin 17 -617 516 0 149 229 -2 7.05675 16.45 1 0 0 0 EventMap 1 2 0 10 50 1 16.45 352 0 100 8 10 4.04 74 0.2 1 5.3 77 0.4 1 6.86 79 -6.86 1 0.74 77 0.14 1 1.12 74 0.14 1 2.24 72 0.2 1 3 74 0.2 1 8.92 60 0.2 1 11.8 65 0.3 1 12.92 62 0.14 1 - EventMap 1 1 0 10 100 1 2 0 0 100 8 0 - EventMap 1 1 0 10 100 1 2 0 0 100 8 0 - EventMap 1 1 0 10 100 1 2 0 0 100 8 0 - EventMap 1 1 0 10 100 1 2 0 0 100 8 0 - EventMap 1 1 0 10 100 1 2 0 0 100 8 0 - EventMap 1 1 0 10 100 1 2 0 0 100 8 0 - EventMap 1 1 0 10 100 1 2 0 0 100 8 0 - EventMap 1 1 0 10 100 1 2 0 0 100 8 0 - EventMap 1 1 0 10 100 1 2 0 0 100 8 0 - EventMap 1 1 0 10 100 1 2 0 0 100 8 0 - EventMap 1 1 0 10 100 1 2 0 0 100 8 0 - EventMap 1 1 0 10 100 1 2 0 0 100 8 0 - EventMap 1 1 0 10 100 1 2 0 0 100 8 0 - EventMap 1 1 0 10 100 1 2 0 0 100 8 0 - EventMap 1 1 0 10 100 1 2 0 0 100 8 0 - - -Device 38 Plugin 2 -546 539 0 265 123 -2 0 0 0 - - -Device 39 Plugin 5 -824 492 1 1015 352 -1 0.0784 0.0289 0.66 1.2769 0.28 0.01 - -Device 40 Plugin 11 -893 506 1 839 355 -1 1893.56 3.7 0 0 - -Device 41 Plugin -1 -637 22 0 0 0 -1 32 Tutorial 8 - Advanced Sequencing - - -Device 42 Plugin -1 -638 37 0 0 0 -1 59 This design shows you how to use sequencers to build songs. - - -Device 43 Plugin -1 -633 47 0 0 0 -1 59 Once the oscillators have settled onto the right frequency, - - -Device 44 Plugin -1 -641 58 0 0 0 -1 49 you should hear three patterns, playing together. - - -Device 45 Plugin -1 -302 123 0 0 0 -1 45 The SeqSelector is the main controlling part. - - -Device 46 Plugin -1 -286 138 0 0 0 -1 51 It tells the sequencers what part to play and when. - - -Device 47 Plugin -1 -298 375 0 0 0 -1 35 This matrix acts as the main clock. - - -Device 48 Plugin -1 -306 386 0 0 0 -1 39 It's one event triggers the seqselector - - -Device 49 Plugin -1 -305 397 0 0 0 -1 22 to move on a pattern. - - -Device 50 Plugin -1 -690 634 0 0 0 -1 39 This part was recorded from midi notes. - - -Device 51 Plugin -1 -695 646 0 0 0 -1 83 You can see them, if you open the Sequencer plugin window, and scroll around a bit. - - -Device 52 Plugin -1 -728 257 0 0 0 -1 92 Open the SeqSelector to see the patterns it's sending to the two matrixes and the sequencer. - - -Device 53 Plugin -1 -698 656 0 0 0 -1 77 The midi plugin is still connected, so it'll still record any incoming notes. - - -Device 55 Plugin -1 -637 69 0 0 0 -1 54 (The sequencer also takes some time to get in rhythm.) - - -Device 56 Plugin 7 -519 112 0 265 123 -1 0.46 1 1 1 - -Device 57 Plugin 23 -318 51 1 264 13 -1 0 -1 1.3716 1 - -Device 58 Plugin 9 -453 51 0 265 123 -1 -0.0377 0 - -Device 59 Plugin 9 -385 51 0 265 123 -1 0.0377 0 - -Device 60 Plugin 5 -824 559 1 1013 238 -1 0.1156 0.2025 1 1 0.23 0.01 - -Device 61 Plugin 6 -691 561 0 0 0 - - -Device 62 Plugin 14 -960 447 0 265 123 -1 0.415 0.58 - -43 -7 2 0 3 0 0 -7 2 1 3 0 1 -9 3 0 7 2 0 -13 5 1 5 1 0 -17 6 0 20 7 0 -17 6 1 21 8 0 -21 8 0 22 9 1 -20 7 0 22 9 0 -24 11 1 23 10 0 -23 10 0 13 5 0 -23 10 1 32 18 0 -32 18 0 27 14 0 -27 14 0 25 12 0 -27 14 1 26 13 0 -25 12 0 28 15 0 -26 13 0 28 15 1 -32 18 1 31 17 0 -28 15 0 31 17 1 -31 17 1 30 16 0 -30 16 0 7 2 1 -33 19 0 34 20 0 -34 20 0 30 16 1 -36 22 0 35 21 0 -38 24 0 37 23 2 -38 24 1 37 23 3 -37 23 0 36 22 0 -23 10 2 37 23 0 -35 21 0 39 25 1 -39 25 1 40 26 0 -22 9 0 5 1 1 -5 1 1 12 4 0 -12 4 0 9 3 0 -58 43 0 56 41 0 -13 5 0 56 41 1 -56 41 0 17 6 0 -57 42 0 59 44 0 -59 44 0 58 43 0 -37 23 1 61 46 0 -61 46 0 39 25 0 -61 46 1 60 45 0 -60 45 0 40 26 1 -40 26 0 62 47 0 -62 47 0 7 2 2 - diff --git a/Examples/soil_and_the_crop.ssm b/Examples/soil_and_the_crop.ssm new file mode 100644 index 0000000..ebd834e --- /dev/null +++ b/Examples/soil_and_the_crop.ssm @@ -0,0 +1,392 @@ +SpiralSynthModular File Ver 3 +0 0 700 300 0 300 700 300 +SectionList +74 + +Device 1 Plugin 23 +282 556 1 86 144 +1 1 0 0.0314069 1 + +Device 2 Plugin 51 +599 463 0 0 0 + + +Device 4 Plugin 23 +601 330 1 553 17 +1 0 0 0.0133213 1 + +Device 5 Plugin 5 +667 330 1 801 17 +1 0.0121 0.2601 0 1 1 0.02 + +Device 6 Plugin 0 +1349 597 0 993 435 + + +Device 7 Plugin 4 +610 530 0 452 441 +1 3 0 1 0.5 0 0 1 + +Device 8 Plugin 5 +676 528 1 802 358 +1 0 0.0289 0 1 0.5 0.01 + +Device 9 Plugin 8 +824 396 0 735 509 +1 2 0.5 0.6 0.5 1.45 0.5 1.37 0.5 + +Device 16 Plugin 4 +534 464 0 432 542 +1 3 0 1 0.49 0 0.4906 1 + +Device 17 Plugin 4 +469 398 0 452 441 +1 3 0 1 0.5 0 0.03125 1 + +Device 18 Plugin 51 +538 395 0 0 0 + + +Device 19 Plugin 4 +605 397 0 452 441 +1 3 0 1 0.5 0 0 1 + +Device 20 Plugin 5 +671 395 1 801 131 +1 0 0.16 0 1.4161 0.6 0.01 + +Device 21 Plugin 5 +535 330 1 408 18 +1 0.0036 0.0289 0 0.0529 0.96 0.01 + +Device 22 Plugin 5 +667 463 1 676 242 +1 0 0.16 0 0 0.89 0.01 + +Device 23 Plugin 4 +465 466 0 452 441 +1 3 0 1 0.5 0 0 1 + +Device 24 Plugin 51 +463 330 0 0 0 + + +Device 25 Plugin 11 +739 466 1 823 244 +1 3004.28 3.4 0 0 + +Device 26 Plugin 4 +394 328 0 447 565 +1 3 0 1 0.5 0 1.45626e-38 1 + +Device 28 Plugin 14 +905 397 1 969 199 +1 0.453 0.25 + +Device 29 Plugin 1 +1278 552 1 97 7 + + +Device 30 Plugin 23 +787 622 1 431 511 +1 2 -2 1 1 + +Device 31 Plugin 5 +720 622 1 680 511 +1 0 0.16 0.23 1 0.15 0.01 + +Device 32 Plugin 7 +1210 601 1 1243 524 +1 0.89 0.89 0.12 1.4 + +Device 33 Plugin 4 +385 713 0 452 441 +1 3 0 1 0.5 0 0 1 + +Device 34 Plugin 51 +523 710 0 0 0 + + +Device 35 Plugin 9 +652 710 0 360 609 +1 0.8679 0.9434 + +Device 36 Plugin 13 +853 622 1 827 510 +1 0 0.34807 + +Device 37 Plugin 23 +738 689 0 686 525 +1 0 -3 0.0298993 1 + +Device 38 Plugin 23 +806 688 0 487 534 +1 1 -3 0.000549012 1 + +Device 40 Plugin 9 +923 619 0 698 658 +1 0.0377 0 + +Device 44 Plugin 24 +457 709 0 0 0 + + +Device 47 Plugin 9 +588 710 0 430 401 +1 0.0377 0 + +Device 56 Plugin 23 +755 1026 1 242 963 +1 0 -1 0.842148 1 + +Device 57 Plugin 23 +950 1025 1 644 963 +1 0 3 0.0152308 1 + +Device 58 Plugin 5 +819 1026 1 496 963 +1 1.1664 2.89 1 1 1 0.01 + +Device 59 Plugin 4 +558 1023 0 452 799 +1 3 0 1 0.5 0 0 1 + +Device 61 Plugin 51 +626 1024 0 0 0 + + +Device 62 Plugin 5 +1017 1021 1 894 963 +1 2.3409 4.3681 0.17 4.8841 0.81 0.01 + +Device 64 Plugin 20 +691 1025 0 452 799 +1 0.5 0.5 + +Device 65 Plugin 51 +688 961 0 0 0 + + +Device 66 Plugin 23 +626 959 0 679 953 +1 0 0 1 1 + +Device 67 Plugin 1 +752 962 0 641 859 + + +Device 70 Plugin 7 +885 1024 0 831 859 +1 0.07 0.96 1 1 + +Device 71 Plugin 14 +1083 1018 1 1038 963 +1 0.17 0.71 + +Device 74 Plugin 4 +680 793 0 910 712 +1 3 0 1 0.91 0 2.98023e-09 1 + +Device 75 Plugin 5 +1012 797 1 839 715 +1 0 0.7225 0.94 4.6225 0.58 0.01 + +Device 80 Plugin 51 +747 794 0 0 0 + + +Device 81 Plugin 13 +948 796 1 718 716 +1 0.0566 0.2322 + +Device 83 Plugin 5 +881 789 1 575 716 +1 0 0.4624 0.06 9 0.75 0.74 + +Device 85 Plugin 7 +884 855 0 758 613 +1 1 1 1 1 + +Device 86 Plugin 14 +1077 795 1 983 715 +1 0.906 0.39 + +Device 87 Plugin 20 +872 685 0 663 632 +1 0.5 0.5 + +Device 88 Plugin 23 +814 793 1 328 666 +1 2 -1 1 1 + +Device 89 Plugin 23 +817 856 1 328 778 +1 2 -1 1.00333 1 + +Device 90 Plugin 15 +1282 643 0 746 628 +1 0 0.4 + +Device 93 Plugin -1 +164 314 0 0 0 +1 17 Soil and the crop + + +Device 94 Plugin -1 +194 329 0 0 0 +1 10 by nebogeo + + +Device 95 Plugin -1 +228 356 0 0 0 +1 47 Constantly changing random music, you'll either + + +Device 96 Plugin -1 +177 369 0 0 0 +1 27 love the idea or hate it... + + +Device 97 Plugin -1 +214 384 0 0 0 +1 44 The only certain thing is that it won't play + + +Device 98 Plugin -1 +169 397 0 0 0 +1 21 the same thing twice. + + +Device 99 Plugin -1 +523 302 0 0 0 +1 20 Percussion generator + + +Device 100 Plugin -1 +726 341 0 0 0 +1 9 Bass drum + + +Device 101 Plugin -1 +719 407 0 0 0 +1 7 Snare 1 + + +Device 102 Plugin -1 +747 450 0 0 0 +1 7 Snare 2 + + +Device 103 Plugin -1 +724 548 0 0 0 +1 6 Hi hat + + +Device 104 Plugin -1 +502 692 0 0 0 +1 49 Pitch generation, the bass and "lead" share this. + + +Device 105 Plugin -1 +438 629 0 0 0 +1 42 Changes of note occur on bass drum hits -> + + +Device 106 Plugin -1 +800 605 0 0 0 +1 4 Bass + + +Device 107 Plugin -1 +851 771 0 0 0 +1 11 Lead melody + + +Device 108 Plugin -1 +698 942 0 0 0 +1 49 Strange BG noises made with a bit of FM synthesis + + +Device 109 Plugin -1 +609 875 0 0 0 +1 47 <- gives the BG noises a bit of matching rhythm + + +Device 110 Plugin -1 +278 534 0 0 0 +1 23 Master clock oscillator + + +71 +1 0 0 2 1 1 +4 2 0 5 3 1 +5 3 1 9 7 0 +8 6 1 9 7 1 +7 5 0 8 6 1 +1 0 0 8 6 0 +16 8 0 2 1 0 +20 12 1 9 7 2 +19 11 0 20 12 1 +18 10 0 20 12 0 +17 9 0 18 10 0 +1 0 0 18 10 1 +21 13 0 4 2 0 +22 14 1 25 17 0 +25 17 0 9 7 3 +23 15 0 22 14 1 +26 18 0 24 16 0 +1 0 0 24 16 1 +22 14 0 25 17 1 +24 16 0 5 3 0 +24 16 0 21 13 0 +2 1 0 22 14 0 +9 7 0 28 19 0 +35 26 0 30 21 0 +28 19 0 32 23 1 +32 23 0 29 20 0 +31 22 0 36 27 1 +30 21 0 36 27 0 +37 28 0 38 29 0 +36 27 0 40 30 0 +1 0 0 31 22 0 +5 3 0 34 25 1 +44 31 0 34 25 0 +33 24 0 44 31 0 +34 25 0 47 32 0 +47 32 0 35 26 0 +56 33 0 58 35 1 +59 36 0 61 37 0 +61 37 0 64 39 0 +64 39 0 56 33 0 +57 34 0 62 38 1 +61 37 0 65 40 1 +66 41 0 65 40 0 +65 40 0 67 42 0 +67 42 0 58 35 0 +67 42 0 62 38 0 +1 0 0 61 37 1 +58 35 1 70 43 1 +70 43 0 57 34 0 +64 39 0 70 43 0 +29 20 0 6 4 0 +62 38 1 71 44 0 +71 44 0 32 23 2 +80 47 0 75 46 0 +74 45 0 80 47 0 +1 0 0 80 47 1 +80 47 0 83 49 0 +85 50 0 81 48 0 +81 48 0 75 46 1 +75 46 1 86 51 0 +86 51 0 32 23 0 +40 30 0 32 23 3 +38 29 0 87 52 0 +87 52 0 40 30 1 +89 54 0 85 50 1 +88 53 0 85 50 0 +35 26 0 89 54 0 +35 26 0 88 53 0 +90 55 0 6 4 1 +32 23 0 90 55 0 +83 49 0 81 48 1 + diff --git a/README b/README index 1ececf4..9ebc962 100644 --- a/README +++ b/README @@ -5,10 +5,12 @@ Last changed Saturday March 23 2002. SpiralSynthModular is open source software, distributed under the General Public License (GPL). See the file COPYING. -It uses the OSS /dev/dsp driver, (although this is configurable) and the GUI -it uses is FLTK (www.fltk.org). +Dependancies: +FLTK (www.fltk.org) -See www.pawfal.org for more details. +Sound output can be provided by either OSS or JACK (and therefore alsa). + +See www.pawfal.org or sourceforge.net/projects/spiralmodular for more details. ** Installing ** @@ -17,17 +19,22 @@ To build the SpiralSynthModular application, and all the plugins: ./configure make make install +spiralsynthmodular Check out the designs in the Examples directory. +For more examples be sure to check out the noize farm +(http://groups.yahoo.com/group/noize_farm) an open source repository of +ssm patches. -The GUI requires FLTK to be installed (www.fltk.org), Which in turn -require Mesa or OpenGL. +options list +-h : help +-v : print version +--NoGUI : run without GUI (only useful when loading patch from command line +--Realtime : spawn audio thread with FIFO scheduling (run as root) +--PluginPath : look for plugins in the specified directory *** Jack support *** -This release of SSM comes with an experimental JackPlugin. JACK stands for -Jack Audio Connection Kit and aims to connect Linux audio apps together. -For more information on Jack, and other apps supporting it, see: http://jackit.sourceforge.net To build the JackPlugin, use the configure option: @@ -38,8 +45,7 @@ To load the plugin, add it to .SpiralSynthModular's plugin list. *** Setting up your .SpiralSynthModular file *** This file contains all the setup variables for the program. Thes values can be -edited with the options window whilst running SSM, but they will default to the -values in the file. +edited with the options window whilst running SSM. The following variables in the are the ones to play with to get a good playback on your machine. This is usually tradeoff between quality and responsiveness (latency). You can build designs and songs at low quality (22050 samplerate etc) @@ -59,5 +65,19 @@ for any purpose. This software is provided "as is" without express or implied warranty. (Damage to ears, speakers or buildings are not my fault :)) +Contributors of code large and small (in no particular order): +Yves Usson +Erik de Castro Lopo +Takashi Iwai +Nicolas Noble +Dr Bill Bland +Dan "Pawfal" Bethell +Fade of pawfal fame +Andy Preston +Mike Rawes +Joe Jones +Patrick Shirkey +Paul Davis + Dave Griffiths - dave@pawfal.org www.pawfal.org diff --git a/SpiralSynthModular.C b/SpiralSynthModular.C index 3ed5da2..0fb2c69 100644 --- a/SpiralSynthModular.C +++ b/SpiralSynthModular.C @@ -40,7 +40,7 @@ #include "GUI/Widgets/PawfalYesNo.h" //#define DEBUG_PLUGINS -#define DEBUG_STREAM +//#define DEBUG_STREAM const static string LABEL = "SpiralSynthModular "+VER_STRING; static string TITLEBAR; @@ -262,7 +262,7 @@ SpiralWindowType *SynthModular::CreateWindow() Fl_Pixmap *tPix = new Fl_Pixmap(load_xpm); m_Load->image(tPix->copy(tPix->w(),tPix->h())); m_Load->selection_color(SpiralSynthModularInfo::GUICOL_Tool); - m_Load->tooltip("Load a design file"); + m_Load->tooltip("Load a patch file"); m_Load->callback((Fl_Callback*)cb_Load); m_MainButtons->add(m_Load); n++; @@ -273,7 +273,7 @@ SpiralWindowType *SynthModular::CreateWindow() m_Save->image(tPix->copy(tPix->w(),tPix->h())); delete tPix; m_Save->selection_color(SpiralSynthModularInfo::GUICOL_Tool); - m_Save->tooltip("Save a design file"); + m_Save->tooltip("Save a patch file"); m_Save->callback((Fl_Callback*)cb_Save); m_MainButtons->add(m_Save); n++; @@ -284,7 +284,7 @@ SpiralWindowType *SynthModular::CreateWindow() m_New->image(tPix->copy(tPix->w(),tPix->h())); delete tPix; m_New->selection_color(SpiralSynthModularInfo::GUICOL_Tool); - m_New->tooltip("New design"); + m_New->tooltip("New patch"); m_New->callback((Fl_Callback*)cb_New); m_MainButtons->add(m_New); n++; @@ -649,8 +649,13 @@ void SynthModular::AddComment(int n) void SynthModular::UpdateHostInfo() { - std::stringstream str; - str<<*this; + // used to use string streams, but this seems to cause a compiler bug + // at the moment, so fall back to using a temporary file + + //std::stringstream str; + fstream ofs("___temp.ssmtmp",ios::out); + //str<<*this; + ofs<<*this; ClearUp(); @@ -663,7 +668,12 @@ void SynthModular::UpdateHostInfo() m_Info.MIDIFILE = SpiralInfo::MIDIFILE; m_Info.POLY = SpiralInfo::POLY; - str>>*this; + fstream ifs("___temp.ssmtmp",ios::in); + //str>>*this; + ifs>>*this; + + system("rm -f ___temp.ssmtmp"); + } ////////////////////////////////////////////////////////// @@ -901,12 +911,12 @@ void SynthModular::cb_Close(Fl_Window* o, void* v) inline void SynthModular::cb_Load_i(Fl_Button* o, void* v) { - if (m_DeviceWinMap.size()>0 && !Pawfal_YesNo("Load - Loose changes to current design?")) + if (m_DeviceWinMap.size()>0 && !Pawfal_YesNo("Load - Lose changes to current patch?")) { return; } - char *fn=fl_file_chooser("Load a design", "*.ssm", NULL); + char *fn=fl_file_chooser("Load a patch", "*.ssm", NULL); if (fn && fn!='\0') { @@ -932,7 +942,7 @@ void SynthModular::cb_Load(Fl_Button* o, void* v) inline void SynthModular::cb_Save_i(Fl_Button* o, void* v) { - char *fn=fl_file_chooser("Save a design", "*.ssm", NULL); + char *fn=fl_file_chooser("Save a patch", "*.ssm", NULL); if (fn && fn!='\0') { @@ -965,7 +975,7 @@ void SynthModular::cb_Save(Fl_Button* o, void* v) inline void SynthModular::cb_New_i(Fl_Button* o, void* v) { - if (m_DeviceWinMap.size()>0 && !Pawfal_YesNo("New - Loose changes to current design?")) + if (m_DeviceWinMap.size()>0 && !Pawfal_YesNo("New - Lose changes to current patch?")) { return; } diff --git a/SpiralSynthModularInfo.C b/SpiralSynthModularInfo.C index a54736c..90d1ca1 100644 --- a/SpiralSynthModularInfo.C +++ b/SpiralSynthModularInfo.C @@ -23,7 +23,7 @@ string SpiralInfo::LOCALE = "EN"; int SpiralInfo::BUFSIZE = 512; int SpiralInfo::FRAGSIZE = 256; -int SpiralInfo::FRAGCOUNT = -1; +int SpiralInfo::FRAGCOUNT = 8; int SpiralInfo::SAMPLERATE = 44100; long SpiralInfo::MAXSAMPLE = 32767; float SpiralInfo::VALUECONV = 1.0f/MAXSAMPLE;