Elektrine lite

← Feed

@sjaehn@fosstodon.org

Post #2411780

2021-11-25 19:46 UTC

@murks@social.tchncs.de Congrats, you successfully let the ducks swim 😃 . You felt like the whole thing has been built backwards? I would say it's something in between. It's prototyping. If you try to solve a problem, then it's easier to divide the problem into smaller portions. This is what we did in Key::get(). Split it into a adsr envelope method, a wave generator (sin), and a velocity transformation function....

Replies (2)

  • @sjaehn@fosstodon.org 2021-11-25 19:50

    @murks@social.tchncs.de ... You could either go step by step straight forward and directly define the adsr method and what's going on inside. Or you firstly declare the adsr header only. And think about its inside later. This is prototyping. This way look a bit like moving backwards sometimes, but it's advantageous for larger projects.

    Open ##2411781

  • @murks@social.tchncs.de 2021-11-25 20:32

    @sjaehn@fosstodon.org 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.

    Open ##2411782