Skip to content

poc of soundfiler for dpf#288

Draft
dromer wants to merge 14 commits into
developfrom
feature/soundfiler
Draft

poc of soundfiler for dpf#288
dromer wants to merge 14 commits into
developfrom
feature/soundfiler

Conversation

@dromer
Copy link
Copy Markdown
Collaborator

@dromer dromer commented Jul 23, 2025

Very crude and does not have working outlets.

@dromer dromer marked this pull request as draft July 23, 2025 22:09
@dromer
Copy link
Copy Markdown
Collaborator Author

dromer commented Jul 24, 2025

To get the outlets to work I'm thinking of passing $0 as an extra value. This way we could have receivers like $0-snd-file-left and $0-snd-file-right for each object instance and be able to send messages specifically to them.

However this probably requires symbol support in pack so we can construct the appropriate message containing $0 -> #287

@pedrojg321
Copy link
Copy Markdown

Hey @dromer, if you could, and it is not urgent at all, could you rebase this work on develop after getting #328? 🙏

@dromer
Copy link
Copy Markdown
Collaborator Author

dromer commented Nov 27, 2025

@pedrojg321 done :)

Are you interested in testing this feature?

@pedrojg321
Copy link
Copy Markdown

Thanks! I was able to compile a patch that had soundfile blocks. I'm trying to persist some values but still need to work more on it

@lokkiikkol
Copy link
Copy Markdown

thanks for pointing me here @dromer ! so am i right in assuming this is currently not working even in develop? or is there a way in which i could test this from plugdata by installing a dev-version of the hvcc toolchain?

@dromer
Copy link
Copy Markdown
Collaborator Author

dromer commented Feb 11, 2026

Using poetry build on this branch you can get a Heavy binary that you could place in the tool chain.

@lokkiikkol
Copy link
Copy Markdown

lokkiikkol commented Feb 13, 2026

Using poetry build on this branch you can get a Heavy binary that you could place in the tool chain.

thanks, did that and got this in terminal:

Building hvcc (0.14.0)
Building sdist
  - Building sdist
  - Built hvcc-0.14.0.tar.gz
Building wheel
  - Building wheel
  - Built hvcc-0.14.0-py3-none-any.whl

looking at the toolchain folder in Documents/plugdata/Toolchain it is not entirely clear to me which files/parts I would have to replace.

@dromer
Copy link
Copy Markdown
Collaborator Author

dromer commented Feb 13, 2026

You would only need to replace plugdata/Toolchain/bin/Heavy/Heavy.

Let me do a rebuild of this branch to create a build in CI for you.

@dromer
Copy link
Copy Markdown
Collaborator Author

dromer commented Feb 13, 2026

This Action should result in some builds of the Heavy binary: https://github.com/Wasted-Audio/hvcc/actions/runs/22004826723

@lokkiikkol
Copy link
Copy Markdown

lokkiikkol commented Feb 13, 2026

thanks! replaced the binary, went through the usual security warnings and tried to compile a simple test-patch:
Bildschirmfoto 2026-02-13 um 23 34 48

which gave me this error:

In file included from HeavyDPF_soundfilertry.cpp:34:
./HeavyDPF_soundfilertry.hpp:39:10: fatal error: 'tinywav.h' file not found
   39 | #include "tinywav.h"
      |          ^~~~~~~~~~~
Compiling HvMessage.c
Compiling HvMessagePool.c
Compiling HvMessageQueue.c
1 error generated.
make[1]: *** [../../build/HeavyDPF_soundfilertry.cpp.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [plugin] Error 2

so i guess i need to somehow add tinywav headers to the toolchain as well

@dromer
Copy link
Copy Markdown
Collaborator Author

dromer commented Feb 13, 2026

Oh yeah this is not part of Heavy internals yet so it's a manual thing.

This branch is in Draft status for a reason ;)

@lokkiikkol
Copy link
Copy Markdown

sorry to waste so much time on this... after exporting source + GUI from plugdata, i manually added tinywav.c and tinywav.h to the plugin/source/ directory and tried "make" now i get an error, because:

lokki@Mac soundfiler % make
/Applications/Xcode.app/Contents/Developer/usr/bin/make all -C plugin/source
Compiling Heavy_soundfilertry.cpp
Compiling HeavyContext.cpp
Compiling HeavyDPF_soundfilertry.cpp
Compiling HvHeavy.cpp
Compiling HvControlCast.c
Compiling HvControlPack.c
Compiling HvControlSlice.c
Compiling HvControlVar.c
Compiling HvLightPipe.c
Compiling HvMessage.c
Compiling HvMessagePool.c
Compiling HvMessageQueue.c
Compiling HvTable.c
Compiling HvUtils.c
Compiling tinywav.c
make[1]: *** No rule to make target `../../build/../../tinywav/tinywav.c.o', needed by `../../bin/soundfilertry.vst3/Contents/MacOS/soundfilertry'.  Stop.
make: *** [plugin] Error 2

@dromer
Copy link
Copy Markdown
Collaborator Author

dromer commented Feb 15, 2026

Ah, from the Makefile for the plugin you can see that I was putting Tinywav in a folder on the root level.

Again this was super Proof of Concept stuff so not in any way polished for users.

I think I just cloned https://github.com/mhroth/tinywav into the project root.

@lokkiikkol
Copy link
Copy Markdown

thanks! it compiles now. i don't get any sound out of it when compiled as a vst3. should this work? (see screenshot)
Bildschirmfoto 2026-02-15 um 10 17 16

@dromer
Copy link
Copy Markdown
Collaborator Author

dromer commented Feb 15, 2026

I think so, maybe check what info is passed to the outlets and print it to the console.

Not all hosts will print debug info though, personally I always test using jack standalone from cli. Should also work on macOS.

@lokkiikkol
Copy link
Copy Markdown

hmm. i am getting: [tinywav] Failed to open file for reading: No such file or directory if i try to load a file via "soundfiler" (compiled to tinywav) . the path works in PD, it is valid.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants