Computer crashed and presets gone?

All your suggestions, requests and ideas for future development
Post Reply
Liquidbings
Posts: 6
Joined: 05 Aug 2019, 21:13

Computer crashed and presets gone?

Post by Liquidbings »

Hello and thank you for such a wonderful program it has helped me immensely over the months!

Windows 10 filebot gui 4.8.6 beta I also have 4.8.5 installed thru the .msi x64 installer in another location

My computer shutdown unexpectedly a few hours ago and I had filebot open. I had a number of presets saved...around 8 maybe (4 of them were the newer ones I used, modified from other peoples code, all 4 mostly the same with different directories and or move/rename) and when the computer restarted there were only 4 of the older ones I had that I dont currently use and were not updated.

My preferences backup in the portable folder seems to be from about a month ago and not an updated one as the modified date is all the way back on the 6th.

my history.xml file is accurate but I see no way to reconstruct the preset I had saved from that?

Is there anything else I can do other than spend the time figuring out what the heck I had modified to get the results as intended? lol I knew I should have posted it in the share section smh
Thank you kindly for anyone's time and any help anyone may be able to provide. I had spent a week or so making the preset perfectly what I had been looking for and now I seem to be back at square one lol
Liquidbings
Posts: 6
Joined: 05 Aug 2019, 21:13

Re: Computer crashed and presets gone?

Post by Liquidbings »

Code: Select all

I:/TV/{n}/{regular ? 'Season ' + s.pad(1) : 'Specials'}/
{
	def space = call{' '};
	
	def dir_root = 'I/TV/'+
	call{hd.matches(/(?i)SD/) ? '480p-720p/' : ' '}+
	call{hd.matches(/(?i)HD/) ? '720p-1080p/' : ' '}+
	call{hd.matches(/(?i)UHD/) ? '4k/' : ' '};
	// Main Title e.g.
	// 1408 (2007) (Director's Cut) 1080p HD Blu-ray non-HDR x264 DTS5.1ch_SiNNERS
	// 300 (2007) 720p HD BRRip non-HDR x265 DTS 5.1ch_ESiR
	// Deadpool (2016) 2160p UHD WEB-DL non-HDR AVC DTS-HD MA 7.1ch_DDR
	// Deadpool 2 (2018) (Super Duper Cut) 2160p UHD Blu-ray REMUX HDR10bit ATEME TrueHD Atmos 13Obj 7.1ch_EPSiLON
	def main_title = call{n}+
	space + call{s00e00}+
	space + '-'+
	space + call{t}+
	space + call{fn.matches(/(?i).+\b25th.+?anniv.+/) ? '(25th Anniv. Edition)' : ' '}+
	space + call{fn.matches(/(?i).+\b\(limited\b.*?\).+/) ? '(Limited Edition)' : ' '}+
	space + call{fn.matches(/(?i).+\b\(uncut\b.*?\).+/) ? '(Uncut)' : ' '}+
	space + call{fn.matches(/(?i).+\bcollector.+?s.+?edition\b.+/) ? '(Collector\'s Edition)' : ' '}+
	space + call{fn.matches(/(?i).+\bdirect.+?cut\b.+/) ? '(Director\'s Cut)' : ' '}+
	space + call{fn.matches(/(?i).+\bextended.+?\b.+/) ? '(Extended)' : ' '}+
	space + call{fn.matches(/(?i).+\bextended.+?edit\b.+/) ? '(Extended Edition)' : ' '}+
	space + call{fn.matches(/(?i).+\bimax\b.+/) ? '(IMAX Edition)' : ' '}+
	space + call{fn.matches(/(?i).+\blimited\b.+/) ? '(Limited)' : ' '}+
	space + call{fn.matches(/(?i).+\bremastered\b.+/) ? '(Remastered)' : ' '}+
	space + call{fn.matches(/(?i).+\bsuper.+duper.+cut\b.+/) ? '(Super Duper Cut)' : ' '}+
	space + call{fn.matches(/(?i).+\btheatrical\b.+/) ? '(Theatrical)' : ' '}+
	space + call{fn.matches(/(?i).+\bunrated\b.+/) ? '(Unrated)' : ' '}+
	space + call{any{fn.match(/\([^\()+?[^\d]+?\)\s*/)} {' '}{' '}}+
	space + '['+ call{self.vf ? self.vf : self.hpi}+
	space + call{hd}+
	space + call{source.matches(/(?i)blu.*ray/) ? 'BluRay' : {source} ?: 'WEB-DL'}+
	space + call{fn.matches(/(?i).+\bremux\b.+/) ? 'REMUX' : ' '}+
	space + call{fn.matches(/(?i).+\bwebrip\b.+/) ? 'WEBRip' : ' '}+
	space + call{fn.matches(/(?i).+\bhevc.+?\b.+/) ? '(x265)' : ' '}+
	space + call{fn.matches(/(?i).+\bx265\b.+/) ? '(x265)' : ' '}+
	space + call{fn.matches(/(?i).+\b264\b.+/) ? '(x264)' : ' '}+
	// Only calls {hdr} if it's not SD else non-HDR
	space + call{if (hd =~ 'HD') {any{hdr + bitdepth + 'bit'}{'non-HDR'}}}+
	space + call{vc}+
	space +
	// Call audio
	// Thread here where I got the base code: https://www.filebot.net/forums/viewtopic.php?f=5&t=5285
	call {
		def mCFP =
		[
		'AAC LC SBR PS' : 'AAC',
		'AAC LC SBR' : 'AAC',
		'AAC LC' : 'AAC',
		'AC 3 Dep' : 'E-AC3',
		'AC 3' : 'AC3',
		'DTS 96 24' : 'DTS 96-24',
		'DTS ES XBR' : 'DTS-HD HRA',
		'DTS ES XLL' : 'DTS-HD MA',
		'DTS ES XXCH XBR' : 'DTS-HD HRA',
		'DTS ES XXCH XLL' : 'DTS-HD MA',
		'DTS ES XXCH' : 'DTS-ES',
		'DTS ES' : 'DTS-ES',
		'DTS XBR' : 'DTS-HD HRA',
		'DTS XLL X' : 'DTS X',
		'DTS XLL' : 'DTS-HD MA',
		'DTS' : 'DTS',
		'E AC 3 JOC' : 'EAC3 Atmos',
		'E AC 3' : 'EAC3',
		'MLP FBA 16 ch' : 'TrueHD Atmos',
		'MLP FBA' : 'TrueHD',
		'MP3' : 'MP3',
		'MPEG Audio' : 'MP2',
		'PCM' : 'PCM'
		];
		def audioClean = { it.replaceAll(/[\p{Pd}\p{Space}]/, ' ').replaceAll(/\p{Space}{2,}/, ' ').slash(' ') };
		def channelClean = { it.replaceAll(/Debug.+|Object\sBased\s?\/?|(\d+)?\sobjects\s\/\s|0.(?=\d.\d)|20/).replaceAll(/6/,'5.1').replaceAll(/8/,'7.1') };
		def audioCollection = audio.collect
		{ au ->
			def channels = any{ channelClean(au['ChannelPositionsString2'])}{ channelClean(au['ChannelsOriginal'])}{ channelClean(au['Channels']) };
			def dynChannel = {au['NumberOfDynamicObjects'] + 'Obj'};
			def ch = channels.tokenize('\\/').take(3)*.toDouble().inject(0, { a, b -> a + b }).findAll { it > 0 }.max().toString() + 'ch';
			def codec = audioClean(any{ au['CodecID/Hint'] }{ au['Format'] });
			def format_profile = { ( au['Format_AdditionalFeatures'] != null) ? audioClean(au['Format_AdditionalFeatures']) : '' };
			def combined = allOf{codec}{format_profile}.join(' ');
			def stream = allOf { mCFP.get(combined, 'UNKNOWN_FORMAT--'+combined+'--') } { dynChannel } { ch };
		};
		return audioCollection[0].join( ' ' )
		} +
		'_'+
		// Group
		call{any{"$group"}{fn.match(/(?<=[_-])[^\s_-]+?$/)}{'NA'}.replaceAll(/[-_\[\]]\s*|\.\w{3}$/, '')};
		// Language
		def lang = call{any{'.'+lang}{lang}}+{fn.matches(/(?i).+sdh.+/) ? '_SDH' : ''}{any{fn.match(/(?i)\(foreignpartsonly\)/)}{''}};
		// Extension
		def ext = call{'.'+ext};
		// Call all the bindings to create the result
		(call(main_title).replace(':', ';') + call(lang)).replaceAll(/null/,'')
	}[{runtime} Min]
I think I may have replicated it pretty close to what I had going.

I was using Stephen147 code and modified it a bit to give me the info I was looking for. So thank you kindly for all of the hard work Stephen and everyone else who has contributed thoughout the years as I think I may have read every page on here about presets and such lol

If anyone sees anything I could clean up in this code or anything that may be a better way to implement it I am open to ideas and suggestions. Thank you kindly just for looking.
Last edited by Liquidbings on 31 Aug 2019, 04:21, edited 1 time in total.
User avatar
rednoah
The Source
Posts: 22923
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Computer crashed and presets gone?

Post by rednoah »

The MSI package will store the Presets in the Windows Registry. The ZIP portable package uses a properties file in the application data folder. The latter is written to disk when the application exits, but is lost when the application is killed suddenly.

FileBot will also create a cross-platform xml file for all your settings as a backup, but that one is only updated once per month:
viewtopic.php?f=3&t=4205
:idea: Please read the FAQ and How to Request Help.
Liquidbings
Posts: 6
Joined: 05 Aug 2019, 21:13

Re: Computer crashed and presets gone?

Post by Liquidbings »

rednoah wrote: 31 Aug 2019, 04:13 The MSI package will store the Presets in the Windows Registry. The ZIP portable package uses a properties file in the application data folder. The latter is written to disk when the application exits, but is lost when the application is killed suddenly.

FileBot will also create a cross-platform xml file for all your settings as a backup, but that one is only updated once per month:
viewtopic.php?f=3&t=4205
Ahh I believe that explains why it went poof when my computer crashed and why the backup xml is form almost a month ago lol. I have now saved several copies of the preset using notepad++ and on this forum :D Thank you kindly for the insight!
Post Reply