Git Product home page Git Product logo

blocks's Introduction

tldraw


blocks is a modular synthesizer available as standalone, VST3 & AU for Windows, macOS & Linux.

How to build

Download CMake

Clone the repo

git clone https://github.com/dan-german/blocks

Change to project directory

cd blocks

Populate JUCE

git submodule update --init

Then build with CMake

cmake -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release

This will result in a release build in the build directory.

For more detailed instructions please refer to the JUCE CMake API

How to use

Playthrough

At the center lies the block grid, where you can add sound sources and effects. Sound flows downwards, meaning any effect will shape the sound sources above it.

To the right stands the modulators menu, a space for adding LFOs and envelopes; And to the left you'll find the the modulation matrix, which controls connections between modulators and blocks.

Tabs, placed above the block grid, control which column of blocks activates when a note is played.

Architecture

Contributing

If you're interested in contributing, join our discord channel!

blocks's People

Contributors

dan-german avatar alexxandree avatar dromer avatar kzantow avatar kottv avatar mfep avatar rayxke avatar

Stargazers

Stefano Zambon avatar Hoss avatar  avatar Gaechter Tristan avatar ijc3 avatar Hashcode  avatar spectromas avatar compwron avatar  avatar Jim avatar David Brewer avatar Иван Горланов avatar  avatar Jonathan avatar  avatar iqhater avatar Jaime Portela avatar gyarakzatyalanmeth avatar Tame avatar Davit Gogiberidze avatar Andrew Miller avatar Maciek Odrowaz avatar Michael avatar  avatar  avatar Lyric avatar Kenneth Rakentine avatar  avatar A1219 avatar  avatar Rick Barraza avatar Abdi avatar J's avatar Daniel Lewan avatar  avatar Dirk Arnez avatar RubberMullet avatar Shakeeb Alireza avatar ottsch avatar Matthew avatar  avatar Rein van der Woerd avatar VIOLIN MELODY avatar Patrick Robert avatar  avatar cellfusion avatar  avatar Gerard Or avatar Khalid Laouhi avatar Andrew avatar Vasilii Milovidov avatar Kolja Glogowski avatar Emanuele DelBono avatar JC Ivancevich avatar  avatar  avatar David avatar Anton Mata avatar  avatar Jonny Dubowsky avatar Olive avatar Alexander Damrath avatar Gianmarco P. avatar  avatar John Roberts avatar  avatar  avatar Charles avatar Reilly Moore avatar Steve Anderson avatar walking avatar R.A.W. avatar Bernardo Garza avatar Jeremy Wentworth avatar Daniel avatar  avatar Giovanni A. Zuliani avatar  avatar  avatar George Bellos avatar  avatar  avatar Matthew avatar Fotis and Stuff avatar sonopictorial avatar hiphi avatar  avatar Matt McKay avatar Giacomo Mandelli avatar Aleks avatar  avatar  avatar Clayton Kehoe avatar  avatar  avatar Taye Beckford avatar  avatar  avatar Blake North avatar  avatar

Watchers

Harald Lapp avatar Alexandre Enkerli avatar Aleks avatar Hoss avatar Olivier HUMBERT avatar  avatar Giacomo Mandelli avatar

blocks's Issues

Segmentation fault with Linux standalone version

When I try to run the linux standalone version (downloaded from the website) I instantly get a segmentation fault.

$ chmod + x blocks_linux/Standalone/blocks
$ ./blocks_linux/Standalone/blocks
[1]    53837 segmentation fault (core dumped)  ./blocks_linux/Standalone/blocks

Is macOS Sonoma a real requirement ?

Hi and kuddos for Blocks !

I'm under Ventura (13.5.1) and first tried to use the release version from https://www.soonth.com/, but could not install it because Sonoma was stated as requirement

So I git cloned and compiled from source :

  • standalone runs fine
  • VST3 runs fine too (Ableton Live), even if no automation seems possible

Contact needed

Hey, Dan, here's Pawel Uszynski from Folia Soundstudio, Warsaw, Poland. I'm contacting you in form of an issue, because I'm not sure my LinkedIn message was directed to you or other Dan German ;)

I designed my very own VST synth and managed to get some serious interest from a boutique plugin company with a strong portfolio to cooperate on my design. We started some research/headhunting, looking for a programmer fluent in JUCE/C++ and willing to work with us.

We discovered your Blocks on the way and realised there are some architecture similarities between our design and your product, so we thought contacting you would be best idea we can have.

If all this sounds any interesting to you - please, don't hesitate to contact me at pawel.uszynski [ a t ] foliasound.pl.

Many thanks and greetings from Warsaw, Poland!

Linux support?

Hello! I was wondering if Linux support might be a possibility some day? Thanks!

Linux Release builds segfault

Not just because of LV2, but the current Release downloads on the main website are just as broken.

The LV2 action that fails: https://github.com/dan-german/blocks/actions/runs/10280350079/job/28447495778

And what we see when enabling address sanitizer:

LeakSanitizer output:
==27359==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 83892224 byte(s) in 384 object(s) allocated from:
    #0 0x7fba7f0b9628 in operator new[](unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:98
    #1 0x7fba7b8aa958 in vital::Reverb::setupBuffersForSampleRate(int) (/home/dreamer/Sources/_audio/blocks/build/blocks_artefacts/Release/LV2/blocks.lv2/libblocks.so+0x8aa958)

Direct leak of 2622976 byte(s) in 96 object(s) allocated from:
    #0 0x7fba7f0b9628 in operator new[](unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:98
    #1 0x7fba7b8aabac in vital::Reverb::setupBuffersForSampleRate(int) (/home/dreamer/Sources/_audio/blocks/build/blocks_artefacts/Release/LV2/blocks.lv2/libblocks.so+0x8aabac)

Direct leak of 704 byte(s) in 8 object(s) allocated from:
    #0 0x7fba7f0b94c8 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7fba7b966dae in vital::Delay<vital::Memory>::Delay(int) [clone .lto_priv.0] (/home/dreamer/Sources/_audio/blocks/build/blocks_artefacts/Release/LV2/blocks.lv2/libblocks.so+0x966dae)

Direct leak of 704 byte(s) in 8 object(s) allocated from:
    #0 0x7fba7f0b94c8 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7fba7b928380 in vital::BlocksVoiceHandler::createReverbs() (/home/dreamer/Sources/_audio/blocks/build/blocks_artefacts/Release/LV2/blocks.lv2/libblocks.so+0x928380)

Direct leak of 704 byte(s) in 8 object(s) allocated from:
    #0 0x7fba7f0b94c8 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7fba7b94cf30 in vital::DelayModule::setSampleRate(int) (/home/dreamer/Sources/_audio/blocks/build/blocks_artefacts/Release/LV2/blocks.lv2/libblocks.so+0x94cf30)
    #2 0x6280000000ff  (<unknown module>)

Direct leak of 1 byte(s) in 1 object(s) allocated from:
    #0 0x7fba7f0b94c8 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7fba7b7328c1 in PluginProcessor::PluginProcessor() (/home/dreamer/Sources/_audio/blocks/build/blocks_artefacts/Release/LV2/blocks.lv2/libblocks.so+0x7328c1)

Indirect leak of 67108864 byte(s) in 32 object(s) allocated from:
    #0 0x7fba7f0b9628 in operator new[](unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:98
    #1 0x7fba7b966f70 in vital::Delay<vital::Memory>::Delay(int) [clone .lto_priv.0] (/home/dreamer/Sources/_audio/blocks/build/blocks_artefacts/Release/LV2/blocks.lv2/libblocks.so+0x966f70)

Indirect leak of 67108864 byte(s) in 32 object(s) allocated from:
    #0 0x7fba7f0b9628 in operator new[](unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:98
    #1 0x7fba7b94d0fd in vital::DelayModule::setSampleRate(int) (/home/dreamer/Sources/_audio/blocks/build/blocks_artefacts/Release/LV2/blocks.lv2/libblocks.so+0x94d0fd)
    #2 0x6280000000ff  (<unknown module>)

Indirect leak of 33554432 byte(s) in 16 object(s) allocated from:
    #0 0x7fba7f0b9628 in operator new[](unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:98
    #1 0x7fba7b9284cd in vital::BlocksVoiceHandler::createReverbs() (/home/dreamer/Sources/_audio/blocks/build/blocks_artefacts/Release/LV2/blocks.lv2/libblocks.so+0x9284cd)

SUMMARY: AddressSanitizer: 254289473 byte(s) leaked in 585 allocation(s).
gmake[2]: *** [CMakeFiles/blocks_LV2.dir/build.make:214: blocks_artefacts/Release/LV2/blocks.lv2/libblocks.so] Error 1
gmake[2]: *** Deleting file 'blocks_artefacts/Release/LV2/blocks.lv2/libblocks.so'
gmake[1]: *** [CMakeFiles/Makefile2:244: CMakeFiles/blocks_LV2.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2

When doing a Debug build everything is fine.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.