[Music] Jimmy's Jukebox -- Seeking dev assistance re:ZScript

For high-res texture/sprite projects, sprite-fix patches, music add-ons, music randomizers, and other graphic/sound-only projects.
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
User avatar
Jimmy
 
 
Posts: 4724
Joined: Mon Apr 10, 2006 1:49 pm
Preferred Pronouns: He/Him

[Music] Jimmy's Jukebox -- Seeking dev assistance re:ZScript

Post by Jimmy »

Image

Latest version [v9]: https://jimmy.the-powerhouse.net/WAD/j-jukebox-v9.zip
Latest User Jukebox [v9]: https://jimmy.the-powerhouse.net/WAD/j- ... 9-user.pk3
Instant Randomizer: https://jimmy.the-powerhouse.net/WAD/ju ... omizer.pk3

Requires GZDoom.

If you want to add some extra randomness to your Dooming experience, then why not give this a spin.

It allows you to generate a playlist of music, out of 843 tracks from various games and megawads (including a lot of my own and stewboy's original material), and will then play it throughout the entirety of any megawad desired. Plays well with classic, modern, or Oblige-generated megawads.

Be sure to bind your keys. Here are my defaults.
Spoiler: Keybind defaults
Run-down:
  • A new map (MAP00) is included which is used to generate the music selection.
  • There are 773 MIDI tracks available between 22 collections, these are: Ultimate Doom, Doom 2, TNT, Heretic, Hexen, Chex Quest 3, Memento Mori 1 & 2, Requiem, Strain, Hell to Pay/Perdition's Gate, Icarus, Hell Revealed II, Eternal Doom III, 2002: A Doom Odyssey, Whispers of Satan, Duke Nukem 3D, Descent 1 & 2, Hexen II (plus Portal of Praevus), Rise of the Triad, and the original work of Jimmy and Forty-Two.
  • Add the tracks from any given collection by pressing "use" against the corresponding title picture in MAP00. Once you're happy with your selection, hit the "Generate" switch to randomly create the playlist.
  • Once the playlist has been created, hit the exit switch to begin your playthrough. Or, hit the "Generate" switch again to clear the playlist, and again to regenerate it, if you weren't happy with it.
  • Also included in MAP00 is an actual jukebox, at which all tracks can be played individually.
Extra Features:
  • "Shuffle" is optional. It's on by default to allow for maximum randomization, but selecting just one soundtrack and turning off shuffle will put the tracks in the correct order.
  • "No repeats" is also an option, which is also on by default and stops repeats from ever occurring in the playlist.
  • The playlist "format" determines whether or not the tracks are grouped episodically. An episodic playlist should be used for Ultimate Doom, and a singular playlist for Doom 2.
  • You can adjust the length of the playlist, and also the number of 9-level episodes to generate.
  • The playlist can be brought up in-game. From here you can scroll through the generated tracks, change which track to play for each individual level, swap tracks, reorganize the playlist, and even load playlists saved to your ZDoom directory.
  • ZDoom's recently-added MENUDEF feature allows for many of these actions to be performed from a new menu. Bind a key to call it up.
Feedback will be very appreciated - I've worked long and hard at this, perfecting and cleaning it for what seems like all my life but is in fact only a few months. It's been tricky but worth it. :)

Hope you enjoy using it!
Last edited by Jimmy on Fri Jul 26, 2024 11:47 am, edited 28 times in total.
User avatar
Jimmy
 
 
Posts: 4724
Joined: Mon Apr 10, 2006 1:49 pm
Preferred Pronouns: He/Him

Re: [Fun] The Jimmy Jukebox!

Post by Jimmy »

Would someone be willing to help me finish this sodding thing? :x

I've had it with ACS's constant attempts to thwart whatever I try to implement into this mod. With frightening consistency that borders on it having gained sentience, this mod has repeatedly deceived, deluded and defeated me. I've worked solidly at it for the last three days - a process which has deftly removed the very last minuscule trace of my own sanity. My brain has slowly melted into a strange pudding-like substance. My fingers have been whittled to the very marrow, and can scarcely amount the energy required to type this post. I'm a withered shell of a man. I have tried every workaround, trick and exploit I know of to make this thing work properly, time and time again, but it always manages to find something obscure and utterly unpredictable to throw at terminal velocity right back at my unsuspecting face. I am not just fed up with this mod, I am stuffed almost to the point of bursting with it.

At this point, I can only give in, and upload what I have:
(EDIT: Updated. Use the top link.)

Here is a list of the new features:
  • The soundtracks from Doom, Doom 2, TNT, Memento Mori (1 & 2), Requiem, STRAIN and Hell Revealed 2 are now available to mix into the playlist.
  • Player can now turn off "now playing" messages.
  • Turn off "shuffle" to set the playlist's order to the soundtrack of whichever single megawad you have selected.
  • Use the number pad keys 4 and 6 to scroll through the entries in the generated playlist during the game. Use keys 7 and 9 to scroll through the array containing all 304 songs to find the one you want (or just do changemus, if you prefer).
It is at least usable. But there are two nagging problems which have plagued me right from square one:
  • When a playlist is generated, repeats (inevitably, and infuriatingly commonly) occur. The "no repeats" switch does nothing to address this.
  • Tracks can reappear consecutively in the generated playlist. I have placed a relatively simple block of code to prevent this from happening, but still it does, defying every thread of logic my slowly tapering mind is still able to cling to.
Now if you don't mind, I'm going to get under a large blanket, curl up into the fetal position, and wait for the nice man in the white suit to come and send to me to sleep land with his magic needle.
Last edited by Jimmy on Sat Mar 26, 2011 5:06 pm, edited 2 times in total.
User avatar
Jimmy
 
 
Posts: 4724
Joined: Mon Apr 10, 2006 1:49 pm
Preferred Pronouns: He/Him

Re: [Fun] The Jimmy Jukebox v4 (It's finished.)

Post by Jimmy »

Bleh.

Sorry about that last post. Still a little bit ticked off with this whole project, to be honest. Just encountered a possible "static buffer overflow" error which prevented one of the scripts from activating, and which I've had to overcome through the most ridiculous means thinkable - inserting a completely blank script into the map script. :? Yeah, I don't know either.

However, all problems aside, I think I can safely say that it is FINISHED. Get v4 here, now.
(EDIT: Updated. Use the top link.)

Main changes:
  • Now includes the Whispers of Satan soundtrack.
  • The "no repeats" option actually works. Thank God.
  • Tracks never reappear consecutively if "no repeats" is off.
  • Harmony MIDIs are more or less up to date (although one is still missing).
  • Fixes to in-game jukebox (operated by the numpad), plus the "Reset current music" option is actually in the game now.
  • Custom playerclass removed. Was useless to begin with.
  • GAMEINFO lump forces WAD to load doom2.wad. Episodic playlists (e.g. for Doom 1 and Heretic) aren't doable [just yet].
  • Miscellaneous fixes to music names/authors in main array, and to unshuffled soundtracks (for Doom 1 and TNT).
I will most likely periodically update this whenever I finish new songs.

One final thing: Please give me some feedback on this. I'd hate for nobody to find this at least mildly entertaining. :(
Last edited by Jimmy on Fri Jun 24, 2011 4:37 pm, edited 1 time in total.
User avatar
TwelveEyes
Posts: 38
Joined: Tue Oct 19, 2010 6:49 pm

Re: [Fun] The Jimmy Jukebox v4 (It's finished.)

Post by TwelveEyes »

This project definitely sounds intriguing to me. I haven't tested it yet, but I am interested in seeing where it goes.
User avatar
Jimmy
 
 
Posts: 4724
Joined: Mon Apr 10, 2006 1:49 pm
Preferred Pronouns: He/Him

Re: [Fun] The Jimmy Jukebox v4 (It's finished.)

Post by Jimmy »

Reuploaded. Just a few minor errors cleared up.
(EDIT: Updated. Use the top link.)

Sorry. :?
Last edited by Jimmy on Fri Jun 24, 2011 4:37 pm, edited 1 time in total.
Machalite
Posts: 44
Joined: Thu Feb 03, 2011 11:00 am

Re: [Fun] The Jimmy Jukebox v4 (It's finished.)

Post by Machalite »

If I were to make a suggestion, it would be to allow anyone to add any other music tracks to the list on their own, assuming your code can handle that. I would imagine that would be more appealing to anyone interested, because, while allowing us to choose from any of the groups of music tracks is a step in the right direction, few are going to like most of the songs in any given group, let alone all of them. Again, letting us cycle through the lot manually is a good idea, but it's flow-breaking.

The reason I think this would generate more attention is because, from my experience, there's rarely a point in which I want to change the default music. Be it for atmosphere reasons, because I'm used to it already, or simply because it's catchy, I can't say I've played Doom anticipating this kind of randomness, which is why I'm not using it personally. In a case where I would like some different tunes, a system like what you already have would mean I wouldn't have to, say, modify the .wad of the mapset to change the music tracks. A tutorial explaining how to add your own songs, and another one of those switches that activates them in the playlist generator, wouldn't go amiss.

There's nothing wrong with what you have here; it's an original idea (as far as I'm aware), and perfectly functional. I was just speculating. I don't speak for everyone, obviously, but I think there's even more potential here.
User avatar
Jimmy
 
 
Posts: 4724
Joined: Mon Apr 10, 2006 1:49 pm
Preferred Pronouns: He/Him

Re: [Fun] The Jimmy Jukebox v4 (It's finished.)

Post by Jimmy »

Machalite wrote:Be it for atmosphere reasons, because I'm used to it already, or simply because it's catchy, I can't say I've played Doom anticipating this kind of randomness, which is why I'm not using it personally.
I made this mod so that megawads which lack lots of custom music (like CChest1 and Demonfear, for instance) can be played with some classic and custom music to fill the gaps - I'm very much of the opinion that music often defines a mod. I flat out refuse to play anything with D_RUNNIN, and can never summon the willpower to go through a megawad that has no custom music at all. Hence, randomness is central to this mod, to help add appeal to megawads in areas which they might be lacking.

I will say though, I'm not the kind of person to turn on shuffle in Media Player and just let any old crap run. I do like uniformity from time to time, but if it's that you want in the generated playlist, turn off shuffle and select one megawad so that the playlist generates the sequence of tracks from that megawad's original soundtrack. But other than that, the whole point of the Jukebox is not only customizability, but unpredictability.
Machalite wrote:while allowing us to choose from any of the groups of music tracks is a step in the right direction, few are going to like most of the songs in any given group, let alone all of them.
Don't forget that music is art, and hence subjective. I personally adore the Memento Mori 2 and Requiem soundtracks, and have more than once used the separate music WADs provided by these megawads to accompany my playthroughs of other megawads. This is another reason I implemented the "no shuffle" feature.
Machalite wrote:Again, letting us cycle through the lot manually is a good idea, but it's flow-breaking.
I know. I guess an alternative would be making a GUI. But that would probably be nightmarishly difficult, especially considering the roadblocks I had to endure to get this project working the way it is currently. :(
Machalite wrote:A tutorial explaining how to add your own songs, and another one of those switches that activates them in the playlist generator, wouldn't go amiss.
Giving users a tutorial on how to add their own tracks easily could probably be a good idea, but to be honest, the size of the array holding all 341 songs in the library is enough to virtually break ACC already. :?
Machalite wrote:There's nothing wrong with what you have here; it's an original idea (as far as I'm aware), and perfectly functional. I was just speculating. I don't speak for everyone, obviously, but I think there's even more potential here.
No problem, thanks for the input. :)
User avatar
NeuralStunner
 
 
Posts: 12328
Joined: Tue Jul 21, 2009 12:04 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 11
Graphics Processor: nVidia with Vulkan support
Location: capital N, capital S, no space

Re: [Fun] The Jimmy Jukebox v4 (It's finished.)

Post by NeuralStunner »

Jimmy wrote:I flat out refuse to play anything with D_RUNNIN
"dooom 2 u suk cacobalz!!1" :tongue:
User avatar
Enjay
 
 
Posts: 26556
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: [Fun] The Jimmy Jukebox v4 (It's finished.)

Post by Enjay »

According to the StC system, Doom is pretty bad too:

http://www.doomworld.com/10years/stc/stc.php

But that's nothing to do with music, of course.
User avatar
Vader
Posts: 4241
Joined: Fri Jul 30, 2004 4:00 am
Location: Germany

Re: [Fun] The Jimmy Jukebox v4 (It's finished.)

Post by Vader »

Some very nice stuff in there! I like "Funky Stars" in particular :)
Some of the more creepy and atmospheric tracks are also very well done, but I can't remember a specific name ATM.
User avatar
Enjay
 
 
Posts: 26556
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: [Fun] The Jimmy Jukebox v4 (It's finished.)

Post by Enjay »

Just by chance, I got an error with my first selection. Map02 seemed to work though.

Code: Select all

MAP01 - entryway

ACS scripts unloaded.
Music "D_DREADF" not found
:shrug:
User avatar
Jimmy
 
 
Posts: 4724
Joined: Mon Apr 10, 2006 1:49 pm
Preferred Pronouns: He/Him

Re: [Fun] The Jimmy Jukebox v4 (It's finished.)

Post by Jimmy »

Honestly, nothing surprises me any more. While creating this mod, I've encountered errors that have confounded me repeatedly and endlessly. :?

That said, I don't know why that's happening to you. D_DREADF is definitely in the WAD. :?:
User avatar
Enjay
 
 
Posts: 26556
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: [Fun] The Jimmy Jukebox v4 (It's finished.)

Post by Enjay »

Jimmy wrote: D_DREADF is definitely in the WAD. :?:
It's not you know. At least it's not in my copy.

The only d_d* files I have are:

D_DARKMT
D_DEADLY
D_DEPART
D_DESECR
D_DIAMON
D_DIMENS
D_DULCEB
User avatar
Jimmy
 
 
Posts: 4724
Joined: Mon Apr 10, 2006 1:49 pm
Preferred Pronouns: He/Him

Re: [Fun] The Jimmy Jukebox v4 (It's finished.)

Post by Jimmy »

Ah. I think you're using an outdated version (which stupidly doesn't contain any of my SmartCTF tracks :?).

Make sure you're running this one:
(EDIT: Updated. Use the top link.)

Sorry, my bad for having misleading links. I'll update the first post's link.
Last edited by Jimmy on Sat Mar 26, 2011 5:06 pm, edited 1 time in total.
User avatar
Enjay
 
 
Posts: 26556
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: [Fun] The Jimmy Jukebox v4 (It's finished.)

Post by Enjay »

Ah right, my fault. I just used the link in the first post. No harm done. I'm grabbing v4 now. Thanks. :)

[edit] Aha! much slicker and the few tunes that I have listened to so far are very nice too. :) [/edit]
Last edited by Enjay on Sat Mar 19, 2011 6:49 pm, edited 1 time in total.

Return to “Graphic/Audio Patches”