After yet another week of procrastination, I worked on this project again today. And since there is a little more meat on the bone this time, I decided to create a dedicated topic to gather feedback and whatnot. I can probably release this soon, unless I start procrastinating again. What do you think, anyway?
I'm still working out a few bugs before I can release this, but I'm confident I will be able to do so in the next few days (definitely within this month, tops). Right now, I'm happy because I added a workaround for a nasty issue with the timings. You wouldn't tell, but my previous video was recorded at a wrong frame rate (and I fixed it in postprocessing) because Windows is mean. The following videos, instead, are authentic as far as the frame rate is concerned: Now, the audio is still recorded from in_vgm and muxed in afterwards, I'll have to coordinate myself with ValleyBell to make the audio an actual feature of this program. On my part, what is left for me to do is to support as many coordination flags as possible, because converted songs are displayed just fine as of now, but stock songs (e.g. Green Hill itself) aren't. Now that the timing issues are fixed I can finally focus on this. And I still need more feedback (e.g. am I doing it wrong?), but I thank "penBorefield" and "Ch1pper" for their kind comments.
Okay so I'm a boring "normal" software developer who knows more about writing Windows applications and REST APIs than Sonic hacking, so I'm super curious: Language, libraries, etc.? Source code? Guessing a big fat no, and that's your right, but please don't give the standard "ugh my code is horrible and isn't up to x standard" excuse. Everyone's code is horrible and hacky. You should see the stuff people get paid to write.
Hey, thanks for expressing interest into this. right now it's pure Visual Basic 5, so it's going to require msvbvm50. However, as I said, it's only a silent viewer at this time (the audio in the youtube videos has been muxed in), so I'm nagging ValleyBell seeking integration with his smpsplay. If that happens, I can't predict which libraries it's going to require at that point. and yet, that's exactly my stance, I'm planning to release the source code in due time, but I want to polish it and comment it a bit, and this too depends on if I can get ValleyBell to integrate his smpsplay into this or not. Have faith, I am going to release something, I just can't predict a timeline, also because I should start a new job on monday, I always pick the worst times to stop procrastinating. Now, since thanks to you I dodged a double post in a topic which otherwise was going to be an uninteresting monologue with myself, I guess I might as well take this chance to give you all an update. A few more bugs have been ironed out, my program at last can finally load stock Sonic 1 songs just fine (Star Light Zone used to be problematic because of a mistake I did while adding support for coordination flags). As I said, I consider it almost ready for a release, but I don't want to rush it.
Oh, somewhat of an interesting question for SMPSView: is an FL Studio styled piano roll (or something similar) going to be used as an alternate viewing angle? I've never liked how various chiptune apps have this very specific layout I can't ever get used to. Tho I may have misinterpreted this as a convenient SMPS maker tool rather than looking at the internal workings of the files, but hey, that's just me, right?
There are two kinds of musicians in this world: those who prefer the horizontal view commonly used in sequencers (the "piano roll" you mentioned), and those who prefer the vertical view commonly used in trackers. Unfortunately for you, I am a tracker guy. Once I release the source code it won't be that hard to change things to suit your preferences, though. If you can get an artist on board, you can probably even draw sheet music in real time (grand staff and all) or something. I'm still waiting for feedback from ValleyBell about the aforementioned integration I wish to achieve with his smpsplay, but I might release a "silent" version of this viewer over the weekend depending on how I'm going to feel (I had to schedule my third shot for later this evening since I'm going to start a job as a math and science teacher in a high school (yes, another one after I quit the previous one) on monday).
I'm curious: how do you plan to handle different games with different handling methods, coordination flags, etc.?
I respect that. Just to clarify, the point I was making was, if you do intend to release something, don't let a perpetual cycle of polish be the reason it never happens. Now that I know it's running VB5, I may be tempted to try to make a C#/WinForms port. That's the advantage of open source -- I can leverage your knowledge of things like SMPS and my knowledge of a programming environment you may not be comfortable in. That being said, like I said, it's your right to not release anything. "I don't want to" is a legitimate reason, as far as I'm concerned. Hah! Or seeing TODOs, "Ugly hack!", and the like.
Don't worry, I too believe in Open Source and I'm definitely going to release this, just not in its current state. I usually write very bad code very quickly when I have an idea in mind so I can get it up and running fast to see how it works in practice, but I later like to take my time to make it better. I don't plan. But, as said above, the beauty of Open Source is that someone else can add support for Sonic 23K Edusoft Blast: Chaotix's Island CD Remix & Knuckles.
Man, do I feel like shit, that third shot really played a number on me like the second one. But I could still put this home time to good use (I hope). First, a couple more sample videos: edit: the beta has been removed from this post, because I'm making a proper release.
edit: this post contained outdated informations, and it can be trashed now. Or keep it, so the release is at the top of the next page. Your call. I just felt bad for quadruple posting.
I waited as much as possible to get some feedback, but I guess that's not going to happen. And since I promised a release within february, I'm already overdue, so I'm releasing the version which has been sitting on my hard drive for the last three weeks or so. http://info.sonicretro.org/SmpsView Should ValleyBell ever integrate his SmpsPlay with this, a new release will be handled accordingly. For now, it's just a silent viewer. You can still mux the audio in in postprocessing if you want to make videos for Youtube, though. Aside from that, I doubt I'm going to work on this ever again, though feel free to report any critical bugs and I might look into them.
Sorry, I got distracted by irl things these past few weeks and this project completely fell by the wayside for me! I remember I was determined to keep an eye on it and, honestly, I realize now that I misunderstood and thought it was more of a full SMPS player/editor. But feel good about getting as far as you did! Just the thought of using this in tandem with something like Chipsynth MD is really exciting!
It might become a player, but that's beyond my skills, that's why I sent the source code to ValleyBell a few weeks ago, if anyone can do the miracle, that's him. I thought about making an smps editor, too, but it wouldn't be trivial to make it work with existing songs, e.g. what to do with existing loops? Should they be unrolled while editing? And what about channels that share data at different pitches? There is a whole slew of practical questions which I don't know how to answer and I probably don't want to know how to answer.
Oh yeah, I get it. Better to do what you know you can do and plan/end accordingly instead of leaving it half-finished, riddled with ideas beyond your comfort level. I feel genuinely good for you accomplishing what you did! If ValleyBell does go further, fantastic! If not, it's still a cool novelty!
I can already tell the fun is infinite with SmpsView! I'm excited for the release! But this gets me thinking: there isn't really a good one-stop place to find SMPS audio tracks. I know most people hold onto their own audio tracks for their projects, but there are people who make SMPS tracks with no agenda to use them in a future project, e.g. all the people making 16-bit remixes of SA 1-2 music. I have a "supporter" account on neocities.org, I just setup a site for President Zippy, and I can keep homemade SMPS tracks there until we have a better place! https://presidentzippy.neocities.org 4/20/2022, EDIT: Nobody seems to be interested in using my neocities for a temporary repository, so scrap that... But the thanks for nineko still stands!