This project is read-only.
1
Vote

Presets not reflected in settings GUI

description

Since the preset changes in 1.5.19 presets saved with previous versions aren't being displayed in the GUI. As far as I can tell the options are still applied in the encode it's just the GUI isn't displaying them.

file attachments

comments

RandomEngy wrote Apr 14, 2014 at 3:45 PM

Which setting?

Croftie wrote Apr 14, 2014 at 5:34 PM

Encoder Settings on the Video tab and all the settings on the advanced tab. A few screenshots will probably explain it better..

Advanced Tab
1.5.18
Image
1.5.20
Image

Video Tab
1.5.18
Image
1.5.20
Image

RandomEngy wrote Apr 15, 2014 at 3:47 PM

Give 1.5.21 a try and see if that resolves your issues. Fixed a problem with presets getting marked as modified when they shouldn't be.

Croftie wrote Apr 15, 2014 at 5:04 PM

Fixed the preset modify issue but not the displaying of preset options. Can you see the difference in the screenshots? I'm not sure if you know what I mean or not.

Here's one of my presets, you should be able to reproduce it.

http://pastebin.com/NSesY8hj

RandomEngy wrote Apr 15, 2014 at 5:45 PM

Loading in that preset into 1.5.21 everything looks fine. The preset you gave me is V13. It upgrades it to V14 and correctly updates X264Options -> VideoOptions, X264Profile -> VideoProfile, X264Preset -> VideoPreset and H264Level -> VideoLevel. You can see all those options in the GUI.

I also tried installing the preset in 1.5.18 and then opening in 1.5.21, and it works then too. Can you give me some exact steps about how to reproduce from a clean start? What version would you install the preset in?

Croftie wrote Apr 15, 2014 at 6:48 PM

Ok here are some steps:
  1. Start with 1.5.18, import that preset I posted and confirm Advanced tab reflects the options in the preset and isn't just displaying default values.
  2. Next open 1.5.21, the values are now all set to default and don't reflect the options in the preset.
IIRC I was using 1.5.18, exported all my presets and uninstalled 1.5.18. Then installed 1.5.20 and imported my presets. After upgrading I always verify that the options in my presets have stuck but saw they all displayed the defaut values. So I exported one and compared it to the 1.5.18 export and saw all my option were present but the preset version and structure had changed.

RandomEngy wrote Apr 15, 2014 at 9:31 PM

I went through those exact steps but the settings never went back to default. Can you make sure that you've got 1.5.21, then import the preset you posted to pastebin? If it still doesn't work, send me your %appdata%\VidCoder-Beta\VidCoder.sqlite file.

Croftie wrote Apr 16, 2014 at 2:25 AM

Did you import it into 1.5.18 and then upgrade to 1.5.21? You have to do that instead of import it into 1.5.21 becasue 1.5.21 will fix the preset on import and the settigns will show.

Now I've had more time to look at this I've figured out what's going on.

When you upgrade to 1.5.21 these options are changed from X264* to Video*.

<X264Options>threads=12:lookahead-threads=1:level=4.1:vbv-bufsize=78125:vbv-maxrate=62500:rc-lookahead=50:ref=4:b-adapt=2:direct=auto:me=umh:subme=8:analyse=all</X264Options>
<X264Profile>high</X264Profile>
<X264Preset>slow</X264Preset>
<H264Level>4.1</H264Level>

However vidcoder needs the Video* values because that's the data the GUI uses. When you import the preset into 1.5.21 the Video* values are added back so you now have X264* and Video* in the preset and the GUI can display the options again.

I said earlyer that the encode uses the options in the preset dispite the GUI not displaying them, we know now that's because the encode uses the X264 values and the GUI uses the Video values which were missing hence not being displayed.

So basicly to get your custom preset options to display in 1.5.21 you have to reimport them.

RandomEngy wrote Apr 16, 2014 at 6:27 AM

I tried both. I imported into 1.5.18 and upgraded to 1.5.21, and it worked. It applies the settings to the encode as well. I still see the x264 settings in the preset but they don't get used, either in display on the GUI or in the encodes. It's using the new Video* settings, as expected.

Croftie wrote Apr 16, 2014 at 3:17 PM

Very strange. Attatched is my database then, hopefully you can reproduce it with this.

RandomEngy wrote Apr 16, 2014 at 4:21 PM

It looks like the preset somehow skipped the upgrade phase. The data is only stored in the outdated X264Options field and not in the new VideoOptions field. I think you are mistaken when you say that the encode uses the X264 values. If you check the encode log you can see that it's using the string specified in VideoOptions.

Croftie wrote Apr 16, 2014 at 5:29 PM

Your right I am mistaken, don't know how and can't be bother to go back and find out. Everything else I said is correct though as you can see with the VideoOptions field being missing.

RandomEngy wrote Apr 16, 2014 at 6:03 PM

Okay then, give me a 1.5.18 copy of VidCoder.sqlite that gets mangled when upgrading via 1.5.21. I can't get that to happen when testing on my own.

Croftie wrote Apr 16, 2014 at 7:01 PM

The VidCoder.sqlite I attatched is a 1.5.18 copy. I've attatched another one which is from after installing 1.5.21 and opening VC.

Can you confirm this MD5 is correct to rule out a corrupt download?

VidCoder-1.5.21-Beta-x64.exe
7AA35D9E7AF575D9FA61420B5D1250DB

Also when I try to install 1.5.21 over 1.5.18 I get this error:
http://s20.postimg.org/le2i138dp/VCError.png

To get 1.5.21 installed I have to uninstall 1.5.18, reboot and make sure the vidcoder install folder is empty. Then 1.5.21 will install without issue.

RandomEngy wrote Apr 16, 2014 at 7:32 PM

Doh! So it is. I'm able to repro now, thanks. Will work on fixing sometime in the next week.

Croftie wrote Apr 16, 2014 at 11:53 PM

Hurrah :)

RandomEngy wrote Apr 17, 2014 at 12:30 AM

Actually I found the issue. Your VidCoder.sqlite file that you said was from 1.5.18 actually was marked as having database version 24 (which is from 1.5.19). That's why the upgrade code didn't kick in. You must have gone backwards at some point without clearing VidCoder.sqlite.

I'll add in some code to warn when this happens and disallow opening a new database file from an older version.

Croftie wrote Apr 17, 2014 at 2:05 AM

The plot thickens :)

I went 1.5.18 to 1.5.20, saw this issue so tried 1.5.19, issue was still present so went back to 1.5.18. Since then I've also used 1.5.21 while testing. I didn't know it's necessary to clear the database file when downgrading, so as far as I'm concerned if I'm using 1.5.18 and save VidCoder.sqlite it's from 1.5.18. Because I saw the issue before downgrading there must be more to it.

If it's not possible to downgrade without going back to default a bulk preset Export/Import option would be very handy. When using the Betas it's often necessary to downgrade and Ex/Importing presets one by one is a pita.

RandomEngy wrote Apr 17, 2014 at 2:53 AM

Well the root of the problem is that there is no "downgrade" path in the code for presets. If you exported a preset from a later version the earlier version wouldn't know what to do with it. There's no way it could know because I don't know how the preset format is going to change in the future and I can't build that in. If you want to keep your presets for a version, keep a backup before you upgrade.

Croftie wrote Apr 17, 2014 at 5:56 AM

I understand that, my point is I downgraded after spotting this problem, Presets not reflected in settings GUI, so the downgrade can't be the root cause, it's just a consequence. Unless downgrading in the past could have caused this, it's possible I have done that several versions ago but I didn't downgrade directly before this issue. I downgraded becasue of the issue. The database I sent you wasn't from before I upgraded, it was from after I had upgraded and then downgraded.

Backing up the database for each version before upgrade is an option, but it doesn't help if you need to start fresh for testing purposes. I also like to keep rarely used presets in the more friendly xml format, rather than all loaded into vidcoder. Their easyer to manage and check quickly what options are saved within. I can fire up an sql viewer but a text editor is quicker and the xml layout easyer to deal with.

I can see the advantages for storeing the presets in a single file database but there are many advantages to having them saved seperately in plain text, a bulk import/export feature is a good compromise. Just a suggestion anyway, not a big deal.