Skip to content

Commit

Permalink
feat: add missing 708 stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
techno-disaster committed Sep 29, 2021
1 parent 1657c5e commit 0a28320
Show file tree
Hide file tree
Showing 3 changed files with 126 additions and 98 deletions.
204 changes: 107 additions & 97 deletions lib/models/settings_model.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ class SettingsModel {
String outputfilename;
bool fixptsjumps;
bool append;
String service;

// output file segmentation
String outInterval;
Expand Down Expand Up @@ -127,6 +128,7 @@ class SettingsModel {
this.outputfilename = '',
this.fixptsjumps = false,
this.append = false,
this.service = '',
this.outInterval = '',
this.segmentonkeyonly = false,
this.goptime = false,
Expand Down Expand Up @@ -226,6 +228,7 @@ class SettingsModel {
'outputfilename': '-o',
'fixptsjumps': '-fixptsjumps',
'append': '--append',
'service': '--service',
'outInterval': '--outinterval',
'segmentonkeyonly': '--segmentonkeyonly',
'goptime': '--goptime',
Expand Down Expand Up @@ -343,108 +346,111 @@ class SettingsModel {
return enabledtextfields;
}

SettingsModel copyWith(
{String? out,
String? inp,
String? outputfilename,
bool? fixptsjumps,
bool? append,
String? outInterval,
bool? segmentonkeyonly,
bool? goptime,
bool? nogoptime,
bool? fixpadding,
bool? freqEs15,
String? stream,
bool? videoedited,
bool? usepicorder,
bool? myth,
bool? nomyth,
bool? wtvconvertfix,
bool? wtvmpeg2,
String? program_number,
bool? autoprogram,
bool? multiprogram,
String? streamtype,
bool? hauppauge,
bool? mp4vidtrack,
bool? noautotimeref,
bool? noscte20,
bool? webvttcss,
bool? analyzevideo,
bool? notimestamp,
bool? nolevdist,
String? minlevdist,
String? maxlevdist,
bool? chapters,
bool? bom,
bool? nobom,
String? encoder,
bool? nofontcolor,
bool? nohtmlescape,
bool? notypesetting,
bool? trim,
String? defaultcolor,
bool? sentencecap,
String? capFile,
bool? kf,
String? profanityFile,
bool? splitbysentence,
bool? datets,
bool? sects,
bool? latrusmap,
bool? xds,
bool? lf,
bool? df,
bool? autodash,
String? xmltv,
String? xmltvliveinterval,
String? xmltvoutputinterval,
bool? xmltvonlycurrent,
bool? sem,
String? dvblang,
String? mkvlang,
String? ocrlang,
String? quant,
String? oem,
bool? bufferinput,
bool? nobufferinput,
String? buffersize,
bool? koc,
bool? dru,
bool? norollup,
String? rollUp,
String? delay,
String? startat,
String? endat,
String? codec,
String? nocodec,
String? startcreditstext,
String? startcreditsnotbefore,
String? startcreditsnotafter,
String? startcreditsforatleast,
String? startcreditsforatmost,
String? endcreditstext,
String? endcreditsforatleast,
String? endcreditsforatmost,
String? tpage,
bool? teletext,
bool? noteletext,
bool? hardsubx,
bool? tickertext,
String? ocrMode,
String? subcolor,
String? minSubDuration,
bool? detectItalics,
String? confThresh,
String? whiteThresh,
bool? splitMode}) {
SettingsModel copyWith({
String? out,
String? inp,
String? outputfilename,
bool? fixptsjumps,
bool? append,
String? service,
String? outInterval,
bool? segmentonkeyonly,
bool? goptime,
bool? nogoptime,
bool? fixpadding,
bool? freqEs15,
String? stream,
bool? videoedited,
bool? usepicorder,
bool? myth,
bool? nomyth,
bool? wtvconvertfix,
bool? wtvmpeg2,
String? program_number,
bool? autoprogram,
bool? multiprogram,
String? streamtype,
bool? hauppauge,
bool? mp4vidtrack,
bool? noautotimeref,
bool? noscte20,
bool? webvttcss,
bool? analyzevideo,
bool? notimestamp,
bool? nolevdist,
String? minlevdist,
String? maxlevdist,
bool? chapters,
bool? bom,
bool? nobom,
String? encoder,
bool? nofontcolor,
bool? nohtmlescape,
bool? notypesetting,
bool? trim,
String? defaultcolor,
bool? sentencecap,
String? capFile,
bool? kf,
String? profanityFile,
bool? splitbysentence,
bool? datets,
bool? sects,
bool? latrusmap,
bool? xds,
bool? lf,
bool? df,
bool? autodash,
String? xmltv,
String? xmltvliveinterval,
String? xmltvoutputinterval,
bool? xmltvonlycurrent,
bool? sem,
String? dvblang,
String? mkvlang,
String? ocrlang,
String? quant,
String? oem,
bool? bufferinput,
bool? nobufferinput,
String? buffersize,
bool? koc,
bool? dru,
bool? norollup,
String? rollUp,
String? delay,
String? startat,
String? endat,
String? codec,
String? nocodec,
String? startcreditstext,
String? startcreditsnotbefore,
String? startcreditsnotafter,
String? startcreditsforatleast,
String? startcreditsforatmost,
String? endcreditstext,
String? endcreditsforatleast,
String? endcreditsforatmost,
String? tpage,
bool? teletext,
bool? noteletext,
bool? hardsubx,
bool? tickertext,
String? ocrMode,
String? subcolor,
String? minSubDuration,
bool? detectItalics,
String? confThresh,
String? whiteThresh,
bool? splitMode,
}) {
return SettingsModel(
out: out ?? this.out,
inp: inp ?? this.inp,
outputfilename: outputfilename ?? this.outputfilename,
fixptsjumps: fixptsjumps ?? this.fixptsjumps,
append: append ?? this.append,
service: service ?? this.service,
outInterval: outInterval ?? this.outInterval,
segmentonkeyonly: segmentonkeyonly ?? this.segmentonkeyonly,
goptime: goptime ?? this.goptime,
Expand Down Expand Up @@ -548,6 +554,7 @@ class SettingsModel {
'outputfilename': outputfilename,
'fixptsjumps': fixptsjumps,
'append': append,
'service': service,
'outInterval': outInterval,
'segmentonkeyonly': segmentonkeyonly,
'goptime': goptime,
Expand Down Expand Up @@ -648,6 +655,7 @@ class SettingsModel {
outputfilename: map['outputfilename'],
fixptsjumps: map['fixptsjumps'],
append: map['append'],
service: map['service'],
outInterval: map['outInterval'],
segmentonkeyonly: map['segmentonkeyonly'],
goptime: map['goptime'],
Expand Down Expand Up @@ -743,7 +751,7 @@ class SettingsModel {

@override
String toString() {
return 'SettingsModel(out: $out, inp: $inp, outputfilename: $outputfilename, fixptsjumps: $fixptsjumps, append: $append, outInterval: $outInterval, segmentonkeyonly: $segmentonkeyonly, goptime: $goptime, nogoptime: $nogoptime, fixpadding: $fixpadding, freqEs15: $freqEs15, stream: $stream, videoedited: $videoedited, usepicorder: $usepicorder, myth: $myth, nomyth: $nomyth, wtvconvertfix: $wtvconvertfix, wtvmpeg2: $wtvmpeg2, program_number: $program_number, autoprogram: $autoprogram, multiprogram: $multiprogram, streamtype: $streamtype, hauppauge: $hauppauge, mp4vidtrack: $mp4vidtrack, noautotimeref: $noautotimeref, noscte20: $noscte20, webvttcss: $webvttcss, analyzevideo: $analyzevideo, notimestamp: $notimestamp, nolevdist: $nolevdist, minlevdist: $minlevdist, maxlevdist: $maxlevdist, chapters: $chapters, bom: $bom, nobom: $nobom, encoder: $encoder, nofontcolor: $nofontcolor, nohtmlescape: $nohtmlescape, notypesetting: $notypesetting, trim: $trim, defaultcolor: $defaultcolor, sentencecap: $sentencecap, capFile: $capFile, kf: $kf, profanityFile: $profanityFile, splitbysentence: $splitbysentence, datets: $datets, sects: $sects, latrusmap: $latrusmap, xds: $xds, lf: $lf, df: $df, autodash: $autodash, xmltv: $xmltv, xmltvliveinterval: $xmltvliveinterval, xmltvoutputinterval: $xmltvoutputinterval, xmltvonlycurrent: $xmltvonlycurrent, sem: $sem, dvblang: $dvblang, mkvlang: $mkvlang, ocrlang: $ocrlang, quant: $quant, oem: $oem, bufferinput: $bufferinput, nobufferinput: $nobufferinput, buffersize: $buffersize, koc: $koc, dru: $dru, norollup: $norollup, rollUp: $rollUp, delay: $delay, startat: $startat, endat: $endat, codec: $codec, nocodec: $nocodec, startcreditstext: $startcreditstext, startcreditsnotbefore: $startcreditsnotbefore, startcreditsnotafter: $startcreditsnotafter, startcreditsforatleast: $startcreditsforatleast, startcreditsforatmost: $startcreditsforatmost, endcreditstext: $endcreditstext, endcreditsforatleast: $endcreditsforatleast, endcreditsforatmost: $endcreditsforatmost, tpage: $tpage, teletext: $teletext, noteletext: $noteletext, hardsubx: $hardsubx, tickertext: $tickertext, ocrMode: $ocrMode, subcolor: $subcolor, minSubDuration: $minSubDuration, detectItalics: $detectItalics, confThresh: $confThresh, whiteThresh: $whiteThresh, splitMode: $splitMode,)';
return 'SettingsModel(out: $out, inp: $inp, outputfilename: $outputfilename, fixptsjumps: $fixptsjumps, append: $append, service: $service, outInterval: $outInterval, segmentonkeyonly: $segmentonkeyonly, goptime: $goptime, nogoptime: $nogoptime, fixpadding: $fixpadding, freqEs15: $freqEs15, stream: $stream, videoedited: $videoedited, usepicorder: $usepicorder, myth: $myth, nomyth: $nomyth, wtvconvertfix: $wtvconvertfix, wtvmpeg2: $wtvmpeg2, program_number: $program_number, autoprogram: $autoprogram, multiprogram: $multiprogram, streamtype: $streamtype, hauppauge: $hauppauge, mp4vidtrack: $mp4vidtrack, noautotimeref: $noautotimeref, noscte20: $noscte20, webvttcss: $webvttcss, analyzevideo: $analyzevideo, notimestamp: $notimestamp, nolevdist: $nolevdist, minlevdist: $minlevdist, maxlevdist: $maxlevdist, chapters: $chapters, bom: $bom, nobom: $nobom, encoder: $encoder, nofontcolor: $nofontcolor, nohtmlescape: $nohtmlescape, notypesetting: $notypesetting, trim: $trim, defaultcolor: $defaultcolor, sentencecap: $sentencecap, capFile: $capFile, kf: $kf, profanityFile: $profanityFile, splitbysentence: $splitbysentence, datets: $datets, sects: $sects, latrusmap: $latrusmap, xds: $xds, lf: $lf, df: $df, autodash: $autodash, xmltv: $xmltv, xmltvliveinterval: $xmltvliveinterval, xmltvoutputinterval: $xmltvoutputinterval, xmltvonlycurrent: $xmltvonlycurrent, sem: $sem, dvblang: $dvblang, mkvlang: $mkvlang, ocrlang: $ocrlang, quant: $quant, oem: $oem, bufferinput: $bufferinput, nobufferinput: $nobufferinput, buffersize: $buffersize, koc: $koc, dru: $dru, norollup: $norollup, rollUp: $rollUp, delay: $delay, startat: $startat, endat: $endat, codec: $codec, nocodec: $nocodec, startcreditstext: $startcreditstext, startcreditsnotbefore: $startcreditsnotbefore, startcreditsnotafter: $startcreditsnotafter, startcreditsforatleast: $startcreditsforatleast, startcreditsforatmost: $startcreditsforatmost, endcreditstext: $endcreditstext, endcreditsforatleast: $endcreditsforatleast, endcreditsforatmost: $endcreditsforatmost, tpage: $tpage, teletext: $teletext, noteletext: $noteletext, hardsubx: $hardsubx, tickertext: $tickertext, ocrMode: $ocrMode, subcolor: $subcolor, minSubDuration: $minSubDuration, detectItalics: $detectItalics, confThresh: $confThresh, whiteThresh: $whiteThresh, splitMode: $splitMode)';
}

@override
Expand All @@ -756,6 +764,7 @@ class SettingsModel {
other.outputfilename == outputfilename &&
other.fixptsjumps == fixptsjumps &&
other.append == append &&
other.service == service &&
other.outInterval == outInterval &&
other.segmentonkeyonly == segmentonkeyonly &&
other.goptime == goptime &&
Expand Down Expand Up @@ -855,6 +864,7 @@ class SettingsModel {
outputfilename.hashCode ^
fixptsjumps.hashCode ^
append.hashCode ^
service.hashCode ^
outInterval.hashCode ^
segmentonkeyonly.hashCode ^
goptime.hashCode ^
Expand Down
18 changes: 18 additions & 0 deletions lib/screens/settings/output_settings.dart
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ class OutputSettingsScreen extends StatelessWidget {
text: state.settingsModel.endcreditsforatleast);
TextEditingController endcreditsforatmost = TextEditingController(
text: state.settingsModel.endcreditsforatmost);
TextEditingController service =
TextEditingController(text: state.settingsModel.service);
return Scaffold(
appBar: AppBar(
flexibleSpace: FlexibleSpaceBar(
Expand Down Expand Up @@ -619,6 +621,22 @@ class OutputSettingsScreen extends StatelessWidget {
),
),
),
CustomDivider(
title: '708 closed caption decoder',
),
CustomTextField(
title: '708 service numbers',
subtitle:
'Enable CEA-708 (DTVCC) captions processing for the listed services. The parameter is a comma delimited list of services numbers, such as "1,2" to process the primary and secondary language services. Pass "all" to process all services found.',
onEditingComplete: () => context.read<SettingsBloc>().add(
SaveSettingsEvent(
state.settingsModel.copyWith(
service: service.text,
),
),
),
controller: service,
),
CustomDivider(
title: 'Live typo correction',
description:
Expand Down
2 changes: 1 addition & 1 deletion pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ packages:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.8.2"
version: "2.8.1"
bloc:
dependency: "direct main"
description:
Expand Down

0 comments on commit 0a28320

Please sign in to comment.