X16 Midi Player

Post Reply
Joshua Bair
Posts: 3
Joined: Sun Jun 07, 2020 3:31 am

X16 Midi Player

Post by Joshua Bair »

Commander X16 Midi Player v4.0

Usage: LOAD "x16player.prg"

RUN

ENTER MIDI FILENAME:

[MIDI Filename].MID

Midi file must be located in the same folder as the x16emu.exe emulator.

Keys:


1 Channel Volumes


2 Midi Notes


3 6 String Guitar Fretboard


4 4 String Bass Fretboard


5 5 String Bass Fretboard

7 Vocals


+) Next Channel (Guitar/Bass/Vocals Only)

-) Previous Channel (Guitar/Bass/Vocals Only)

Ctrl-C RUN/STOP) Exit Player

Known Issues:

Not all MIDI events are supported.

Pitch Bend not 100% accurate.
Attachments
x16Player5.png
x16Player5.png (4.36 KiB) Viewed 4261 times
x16Player4.png
x16Player4.png (4.55 KiB) Viewed 4261 times
x16player2.png
x16player2.png (5.15 KiB) Viewed 4261 times
x16player.png
x16player.png (4.43 KiB) Viewed 4261 times
x16player.prg
Version 4.0
(15.52 KiB) Downloaded 357 times
Last edited by Joshua Bair on Wed Jun 14, 2023 2:07 am, edited 1 time in total.
User avatar
ahenry3068
Posts: 1136
Joined: Tue Apr 04, 2023 9:57 pm

Re: X16 Midi Player

Post by ahenry3068 »

I haven't even executed it yet....... What programming
language... ???
Joshua Bair
Posts: 3
Joined: Sun Jun 07, 2020 3:31 am

Re: X16 Midi Player

Post by Joshua Bair »

The programming language is one that I created myself. It's similar to 6502 assembly language, but it uses XML documents.

You can see the code for the midi player here: https://github.com/SpyderTL/OZone/blob/ ... Player.xml

It's fairly easy to read, and to convert to actual ASM if you wanted to. However, I find the XML to be more explicit, and easier to use when working on multiple projects for different platforms. That repository has similar projects for other platforms, like the NES, SNES, N64, Game Boy, MS-DOS, Windows, Linux, ARM, RISC-V, etc.

The XML documents allow me to add tooltips with documentation, create transform XSLT documents to insert inline functions, and I get autocomplete and intellisense for free.
Post Reply