HLDJ wont change WAVs

Report any bugs you find using HLDJ
Post Reply
wh0rse
Game DJ
Posts: 1
Joined: Mon Jun 08, 2009 11:23 am

HLDJ wont change WAVs

Post by wh0rse »

[note: problem should be fixed in the HLDJ 1.5.0 Beta]

I've browsed this help forum in its entirety and i've seen quite a few topics on this exact problem but none that offer any working solution yet. So here it is...

What happens is HLDJ works and functions normally for a short while, and then randomly will refuse to change WAVs. The current loaded file will always be the same one, whichever one HLDJ got stuck on, and you cannot change it through any of the console commands or any other way. You can only fix the problem by restarting HLDJ and the game.

I've found that the source of the problem lies in autoexec.cfg. When HLDJ runs a game, it makes all these hldj_xxx.cfg files in the game's /cfg/ folder. Executing HLDJ_init.cfg is what actually starts HLDJ when you start the game. Unfortunately if you execute it twice while your game is up, it will cause HLDJ to get stuck on the current WAV. So a lot of us have added scripts for TF2, right? Mine all say to execute autoexec.cfg whenever I change classes, to reset everything. So it would happen that anytime I switched classes, HLDJ would stop working. I traced the problem down to autoexec.cfg and found that when HLDJ runs a game, it temporarily appends "exec hldj_init.cfg" to its list of things to do. No wonder!

My solution: Run HLDJ and rename "hldj_init.cfg" to "hldj.cfg". Create a new blank txt file and rename it to "hldj_init.cfg". Right click on the new file and go to properties and make it Read-Only.

Now, whenever my game starts, I type in "exec hldj" to get HLDJ started, the same effect as running hldj_init.cfg. Whenever autoexec.cfg runs, it will find your blank read-only hldj_init.cfg and just skip over it doing nothing. The WAV wont get stuck. Thats it.

PS I also wanted to say that HLDJ wouldn't detect my WAVs as playable files until I changed the actual WAV extension from uppercase to lowercase.
Renegade
HLDJ Developer
HLDJ Developer
Posts: 1500
Joined: Sat Mar 01, 2008 2:02 pm
Contact:

Re: SOLUTION: HLDJ wont change WAVs

Post by Renegade »

Good find! I was able to replicate this and will be working on a solution for 1.5.0.

The problem occurs when HLDJ expects a certain cmd config (i.e. hldj_cmd_x), however exec-ing hldj_init resets the current cfg back to the initial one (i.e. hldj_cmd_a) and creates a discrepancy between what HLDJ is expecting and what the game is delivering.

In the meantime, as a simpler solution, I suggest placing an "hldj_restart" command in your autoexec.cfg. This way, on successive executions of autoexec, HLDJ will restart first and will be expecting the initial cmd cfg.
The other thing you can do is enter "hldjsf" repeatedly until HLDJ starts responding again (about 20 times).

The WAV extension problem is fixed in the HLDJ 1.5.0 Beta.
Renegade
HLDJ Developer
HLDJ Developer
Posts: 1500
Joined: Sat Mar 01, 2008 2:02 pm
Contact:

Re: SOLUTION: HLDJ wont change WAVs

Post by Renegade »

Problem should now be fixed in the HLDJ 1.5.0 Beta.
Please give it a try and let me know if it works.
drline
Game DJ
Posts: 1
Joined: Mon Mar 15, 2010 3:49 pm

Re: HLDJ wont change WAVs

Post by drline »

hello, ive noticed a bug in the beta that could be appended to this;

the same phenomena happens when i restart a game without hitting stop/start before i start the game again.

heres a rundown:
1. press ▶ (PLAY)
2. start GAME
3. hldj works as it should
4. quit GAME
5. start GAME again
6. hldj lists audio files in the console, and functions normally, except the wav wont change
7. quit GAME
8. press ■ (STOP)
9. repeat steps 1-3

im not sure if this is normal behavior, but i do not remember hldj functioning like this before i updated

just wanted to let you know~
Renegade
HLDJ Developer
HLDJ Developer
Posts: 1500
Joined: Sat Mar 01, 2008 2:02 pm
Contact:

Re: HLDJ wont change WAVs

Post by Renegade »

The long and short of it is that it's expected behaviour and if you plan on restarting the game you should either stop/start HLDJ again or issue 'hldj_restart' beforehand. However if you forget to do this, there is a workaround, see below for details.

To elaborate on my previous post:
HLDJ uses a command queuing system whereby the game and HLDJ "agree" on what the next command file will be. You may notice this when a file is generated named "hldj_cmd_X.cfg" where "X" is a letter from a-z. So when HLDJ and the game begin, they both "agree" to use "hldj_cmd_a.cfg", the next command will use "hldj_cmd_b.cfg" and so forth until about "hldj_cmd_n.cfg", after which it starts back at 'a'.

The reason for this is so the user can issue multiple commands at a time, and HLDJ will process them one at a time (contrast with the old system where only a single "hldj_cmd" file was used resulting in newer commands overwriting older ones before they could be processed). Thus, the workaround if HLDJ and the game ever become "out of sync" (as would be the case if you restarted the game without telling HLDJ) is to simply keep issuing commands until the queue wraps back around to "hldj_cmd_a.cfg" (should be at most 15 commands).
Datastream
Game DJ
Posts: 6
Joined: Sun May 09, 2010 1:22 pm

Re: HLDJ wont change WAVs

Post by Datastream »

So that's why it will start working again after trying to see if it would work again! I usually keep on trying every 5 minutes or so thinking HLDJ will "reset" or something and then continue like normally. Just to think it that the answer was so obvious...
Post Reply