Can a VST Plugin Access the Entire MIDI Track? - plugins

Is it possible to write a VST plugin that looks ahead to upcoming MIDI events, or ideally the entire MIDI track?

Related

Flutter Desktop Windows Play Audio from Buffer

I need to play audio to an audio device that I would like to be able to select in the App. So far I've looked at just_audio but that doesn't seem to support "read from byte stream" for windows yet. I've also looked at libwinmedia but that is deprecated.
The audio is received as a ffi.Pointer to float samples or alternatively as 16bit Integer samples. I just need an API whether plugin or .h with ? .dll to select an audio device and send the audio buffer to it.
Does anyone know if I've missed this functionality in the dart packages or knows a simple library for c++ that I can use FFI to bind to that?
Thanks any help is appreciated.
I also looked at gstreamer but I don't want the user to have to install the gstreamer runtime.

How to do a live midi streaming?

I'm looking for help in my research
I'm trying to generate live midi so that people can listen to it via a web browser
I'm not sure but I'm guessing there must be a way to set up a midi server to accept connections from my desktop with midi sequencer , sending that midi data to an online midi server where people can connect to and listen to the midi that is generating live right in their web browser
any help appreciated
You are going to be better off writing a plugin to handle this. That being said, it is possible to dynamically play MIDI with JavaScript. See this question: generating MIDI in javascript
You could read in the data just like any feed from your web server, and play it back in chunks.

Streaming and Recording Protocol

What is an open source, well-documented audio (video is not required) streaming (from the server) protocol that also supports recording (to the server), that I should use for a completely new application?
RTMP is not an option
This protocol must have a client library for AC3/AC2
Thanks.
Why not use SHOUTcast? Sounds like it will work perfect for your application.
As far as recording the stream goes, you can use something like StreamRipper, or even WGET.
No special client library necessary, as it is compatible with HTTP. The only thing you have to worry about is your client keeping audio buffer around after it has been played, but there are many solutions to that, especially with AS3.
Try Red5. It's open source and has a recorder, also open source.
If you are OK with spending few dollars, have a look at Wowza Media Server too.

Programmatically playing MIDI with OpenAL and SF2

I can create a basic MIDI file from scratch verified using TiMidity++, and I know enough OpenAL to play a streamed source from a file.
I'm just wondering if it's possible to create a program in C to play MIDI files by reading in a SF2 and MIDI file and using OpenAL to play the sound. Do I need to use another library? I want to know beforehand because the SF2 format looks pretty complicated.
Core audio is where it's at!
If you are doing this on a mac, DLSMusicDevice does what you want.
if you are on iOS, you will need to do much 'by hand' but it is manageable (tedious, as well). If you go this route, look at the sample code 'mixer host'.
You need to use an CoreAudio. Create an AUGraph with a Sampler connected to an IOUnit. Look at header files AUComponent.h in the AudioUnit framework. Once you've got your audio graph setup you can play a note using the following function:
MusicDeviceMIDIEvent(sampler, status, note, velocity, 0);

Play midi file on the iPhone

Is it possible to play .mid files directly via some API, or one have to convert the midi file to e.g. AAC first?
(2 years later…) You can use MusicPlayer and MusicSequence APIs. Available in iOS 5.
There is no Apple API for this. You could write your own, which i think would depend on what you are hoping it is going sound like.
There is lots of available source code for reading midi files and there are a few open source synths for the iphone - or you could use openAl for triggering samples. It probably isn't going to sound like Garageband tho.
If you want it to sound as good as possible you will have to convert it first.