[plugin] rex_JSMidiParser

Post your work in progress addons and get feedback

Post » Thu Jun 30, 2016 1:12 pm

@emoaeden

Try "Condition:Compare current track ID" of this plugin, or
"system condition: compare two values" with "expression:trackID" of this plugin.
B
108
S
26
G
268
Posts: 4,456
Reputation: 150,247

Post » Tue Jul 19, 2016 1:16 pm

Hi, @rexrainbow !

Is it possible, with the current implementation of rex_JSMidiParser, to convert multiple MIDI files to JSON and address them individually? Something like Audio Tags in C2?

Specifically, I'm interested in pre-converting a number of MIDI files to JSON for use at any time during the game. This will be with the eventual aim of being able to pause (thanks for the addition of the pause feature, BTW) one JSON stream, play another one, go back to the original stream... etc.

Thanks again for your tireless plugin work! 8-)
B
5
S
1
Posts: 17
Reputation: 409

Post » Tue Jul 19, 2016 1:26 pm

@johxn

You could create rex_JSMidiParser instances for each "tag" in run-time.
B
108
S
26
G
268
Posts: 4,456
Reputation: 150,247

Post » Thu Jul 21, 2016 11:37 pm

Easy enough - Thanks @rexrainbow !

Is the MIDI playback supposed to be able to sync with audio playback?

I've run a number of tests with synchronized audio and MIDI files (audio rendered from the same midi file), and when playing both files back simultaneously using rex_JSMidiParser and the audio plugin - rex_JSMidiParser seems to be playing back the MIDI data much faster than audio file.

Would it be possible to get the MIDI playback to slave to Audio.CurrentTime?
B
5
S
1
Posts: 17
Reputation: 409

Post » Fri Jul 22, 2016 5:32 am

@johxn

1. This plugin does not support "set playback time" currently. I will try to add it.
2. To sync with audio... I can try it in the future.
B
108
S
26
G
268
Posts: 4,456
Reputation: 150,247

Post » Fri Jul 22, 2016 12:25 pm

Thanks for considering it, @rexrainbow , I appreciate it!

My goal is to have an efficient and speedy way of creating/streaming timing data that is locked to audio time. I can create all event/animation/whatever triggers via multitrack MIDI in my DAW - all sync'ed to my soundtrack.

Cheers!
B
5
S
1
Posts: 17
Reputation: 409

Post » Fri Jul 22, 2016 12:39 pm

@johxn

sync with audio is not easy.
Scirra had added an "action: schedule next play" before, to sync the sound effect with music.
B
108
S
26
G
268
Posts: 4,456
Reputation: 150,247

Post » Mon Jul 25, 2016 4:13 pm

Hi, @rexrainbow

Perhaps implementing something like this https://github.com/sebpiq/WAAClock in the rex_timeline plugin to manage playback of the rex_JSMidiParser data?
B
5
S
1
Posts: 17
Reputation: 409

Post » Fri Jul 29, 2016 10:38 am

hi @rexrainbow

is there any tutorial to add more sound sampling? i need to play the bass and drum part of my midi
B
13
S
1
Posts: 5
Reputation: 1,104

Post » Tue Aug 02, 2016 7:56 am

Update

Add "Condition:For each note" to retrieve all notes in all tracks, channels.
Get properties of each note by
- Expression:CurTime, Expression:CurTick
- Expression:CurPitch, Expression:CurPitchKey
- Expression:CurVelocity
- Expression:CurDuration, Expression:CurDurationTick

sample capx
B
108
S
26
G
268
Posts: 4,456
Reputation: 150,247

PreviousNext

Return to Work in Progress Addons

Who is online

Users browsing this forum: digitalsoapbox and 2 guests