josbouten / Sculpt-O-Sound

audio tools
Other
12 stars 3 forks source link

Additional V1 migration and performance updates #5

Closed netboy3 closed 4 years ago

netboy3 commented 4 years ago

Hi Jos,

As promised, I've cleaned up the codebase to build properly on V1. I also re-wrote the matrix button widget (which was completely broken on this branch) to be event based instead of scanning all 1000 instances. This was a major performance upgrade (on my system CPU meter went from 8.5% to 2.5%). I also fixed some coding issues and converted SynthDevKit to be a submodule. IMPORTANT!! as SynthDevKit is now a submodule, you must follow the standard module build process and do a: "git submodule update --init --recursive" to bring the actual code from GitHub.

josbouten commented 4 years ago

Dear, dear, dear Netboy3

thank you so very much !

You are most kind to help me with the upgrade.

I will study your code thoroughly and I am certain I will learn a lot from it. The event based solution to scanning the buttons is something I am familiar with (I’ve used it in a file based version of the vocoder which I based on the xforms toolkit http://xforms-toolkit.org http://xforms-toolkit.org/ ), but this was definitely beyond my current level of C++ / open GL competence. Therefore I came to the suboptimal solution as you have witnessed.

Thanks again and I hope if I have any questions about the changes and additions you will find the time to enlighten me even more.

Best regards,

Jos

On 25 Oct 2019, at 18:40, Netboy3 notifications@github.com wrote:

Hi Jos,

As promised, I've cleaned up the codebase to build properly on V1. I also re-wrote the matrix button widget (which was completely broken on this branch) to be event based instead of scanning all 1000 instances. This was a major performance upgrade (on my system CPU meter went from 8.5% to 2.5%). I also fixed some coding issues and converted SynthDevKit to be a submodule. IMPORTANT!! as SynthDevKit is now a submodule, you must follow the standard module build process and do a: "git submodule update --init --recursive" to bring the actual code from GitHub.

You can view, comment on, or merge this pull request online at:

https://github.com/josbouten/Sculpt-O-Sound/pull/5 https://github.com/josbouten/Sculpt-O-Sound/pull/5 Commit Summary

Add gitignore to the project Rewrite LButton Migrate to V1 API Modify Light::value to get/setBrightness Setup SynthDevKit as git submodule Replace DEBUG with DEBUGMSG Modify button matrix to event based ENUMS Update README to v1 File Changes

A .gitignore https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-0 (7) A .gitmodules https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-1 (3) M Makefile https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-2 (5) M README.md https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-3 (14) A SynthDevKit https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-4 (1) D deps/SynthDevKit/LICENSE.md https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-5 (7) D deps/SynthDevKit/Makefile https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-6 (42) D deps/SynthDevKit/README.md https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-7 (46) D deps/SynthDevKit/docs/CV.md https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-8 (84) D deps/SynthDevKit/docs/Clock.md https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-9 (68) D deps/SynthDevKit/docs/EventEmitter.md https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-10 (70) D deps/SynthDevKit/src/CV.cpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-11 (76) D deps/SynthDevKit/src/CV.hpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-12 (27) D deps/SynthDevKit/tests/Bjorklund.cpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-13 (66) D deps/SynthDevKit/tests/CV.cpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-14 (56) D deps/SynthDevKit/tests/CVEvent.cpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-15 (76) D deps/SynthDevKit/tests/Clock.cpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-16 (136) D deps/SynthDevKit/tests/DistributedClock.cpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-17 (60) D deps/SynthDevKit/tests/EventEmitter.cpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-18 (92) D deps/SynthDevKit/tests/FibonacciClock.cpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-19 (121) D deps/SynthDevKit/tests/PrimeClock.cpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-20 (137) D deps/SynthDevKit/tests/testrunner.cpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-21 (74) D deps/SynthDevKit/tests/testrunner.hpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-22 (51) M res/L.svg https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-23 (10) D res/Ldown.svg https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-24 (9) M src/Sculpt-O-Sound.hpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-25 (10) M src/Vocode_O_Matic.hpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-26 (197) M src/Vocode_O_Matic_v0.4.cpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-27 (222) M src/comp_coeffs.cpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-28 (2) D src/lbutton.hpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-29 (40) M src/matrix.cpp https://github.com/josbouten/Sculpt-O-Sound/pull/5/files#diff-30 (4) Patch Links:

https://github.com/josbouten/Sculpt-O-Sound/pull/5.patch https://github.com/josbouten/Sculpt-O-Sound/pull/5.patch https://github.com/josbouten/Sculpt-O-Sound/pull/5.diff https://github.com/josbouten/Sculpt-O-Sound/pull/5.diff — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/josbouten/Sculpt-O-Sound/pull/5?email_source=notifications&email_token=ACE2N5J7K4HWBUS6LNJCDRTQQMORLA5CNFSM4JFFRVUKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HUN3OUQ, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACE2N5KKOXY7WKBRACWSEK3QQMORLANCNFSM4JFFRVUA.

netboy3 commented 4 years ago

I've added one more commit to the PR. I've built the plugin and noticed the file sizes of the zip archives was unusually large (1.5M). VCV does not like very large plugins in the plugin manager so I looked into it and found out there are images and files in /res that are not consumed by the code. I rearranged it so now the plugin built size is about 100K.