quanticc / lawena-recording-tool

Simple movie recording tool for Source Engine games
http://lawena.github.io/
GNU General Public License v3.0
80 stars 16 forks source link

P bind to start and stop recording lost. Not working after re-binding #78

Closed green-claymore closed 8 years ago

green-claymore commented 8 years ago

It just says "no movie started" in console when I try and use the bind now. It does seem like the framerate changes though. I changed the bind button from P to L in the recbindings.cfg in lawena's cfg folder, but same result. Any help please?

quanticc commented 8 years ago

It's possible that you have a bind that conflicts with the P key. If you changed it, make sure you edit the key in all places it appears in that file. There are 3 instances:

Alternatively, use startrecording and stoprecording directly from the console

green-claymore commented 8 years ago

I did change the bind from P to L in those 3 locations. The "startrecording" command doesn't seem to do anything. Isn't it supposed to be "startmovie NAME raw", to create .tga images and a .wav audio file? Since the bind stopped working I've been doing the recording manually with the aforementioned command. Only trouble with that is that audio and video isn't in sync after I compile the images and audio file with VirtualDub, which I bring back to sync inside Vegas when editing.

quanticc commented 8 years ago

Lawena config files are not being executed then, maybe there's some file conflicting with Lawena's autoexec or other .cfg files.

The startrecording bind eventually calls startmovie. It just makes some changes before doing so and sets up a "movie slot" to avoid overwriting previously recorded segments.

If you are recording manually, check that you are using tga wav as startmovie last two arguments. For syncing in VirtualDub check the guidelines in https://github.com/iabarca/lawena-recording-tool/wiki/Synchronize-audio-and-video -- if desync persists you might want to slowdown the engine with host_timescale 0.01 or a similar low value (Lawena uses 0.001) before recording.

green-claymore commented 8 years ago

Does the potential conflicting file come from the demo file I'm trying to make a clip out of? I don't really know what I can try to make sure lawena's config files are being executed.

As for the manual recordings, the "raw" argument at the end seems to make it into .tga and .wav files, as those are definitely the ones I have after doing it manually, and it has always done that. Will VirtualDub figure out the framerate itself when setting it to fit the audio file as described in the guide you linked? Normally I just put in the same framerate as I set in-game for recording when I do it manually (120).

quanticc commented 8 years ago

The .dem files keep all commands input when they were recorded, so they are played back each time you watch them. Lawena tries to mitigate the effects of this by disabling certain cvars so they do nothing, but it is not possible to cover all cases. For instance if the demo does exec autoexec you might run into trouble.

Another possibility is that you are introducing a .cfg file into the game folder by selecting it as a Custom resource. For example, you are selecting your own config file into Lawena, which may contain autoexec.cfg and/or config.cfg that keeps all bindings and therefore P would get overwritten.

I'm not sure why typing startrecording into the console when watching a demo would not record. The only possibility is that the autoexec from Lawena cfg folder is not being run because the file is not in the resulting custom folder or some other autoexec is being picked up before. If that is the case you would not get a console message with a little Lawena description of its keybindings upon game start.

Will VirtualDub figure out the framerate itself when setting it to fit the audio file as described in the guide you linked?

Yes. Maybe setting an exact number is causing the desync. Normally you'd end up with some decimal quantity.

green-claymore commented 8 years ago

Just tried again, and it's working normally with my L-bind now. I definitely sometimes have done "exec autoexec" during some games while recording a demo of it, and I figure that is the reason. However, when the demo does "exec autoexec" while lawena's config is active, wouldn't it just execute the lawena config at that point? I don't even think this is a new demo I'm trying now, same as last when it didn't work. The lawena message does appear in the console when I launch TF2 through lawena, btw.

quanticc commented 8 years ago

I can't confirm but my guess is that the "exec autoexec" originally executed certain commands when recorded. Those commands were saved and are being reexec'd when watching it.

You'd be able to check this by doing:

developer 1
demo_debug 1
con_filter_enable 1
con_filter_text "dem_consolecmd"

To watch commands/key presses recorded.

green-claymore commented 8 years ago

Thanks for the help! And thanks for creating this excellent tool!

quanticc commented 8 years ago

You're welcome :smile: