vgmrips

The forum about vgm files
It is currently 2017-08-22, 7:19:52

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Midi Event Editor
PostPosted: 2012-08-13, 0:43:21 
Offline

Joined: 2011-11-30, 17:26:44
Posts: 454
Location: Italy
In the past days I've been writing a Midi Event Editor (if you are a regular visitor of our IRC Channel you should already know about that).

You can download version 0.3 HERE.

It is a 32-bit Windows executable, it should technically run fine in any 32-bit and 64-bit version of Windows, from 95 onwards. It requires the MicroSoft Visual Basic Virtual Machine 5.0 (msvbvm50) DLL, which can be obtained from Microsoft's website here: http://support.microsoft.com/kb/180071.

It is quite simple and it's not finished yet. But it can be useful.

Discuss.

_________________
My webhost decided to shut down most of my webspace without a warning. If you find any broken Digilander link in any of my posts (basically all of them should be), please inform me.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-08-13, 19:12:55 

Staff Staff
Programmers Programmers
Offline
User avatar

Joined: 2012-04-22, 4:03:45
Posts: 203
Location: New York, NY, USA
i'm trying it on my work comp - MSVBVM50.DLL is listed as missing, and i don't have admin privileges on this comp, therefore it's not completely portable.

maybe try to remove VB dependencies (or build them in as static or bundle the DLL w/the exe)? i really want to check this out and verify how well it works, as i've made it a point to learn as much abt MIDI on the PC as possible.

(edit - here is the msdn link for the missing DLL; i'd also like to request the source for perusal, personal education, and possibly try to recreate it using byuu's nall+phoenix for possible integration into vgmtool)


Last edited by neologix on 2012-08-13, 19:16:28, edited 2 times in total.

Top
 Profile  
 
 Post subject:
PostPosted: 2012-08-13, 19:27:25 
Offline

Joined: 2011-11-30, 17:26:44
Posts: 454
Location: Italy
I am sorry I forgot to mention msvbvm50.dll, I usually add a link to that library whenever I release one of my programs, in fact I did so when I posted this same program on another forum, just a few minutes after I posted it here. I don't really know how I could forget about it. I usually provide this link, however, so the users will know what he's downloading instead of directly linking them to an exe. I added this information to my first post. Thanks for pointing this out.

As for the source code: sure, not now though. Right now it's quite messed up (and I'm fixing some major bugs that somehow ended up in the 0.1 beta, so 0.1.1 will come soon). I will probably send it to ValleyBell privately first, but I indeed plan to open this eventually.

Thanks for the interest you expressed about this, by the way, it's very much appreciated :)

_________________
My webhost decided to shut down most of my webspace without a warning. If you find any broken Digilander link in any of my posts (basically all of them should be), please inform me.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-08-13, 20:12:22 

Staff Staff
Programmers Programmers
Offline
User avatar

Joined: 2012-04-22, 4:03:45
Posts: 203
Location: New York, NY, USA
Ok, loaded it up, here are a few thoughts while I have a moment at work:

  • The track list dropdown should probably find the first "Track Name" meta event and put that in brackets next to Track # (eg, "Track 1" becomes "Track 1 [ Song Name ]" (cuz Track 1 is the master track) "Track 2" becomes "Track 2 [ Track Name ]" , etc)
  • I like that Note On w/vel 0 is listed as Note Off*, but for consistency I think it should list what the event ACTUALLY is first (Note On vel=0), THEN list Note Off in parentheses. Even better is if you can add the ability to 1-click convert Note On vel=0 to Note Off vel=previousVel instead of me having to manually do it.
  • In the event list, how abt column headers? This would also allow listing the channel separately from the rest of the info in a much smaller column (titled "CH#" or something similarly small). Headers could be {Time, Ch#, Type, Name/Value/Data}
  • Given that PPM can be changed during a song, the Time Division field at the top would only be reliable if it updates based on your position in the event list. This may be more advanced functionality, but it'd be really useful to have.


I'll have more feedback as I use it properly; also, I'll send you a more complete list of CC names when I get to my laptop.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-08-13, 20:52:09 
Offline

Joined: 2011-11-30, 17:26:44
Posts: 454
Location: Italy
neologix wrote:
In the event list, how abt column headers? This would also allow listing the channel separately from the rest of the info in a much smaller column (titled "CH#" or something similarly small). Headers could be {Time, Ch#, Type, Name/Value/Data}
I had columns and headers at a certain point in time, but I didn't like them so I ditched them in favour of the new layout.
neologix wrote:
Even better is if you can add the ability to 1-click convert Note On vel=0 to Note Off vel=previousVel instead of me having to manually do it.
Ironically, I implemented this just a few hours ago, I actually wanted this feature to be included in version 0.1, but I later decided to postpone it, so it will be part of the next release. You will be able to convert between regular Note Off events to "fake" Note Off events.

I will release version 0.1.1 later today.

_________________
My webhost decided to shut down most of my webspace without a warning. If you find any broken Digilander link in any of my posts (basically all of them should be), please inform me.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-08-13, 21:12:09 
Offline

Joined: 2011-11-30, 17:26:44
Posts: 454
Location: Italy
In fact, here is a link to version 0.1.1, I just don't feel like programming more than this for today :P

It has some new features, and I fixed some of the horrible bugs which were present in 0.1 (I guess I just can't learn: I always release my programs one day sooner than I should, so the first version is always filled with avoidable bugs); also, there is now a rudimentary error handler.

_________________
My webhost decided to shut down most of my webspace without a warning. If you find any broken Digilander link in any of my posts (basically all of them should be), please inform me.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-08-13, 23:54:41 

Staff Staff
Programmers Programmers
Offline
User avatar

Joined: 2012-04-22, 4:03:45
Posts: 203
Location: New York, NY, USA
BTW, what's your personal preference re Note Off vs Note On vel=0? I know that the latter is used mainly for taking advantage of MIDI's running status feature, but nowadays it's more likely that a non-note on event on a potentially different channel is sent btwn Note On and Note Off time (even more so if it's a type 0 sequence).

I personally use Note Off for clarity and a greater chance of compatibility if I ever need to use something that doesn't implicitly read Note On vel=0 as Note Off.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-08-14, 0:26:16 
Offline

Joined: 2011-11-30, 17:26:44
Posts: 454
Location: Italy
I don't really have a preference (hence why I am completely supporting both of them in my program), if anything because I rarely work with Midi files at all, I very much prefer trackers and I usually deal with XM files instead. One of the reasons that led me to write this editor, in fact, is that I wanted to increase my knowledge of the Midi format in detail, learn how to handle Midi files at a low level, to focus on something which is outside of my normally preferred area, I like to challenge myself with things I'm not very familiar with. I already wrote at least 4 programs that dealt with Midi files[sup](1)[/sup], but none of them were as complex as this. I am doing this mainly for myself, as an exercise, which is actually proving to be quite interesting. But since I also think that the editor is shaping up quite nicely, I decided to release it to everyone in the hope it can also be an useful program.

For the record, I actually agree that "real" Note Off events are clearer to read and parse, but it's undeniable that using "fake" Note Off events can reduce the size of the file, especially if it's in format 1 and it's well formatted.

[hr]Note 1: Midi to S&KC, S&KC to Midi, Midi to YM2612 vgm, smps to Midi; interestingly enough, 3 of those have been improved by ValleyBell, who also indipendently wrote his own version of the 4th one, too.

_________________
My webhost decided to shut down most of my webspace without a warning. If you find any broken Digilander link in any of my posts (basically all of them should be), please inform me.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-08-19, 4:07:02 
Offline

Joined: 2011-11-30, 17:26:44
Posts: 454
Location: Italy
I released version 0.2; you can find it in the first post.

It fixes some bugs caused by Visual Basic's compiler itself, and I added many interesting features. Check it out :)

_________________
My webhost decided to shut down most of my webspace without a warning. If you find any broken Digilander link in any of my posts (basically all of them should be), please inform me.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-08-19, 7:14:22 

Staff Staff
Programmers Programmers
Offline
User avatar

Joined: 2012-04-22, 4:03:45
Posts: 203
Location: New York, NY, USA
for some reason my browser viewed it as a text file when regular clicking the link; had to do right-click->save as to bring up the dialog.

does your server not have .rar registered under a binary mime type?


Top
 Profile  
 
 Post subject:
PostPosted: 2012-08-19, 12:46:33 
Offline

Joined: 2011-11-30, 17:26:44
Posts: 454
Location: Italy
That's weird; I've been hosting my stuff there in the past... 8 years maybe (I forgot, might be even more than that), and RAR files always worked fine for everyone so far, in fact I just tried to download it myself and it worked as intended.

I will upload the RAR on my Dropbox if someone else will report the same problem, though.

_________________
My webhost decided to shut down most of my webspace without a warning. If you find any broken Digilander link in any of my posts (basically all of them should be), please inform me.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-08-22, 10:23:44 

Programmers Programmers
Artists Artists
Offline
User avatar

Joined: 2011-12-12, 12:43:15
Posts: 75
Late, but I can confirm the link working properly in Opera 12.01 too.

_________________
Sik is pronounced like "seek", not like "sick".
http://www.mdscene.net/


Top
 Profile  
 
 Post subject:
PostPosted: 2012-09-03, 10:03:36 
Offline

Joined: 2011-11-30, 17:26:44
Posts: 454
Location: Italy
Please note the release of version 0.3, with even more features and even more bugs fixed.
You can find it in the first post, or here.

I don't think I will release other versions (unless someone finds a problematic bug, in which case I will quickly release a version 0.3.1), so I sent the source code to ValleyBell.

_________________
My webhost decided to shut down most of my webspace without a warning. If you find any broken Digilander link in any of my posts (basically all of them should be), please inform me.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-09-28, 19:53:10 
Offline

Joined: 2011-11-30, 17:26:44
Posts: 454
Location: Italy
You know what? Here, you can have the source. It's a prime example of bad coding, but maybe someone can do something good with it. Have fun and give credit if you want to reuse this.

_________________
My webhost decided to shut down most of my webspace without a warning. If you find any broken Digilander link in any of my posts (basically all of them should be), please inform me.


Top
 Profile  
 
 Post subject:
PostPosted: 2012-09-28, 20:07:51 

Staff Staff
Programmers Programmers
Offline
User avatar

Joined: 2012-04-22, 4:03:45
Posts: 203
Location: New York, NY, USA
Tom wrote:
...maybe someone can do something good with it....


someone = valleybell or myself :D thanks!


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group