Hacker Newsnew | past | comments | ask | show | jobs | submit | mpduda's commentslogin

Still working on my software project for live music production [1]. At the moment, it only creates, forwards, and records MIDI note events, so it can't produce audio on its own. It has to be connected to external or virtual MIDI devices that can create sound. Turns out this is too much of a hassle and kind of a deal-breaker for most people (and to be fair, it is a hassle), so now I'm working on adding VST hosting support directly inside the app. If you're not familiar, VST (Steinberg Virtual Studio Technology) is pretty much the industry standard plugin system that most DAWs support. Different VSTs can create and filter audio data, and in a hosted context audio data can be sent between VST instances before going out to the speakers.

It's been tricky but interesting. VST plugins are basically packaged as DLL files of Windows COM(-ish) objects. Despite primarily being a Windows dev myself, I never worked directly with COM libraries or objects before. My app is written in C#, and .NET does have built-in "COM Interop" support, so it is possible. A few years ago, .NET added a new COM Interop Source Generator system [2, 3], and I'm trying to get it working with that. So far I've been making some progress, but it's still a lot of tedious work to setup.

(There are libraries/packages out there that implement VST in .NET already, but they mostly focus on plugin creation while I only need hosting. They're a lot heavier and more capable than I need. They also didn't use the newer Source Generator approach, so I figured I'd give it a shot myself.)

1. https://www.pulselyre.com/

2. https://learn.microsoft.com/en-us/dotnet/standard/native-int...

3. https://www.youtube.com/watch?v=DZd1SGd7dSU


Pretty cool, nice to have an easy to read list.

One issue I noticed with my project [1] is that the description is for the wrong thing. This is probably partially my fault, since I wrote about two projects in one comment [2]. The music production app is closed source, but the UI library I maintain for it is open source. Seems like that might have thrown off your AI tool.

[1] https://github.com/Pulselyre/UpbeatUI

[2] https://news.ycombinator.com/item?id=41342977


I noticed this was the case for the project laudspeaker as well. The description says

"Techno Thriller Panopticon Explores Encryption and Espionage"

but the project is for customer engagement and onboarding.


Oh yea the titles are a little off, since they're pulling off of the original comment and not the repo itself. The Laudspeaker description came from:

"Apart from working on my start up, and open source project https://github.com/laudspeaker/laudspeaker (open source firebase cloud messaging) I've been writing a short sci fi story, sort of like a techno thriller inspired by michael crichton, called Panopticon."

https://news.ycombinator.com/item?id=41348190


good catch - yes I added two projects in one comment!

laudspeaker (open source firebase cloud messaging/customer engagment) - https://github.com/laudspeaker/laudspeaker

panopticon (short story on encryption and espionage) - https://docs.google.com/document/d/1VRI4X5fCUpwurUDvKmvzJpT7...


Working on Pulselyre, a touch-focused Windows app for producing electronic music live. It doesn't output audio on its own, but it lets you configure various virtual "instruments" on screen that can send MIDI note and control messages to other MIDI devices or VSTs configured to receive MIDI messages. You can record notes and events for each instrument and then loop them over a configured number of beats. Also has some other features to make creating music easier, like saving/loading note sequences, an arpeggiator, receiving input from external MIDI controllers/keyboards, and some other stuff. I've been meaning to record a demo video, but I'm not actually very good at playing or making music myself, so I haven't come up with anything presentable yet. I'm also not really married to the name, but it works for now...

https://www.pulselyre.com

It's built using C# and WPF, and a related project I work on is an open source MVVM framework called UpbeatUI for making WPF apps that behave vaguely like mobile apps. It's for apps that have a main bottom layer and modal popups that float above and can be closed by clicking/touching the background. Pulselyre uses UpbeatUI, and I actually originally extracted UpbeatUI from a much older version of Pulselyre.

https://github.com/Pulselyre/UpbeatUI


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: