Jump to content

Recommended Posts

Posted (edited)

Hey Phil,

Firstly, thanks for the kind words.  I'm glad the documentation is getting put though its paces,  about half of the project was just putting that together! 

With the experimental functions - I was trying to build in some support for midi files, and there's a whole mechanism there that had to be built to support that.  Because the code was essentially a first pass,  I didn't want to commit to something that could fundamentally change the next time I had a look at it... (But I haven't really looked at it since!)

Also, what we have works ok as a tape recorder - but I had wanted to eventually write in some support for a more mature sequence editor. So to scroll through timelines etc, I figured we'd probably need a redesign of that mechanism too.

Edited by MattyD
clarity
Posted

Understood ! So we can use these functions at our own risk... no problem.

It's true that I didn't find clear doc on the web regarding the sequence management (including rewind or markers setting), using Meta events or SysEx. 

Regarding the time scrolling, I used a simple mechanism: imported MIDI file (as a sequence) is truncated to a specified beats range (define with a GUI), and then played by your PlaySequence function. So it's a beats scrolling, not depending on tempo changes (which is more convenient compared to a time scrolling). 

I'm also facing a difficulty: the beats markers are linked to signature. But on a few MIDI files, the 1st note is NOT positionned at BEAT 1, which introduces a bias in the beats display in PLAY mode. Just to illustrate that developing a robust MIDI PLAYER is not a walk in the park...! So still a bit of work...

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
  • Recently Browsing   0 members

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