murks boosted

🎉🎉🎉🖖 #PeerTube v4 is out! 🖖🎉🎉🎉

Customization, content discovery, empowering through more control… Our free-libre and federated alternative to YouTube takes the power back to you!


@unfa Nice video, thanks. I use it for live streaming an have also run into a bunch of issues along the way, including a lot of confusion wrt. configuration and unexplainable clipping at times.

You mention that you somehow put all your streaming audio processing into one node in Carla, can you point me at some documentation as to how to do that? Thanks!

murks boosted

@sjaehn I would expect the compiler to throw a warning about this. Compilers for other languages do that.

18 minute video, 2 1/2 hours to follow it, without going into the resources. I call that dense material. Still, looking forward to playing with the synth now. Thanks a lot for your work.

@sjaehn Yes, that was the problem.
I made a mistake in instantiate() and accidentally redeclaed m in the success case, so the local m was shadowing the out one, which thus remained null.

Thanks for your help.

@sjaehn Oh, I think I found it. I accidentally re-declared m. Validating...

@sjaehn Thanks, I totally didn't see that.
I'm afraid this is not the only issue, it still does not instantiate.

UI: None
JACK Name: mySimpleSynth
Sample rate: 48000 Hz
Block length: 512 frames
MIDI buffers: 32768 bytes

(jalv.gtk3:25762): Gdk-CRITICAL **: 12:30:41.178: gdk_monitor_get_refresh_rate: assertion 'GDK_IS_MONITOR (monitor)' failed
Comm buffers: 524288 bytes
Update rate: 30.0 Hz
Failed to instantiate plugin.

@sjaehn I think it's a difference in mySimpleSynth.ttl but I sure can't see it.

@sjaehn I got it to compile fine, lv2_validate does not complain, yet it can't be initialised in Carla or Jalv. How do I debug this?

@sjaehn Thanks for the explanations Sven. I just saw that you put video 11 up.

I take breaks during the video all the time, otherwise I could never follow along. I'm typing things out rather than using your source files. So I had about hundred errors after video 10 rather than 0.

I also consider rewriting the synth in C, maybe it helps with understanding what is going on. In any case, I guess I will need to consult additional resources.

murks boosted

@sjaehn Thanks :]
Part of my problem is that I didn't understand what ADSR was supposed to do. Sure we knew the method signature, but not the purpose. And what does Key::get() get? It was not obvious to me what these methods were supposed to do.

I showed the plugin and code on stream today and tried to understand where an issue comes from. There I noticed that I didn't even know where the Key objects come from or how many there are.

Maybe it's just my lack of C++ knowledge, not sure.

@sjaehn Another way to teach this would be to:
1) Outline the problem you are trying to solve.
2) Explain how it could be solved.
3) Implement a solution.
4) Demonstrate that the problem has been solved.
I think that would be much easier to follow.

I guess you want to keep the videos are short as possible but I think the material is too dense for that. I wonder how many people followed along.

@sjaehn Thanks Sven. I now have my first working synth. It is nice to be able to play with it.
I just wish there were more conceptual explanations, because I really don't know what I did. Especially wrt.:
- that mapping stuff
- all the calculations

I very much feel like the whole thing has been built backwards. We spent a lot of time setting things up and then they fell into place without much explanation. For example we used the return value of adsr() all the time without knowing it.

@wuffel Leider seh ich unter nur dass die TAZ wohl Typo3 verwendet, und wenn die Copyright-Zahlen da stimmen eine Uralte Version.

@diePARTEI_stmk Inhalte sind so 90er.
Irgendwann kommt vermutlich die nächste Wahl.

Gab es überhaupt die Möglichkeit hier in Kärnten eine Kandidatin der Partei zu wählen?

Show older

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!