Page 1 of 1
Computer crashed and presets gone?
Posted: 31 Aug 2019, 02:32
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
Re: Computer crashed and presets gone?
Posted: 31 Aug 2019, 03:27
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.
Re: Computer crashed and presets gone?
Posted: 31 Aug 2019, 04:13
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
Re: Computer crashed and presets gone?
Posted: 31 Aug 2019, 04:23
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

Thank you kindly for the insight!