Jump to content
IGNORED

IntyMusic - music viewer


mmarrero

Recommended Posts

Hello Everyone,

I've updated IntyMusic, plenty of changes this times for version 10/20/2016. Source included.

IntyMusic is an IntyBasic MUSIC/PLAY visualizer. It shows notes during playback, volume level. Many options can be customized from constant/variables in the IntyMusic.bas file, for example, scrolling direction, speed, and most colors. It now has an optional menu/playlist, and kiosk mode support (option for menu autoselect, and another option to stop song after specified time period).

post-35249-0-51200800-1477017629_thumb.gif post-35249-0-20556600-1477017629_thumb.gif

 

 

It also has a music debug mode, shows line counter and note chars, which can be set to almost match source .bas file. (It will not show drums, note cuts).
post-35249-0-51256000-1477017628_thumb.png

To customize, edit IntyMusic.bas. If there are multiple songs, also edit IntyMusicMenu. Music source files don't need a label anymore. I also made the menu source code to run independently from IntyMusic.
IntyMusic-2016-10-20.zip

I also included a demo ROM with a few songs. It is included in the source code in a separate folder. To select a song use disc and trigger, or, enter the song number then Enter. To go back to the 1st item press Clear. During playback, press Clear to stop.
IntyMusic.rom

Enjoy!

- Marco

IntyMusicSource2016-8-11.zip

post-35249-0-51256000-1477017628_thumb.png

post-35249-0-91600200-1477017628_thumb.gif

post-35249-0-20556600-1477017629_thumb.gif

post-35249-0-51200800-1477017629_thumb.gif

post-35249-0-67019300-1477017630_thumb.gif

IntyMusic-2016-10-20.zip

IntyMusic.rom

Edited by mmarrero
  • Like 8
Link to comment
Share on other sites

  • 2 months later...

Hello everyone, I've been updating IntyMusic for a while, many changes this time!

- Updated graphics, notes are larger, IBM-ish character font for notes
- Scroll speed is now adjustable, and now scrolls in the correct direction (can be set to either)

- No more missed notes! (50Hz. I finally understood how IntyBasic music player works)

- Volume meter. Now it looks more like a mod player than a midi player.
- Kiosk mode: menu autoselect and autoplay. (You can take control. Bug: 1st selected song will timeout, rest won't.)
- Volume meter, global play volume, graphical improvements, scroll speed, and short fadeout when song is stopped

- Menu code was designed to not depend on IntyMusic, it can work in other projects. Only used GROM, one 16-bit var.

- Music Debug: Displays line, char, #, Octave. No drums or note cuts. (set flag to match MUSIC row # in text editor.)

post-35249-0-51256000-1477017628_thumb.png

The demo .rom has 12 songs, all converted from MIDI using OpenMPT, many converted to MIDI from .vgz (Sega Master) or .nsf (Nes).
Most songs I tried converting had bad results. I included some of the nicer ones, in source code, DemoROM\Songs\NG folder. (Not included in demo .rom)

 

The full source code "IntyMusic-2016-10-20.zip", screenshots, video, and a demo .rom were updated in the 1st post. Enjoy!

  • Like 4
Link to comment
Share on other sites

Wow, that is really good. I would like to take the songs I have posted and re-work them to use your playing engine. The stuff would look great as a demo in a convention. Thanks for sharing!

 

I think it uses the IntyBASIC music engine, so your songs should work fine. It's a visualizer client built on top of IntyBASIC, so it reads the song data while it plays.

Link to comment
Share on other sites

You're both correct, it reads some IntyBasic's music player variables at every frame (On frame gosub). If NTSC, also skips same ones to run at 50Hz, every 6th.

It does need reworking source files a bit, .bas must not have code. For "music debug", no blank rows. And, label: before data/music is no longer needed.

  • Like 1
Link to comment
Share on other sites

  • 10 months later...

I can't believe it's almost been a year since this came out. Man I have got to get some free time for what's important. :)

 

 

You're both correct, it reads some IntyBasic's music player variables at every frame (On frame gosub). If NTSC, also skips same ones to run at 50Hz, every 6th.

It does need reworking source files a bit, .bas must not have code. For "music debug", no blank rows. And, label: before data/music is no longer needed.

Link to comment
Share on other sites

  • 8 months later...
I use a Mod tracker (MilkyTracker) to "compose" songs, I use an Intellivision instrument/sample. Then in OpenMPT (another tracker, that can read MIDIs too) I copy track text (right click on pattern numbers, "Copy pattern").


That text is easy to translate to IntyBASIC MUSIC data. I initially used Notepad++ macro recorder and search/replace, but I later ended up programming my own utility. (I'll probably include it in the next Lydie release.)

Link to comment
Share on other sites

Similar story here, using a tracker intended for another environment, limiting myself to what can be reproduced on the Intellivision and then applying a few steps of conversion and a liberal amount of hand work to make the music data fit the MUSIC format. The key is to somewhere in the process being able to get text output with named tones (C, D, E etc).

 

For instance if you have a somewhat simple SID song, the tool SID2MIDI has an option to output text instead of a MIDI file. That text file will need a bit of editing (which is a piece of cake for me using Emacs) but in the end fairly quickly yields results useable with the IntyBASIC MUSIC command.

Link to comment
Share on other sites

That settles it - Emacs rules! vi be damned!

 

 

Similar story here, using a tracker intended for another environment, limiting myself to what can be reproduced on the Intellivision and then applying a few steps of conversion and a liberal amount of hand work to make the music data fit the MUSIC format. The key is to somewhere in the process being able to get text output with named tones (C, D, E etc).

 

For instance if you have a somewhat simple SID song, the tool SID2MIDI has an option to output text instead of a MIDI file. That text file will need a bit of editing (which is a piece of cake for me using Emacs) but in the end fairly quickly yields results useable with the IntyBASIC MUSIC command.

Link to comment
Share on other sites

I have no reasons to initiate or uphold text editor wars, I just like to point out what works for me and why I like it. People who like different are no less, though it's up to them how they solve the same tasks.

 

As an example, the rectangle cut and paste function is something that may exist in other editors as well, though I only know it from Emacs. It is very useful when I edit output from SID2MIDI, being able to remove entire columns of text.

Edited by carlsson
Link to comment
Share on other sites

I have no reasons to initiate or uphold text editor wars, I just like to point out what works for me and why I like it. People who like different are no less, though it's up to them how they solve the same tasks.

 

As an example, the rectangle cut and paste function is something that may exist in other editors as well, though I only know it from Emacs. It is very useful when I edit output from SID2MIDI, being able to remove entire columns of text.

 

No, no. Vi is better. :grin:

 

-dZ.

Link to comment
Share on other sites

Both of you are wrong. mcedit is the best.

 

Anyway, great tool. I hope someone would make a fully Inty tracker one day, akin to Famitracker that could output data in the MUSIC format. The one way to do it so the tracker wouldn't need to have its own playback routines would be to generate a simplistic IntyBASIC code that just plays music on bootup while including the song data (which would also test the export routine), then compile it with IntyBASIC and launch resulting rom with jzintv. Anyway, I hope someone will make one in future.

Link to comment
Share on other sites

I was digging around for AY based trackers a while ago and found something that looked promising and current as regarding to it still was maintained. How much work it would involve to extend that program to output a few more data formats is the big question, plus that a lot of tracker based effects like vibratos, glissandos, arpeggios, tempo changes etc aren't really supported by IntyBASIC MUSIC format and would need to be ignored when exporting.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

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