Shop OBEX P1 Docs P2 Docs Learn Events
PropMidi Player V2.1:POSTED: — Parallax Forums

PropMidi Player V2.1:POSTED:

Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
edited 2009-04-28 03:36 in Propeller 1
I'm working on "PropMIDI" a midi player based on Andy Schenk's PMSynth.
(Thanks for this Andy, I having a great time with it!)

Attached is: PROPMIDI V2.1 (PC Streaming & SD File Version)

Changes:
* Added the ability to kill a song mid-play with spacebar
* Notes too high or low for the scale will borrow from the keyboard above or below.
* Minor bug fix with the input routine.
* Fixed minor issue with channels

Todo:
* Find way to fix PAL display (Thanks Baggers!)
* Fix minor issue with borrowed note display
* Add more midi control features

Enjoy!


In SD File mode:
This player will display all .mid files and allow you to play them from SD.
If the SD card is not detected, the player drops automatically into PCSTREAM mode.
{supports type 0 midi files only.}

In PCSTREAM mode:
It is based on Andy's "MIDI Expander" so you'll need to install the Roland Driver from
tomscarff.110mb.com/USB_MIDI/USB_MIDI.htm

{Configuration for PCSTREAM mode:}
After you have it successfully installed, set MIDI out to the "Roland Serial MIDI out A" with the following:

START-->Control Panel-->Sounds and Audio Devices-->Audio Tab
Pull down the "Midi Playback Device" and choose the Roland device.


The design is based on the old SID PLAYER from the early C64 days.
The first five channels are displayed on the keyboards, other channels change the note effects on the sides.

There's a couple small features I'll add later, and a minor bug was fixed from last version.

Development screenshots are attached...

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?

Visit the: The Propeller Pages @ Warranty Void.

Post Edited (Oldbitcollector) : 4/28/2009 4:25:44 AM GMT
320 x 240 - 21K
320 x 240 - 22K
320 x 240 - 18K

Comments

  • James LongJames Long Posts: 1,181
    edited 2009-04-26 19:44
    Oldbitcollector said...
    Rick has been driving everyone crazy with PrEditor, so I thought I'd join in on the fun...

    I'm working on "PropMIDI" a midi player based on Andy Schenk's PMSynth.
    (Thanks for this Andy, I having a great time with it!)

    The design is based on the old SID PLAYER from the early C64 days.
    The first five channels will be displayed on the keyboards, other channels
    will change the note effects on the sides.

    The first release will play midi's streamed from the PC over the Prop connection,
    then I'll add a file player for SD.

    Here's a screenshot so far...

    Hey I have been playing with it too and have done this:

    www.youtube.com/watch?v=OyBgHSvVgUY

    I figured you were not following my PASM tutorial thread, so you missed the URL.

    James L

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    James L
    Partner/Designer

    Lil Brother SMT Assembly Services
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-04-26 19:57
    That is very cool...

    Thanks for posting that! I hadn't been following your PASM tutorial as you expected.
    (I figure it's all I can do to create decent .spin right now. [noparse]:)[/noparse]

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Visit the: The Propeller Pages @ Warranty Void.
  • JonnyMacJonnyMac Posts: 9,194
    edited 2009-04-26 20:00
    That looks very cool. I search for PMSynth in ObEX but didn't find it; can you point the way? I have a friend who builds scale R2-D2 robots and it seems like the Propeller might be a really good controller for motors as well as audio output.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-04-26 20:01
    I don't think he's posted it to OBEX yet..

    Here's the thread.
    http://forums.parallax.com/showthread.php?p=797590

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Visit the: The Propeller Pages @ Warranty Void.
  • James LongJames Long Posts: 1,181
    edited 2009-04-26 20:03
    JonnyMac said...
    That looks very cool. I search for PMSynth in ObEX but didn't find it; can you point the way? I have a friend who builds scale R2-D2 robots and it seems like the Propeller might be a really good controller for motors as well as audio output.

    Well as I understand it Andy was just playing, and may not be through with it.

    http://forums.parallax.com/showthread.php?p=797590

    That should get you the object you need.

    James L

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    James L
    Partner/Designer

    Lil Brother SMT Assembly Services
  • James LongJames Long Posts: 1,181
    edited 2009-04-26 20:05
    Oldbitcollector said...
    I don't think he's posted it to OBEX yet..

    Here's the thread.
    http://forums.parallax.com/showthread.php?p=797590

    OBC

    Hey, your always one step ahead, I guess me learning PASM makes me edged in now. smilewinkgrin.gif

    James L

    Plus those are all 0603 resistors and LED's on the board with the uSD card slot and the TSSOP20. I know an assembler who made it RoHS. scool.gif
    I was going to hand assemble it, then I looked at the "Pick & Place" and figured I would use some of that $45,000.00 for myself (20 minute hand assembly = about 2 minutes on machine)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    James L
    Partner/Designer

    Lil Brother SMT Assembly Services

    Post Edited (James Long) : 4/26/2009 8:16:03 PM GMT
  • JonnyMacJonnyMac Posts: 9,194
    edited 2009-04-26 20:06
    Thanks, that will get me started, anyway.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-04-26 22:02
    Posted the PC Streaming version to the top thread.

    This version will play your MIDI files from the PC into the Propeler's programming connection. It feels very old school and should take C64 guys back a few years. [noparse]:)[/noparse]

    Edit: A thought. I'm starting to wonder if .spin is adding to my poor
    programming skills. This program has more IF statements in it than a legal contract,
    and yet I'm shocked that it accurately keeps up with five keyboard displays.
    (I really had my doubts spin would be fast enough.)


    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Visit the: The Propeller Pages @ Warranty Void.

    Post Edited (Oldbitcollector) : 4/26/2009 11:13:31 PM GMT
  • James LongJames Long Posts: 1,181
    edited 2009-04-26 23:42
    Oldbitcollector said...
    Posted the PC Streaming version to the top thread.

    This version will play your MIDI files from the PC into the Propeler's programming connection. It feels very old school and should take C64 guys back a few years. [noparse]:)[/noparse]

    Edit: A thought. I'm starting to wonder if .spin is adding to my poor
    programming skills. This program has more IF statements in it than a legal contract,
    and yet I'm shocked that it accurately keeps up with five keyboard displays.
    (I really had my doubts spin would be fast enough.)


    OBC

    OBC,

    Pretty cool.

    I'm not surprised spin and keep up. I'm only using asm to keep up with the output chips which require 3 bytes to change status. If I use 8 chips, that is 24 bytes of information. If Midi is played at 4800 bytes per second (not all notes per se), there is a lot of switching going on. I tried spin, but it wasn't keeping up. I am definitely keeping up now with asm.

    The output chips are running at maximum 400K.

    James L

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    James L
    Partner/Designer

    Lil Brother SMT Assembly Services
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-04-27 02:49
    New version posted to the top thread...

    This one works for both "PCStreaming mode" and "SD Files mode"
    {Must use midi-type 0 in SD Files mode}

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Visit the: The Propeller Pages @ Warranty Void.
  • James LongJames Long Posts: 1,181
    edited 2009-04-27 02:52
    Oldbitcollector said...
    New version posted to the top thread...

    This one works for both "PCStreaming mode" and "SD Files mode"
    {Must use midi-type 0 in SD Files mode}

    OBC

    Ok, now. That is enough, I don't have any more cool videos to counter that. shocked.gif

    James L

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    James L
    Partner/Designer

    Lil Brother SMT Assembly Services
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-04-27 03:04
    Agreed! I've been Prop-coding all day! It's time for some sleep!

    It does make for a very relaxing Sunday.. I'm ready for the week now... [noparse]:)[/noparse]

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Visit the: The Propeller Pages @ Warranty Void.
  • Bob Lawrence (VE1RLL)Bob Lawrence (VE1RLL) Posts: 1,720
    edited 2009-04-27 11:58
    @Oldbitcollector

    Looks great! Nice screen shots. I'll try it tonight if not before. The first computer I ever repaired was a Commodore PET. Am I really that old? smilewinkgrin.gif to suit my taste I may have to add text a warning to the code:

    *** Warning ... Now playing Country Music *** lol.gif

    @James Nice video

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Aka: CosmicBob
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-04-27 14:19
    Thanks Bob,

    Hey I also need to add a shout out to Alex Schafer (trodoss) for the
    creation of FontGenerator (distributed with the AiGeneric package)
    The last time I created fonts for AiGeneric I did them by hand.
    This was a PERFECT, easy way to generate the keyboards, etc for this
    project. Loaded the default graphic into MSPAINT and did the edits
    under full magnification.

    A tip for others. (You'll need to move any character which is created
    over top of $00 (blank space) $20 (space) and $08 (backspace).
    This is a trivial issue, but things do look a little funny until you do.

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Visit the: The Propeller Pages @ Warranty Void.
  • James LongJames Long Posts: 1,181
    edited 2009-04-27 17:35
    Bob Lawrence (VE1RLL) said...
    @Oldbitcollector

    Looks great! Nice screen shots. I'll try it tonight if not before. The first computer I ever repaired was a Commodore PET. Am I really that old? smilewinkgrin.gif to suit my taste I may have to add text a warning to the code:

    *** Warning ... Now playing Country Music *** lol.gif

    @James Nice video

    Bob,

    The video was a bust really. My Hi8mm Camera sucks, and I need a better camera, but I think the idea of what I was doing got across.

    James L

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    James L
    Partner/Designer

    Lil Brother SMT Assembly Services
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-04-27 19:58
    It's been brought to my attention that PAL users are being
    seriously left out when I'm using the AiGeneric Driver.

    Would a PAL user mind stepping forward (PM me) to assist
    in getting this driver working in PAL as well as it does in NTSC?

    Thanks!
    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Visit the: The Propeller Pages @ Warranty Void.
  • BaggersBaggers Posts: 3,019
    edited 2009-04-27 20:55
    I'll see what I can do [noparse]:D[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-04-28 03:36
    @Thanks Baggers!

    Added a new release of the program tonight. Minor bug fixes and other changes.
    (See top thread)

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Visit the: The Propeller Pages @ Warranty Void.
Sign In or Register to comment.