Jump to content

Midi UDF


MattyD
 Share

Recommended Posts

Indeed, DJ Controller manufactures just use (and abuse) the MIDI protocol 😉

Makes it really fun doing MIDI mapping 🤪

Lucky we have the MIDI Udf to help out !

When I have some time available, I will see how to fit in the Peace Equalizer app and the MIDI interface 👍

Link to comment
Share on other sites

Hi All -

New Release: Version 1.5.

Theres been a MASSIVE update to the helpfiles, so I'm hoping they should pass as a half decent reference now.
Just be aware the chm files may require "unblocking", as they'll likely get tagged as being "from the internet".

Right click the file > properties > Unblock and apply.

image.png.341bc38744754f7ac570cd8755d2c85e.png

Apart from the documentation, notable changes are:

- Support for 3D Audio Controllers.
- Builtin routine for a midi panic button
- Active sensing functionality for output devices.
- midi_ReadMsg & _midi_SendMsg can work with short messages in a variety of formats (Thanks to ptrex)
- Window message registration has been moved to _midi_Startup (Thanks to Peter)

And a bunch more stuff that was fixed that you can find in the helpfile ;)

Link to comment
Share on other sites

Just great Matty B) I'll look into it and integrate it in the next Peace version. The moving of the Window message registration to _midi_Startup seems logical. Thanks. And the chms look very nice, very clean. Great work!

Creator of the Peace equalizer, an interface for Equalizer APO. Besides Peace, my library of functions is also available on SourceForge.

Link to comment
Share on other sites

Hi all,

This may be a bit premature, but here is release 1.6.

SCITE integration:
- The helpfile can be brought up with the f1 key when on a _midi_* or _midiAPI_* funcation. Based on the fantastic work of @water .
- Alternate data streams will be stripped when the helpfile is installed to localappdata. This fixes the "unblock file" problem detailed previously.

API:
- Fixed alignment issue with the midihdr tag when compiling as x64.
(the [MM_]MOM_POSITIONCB callback can now correctly locate midi events in a buffer.)

UDF:
- Fixed input buffers not being unprepared before disposal when closing devices.
*** EXPEREMENTAL ***
- Output devices are now opened as streaming devices.
- Added ability to record and playback midi messages.
- Added ability to write and playback standard midi files.
- Added a mechanism for recieving "cue" and "marker" meta events during playback.
- Added ability to modify playback tempo

Be aware that the experimental features are still very early in development, and implementation is likely change drastically down the track!
If anyone is looking for a ealier version of the project, you'll find all previous releases on the sourceforge page.

Happy coding,

Matt

Link to comment
Share on other sites

  • 2 weeks later...

Just a quick one.

I've just found that sending sysex messages has broken with the last release.
Despite what MS says, it seems you can't use _midi_OutLongMsg with stream handles! ("not supported" errors a-plenty).

There's a good number of functions in the UDF that rely on this, so I would suggest sticking with 1.5 for now.

Link to comment
Share on other sites

Hi folks,

Quick announcement about the band-aid release for 1.6.

V1.6.1:

Script breaking:
- A streaming device handle must be explicitly be requested with _midi_OpenOutput for sequence playback. (new parameter- req. for experimental functions)

Non-script breaking:
- Output devices are no longer opened as streaming devices by default. (reverted behaviour which fixes a multitude of functions)
- Fixed cases where _midi_GetOutputName & _midi_GetInputName were returning False instead of a blank string on failure.

Link to comment
Share on other sites

Hi all, here is release 1.7 of the UDF

The main focus of this release was to bring in some MSC support, which is mainly used with lighting consoles.
MSC can also (potentially) control things like fireworks, and flys/trusses etc. So in the unlikely event anyone is trying to do that, dont! (i.e. read the disclaimer in the helpfile)

Changelog:

- Added some Midi Show Control (MSC) support
- Fixed issue where _midi_CloseOutput failed to close non-stream handles.
- Fixed example scripts for sequence functions.
- Updated reference list links in the helpfile. The midi.org site has been updated, which broke hyperlinks.
- Modified internals for _midi_PackSize

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...