vivysub_utils 0.2.0 copy "vivysub_utils: ^0.2.0" to clipboard
vivysub_utils: ^0.2.0 copied to clipboard

.ass/ssa subtitle tools, made for vivysub.app

VivySub Utils #

Parse and encode .ass/ssa subtitles

import 'dart:convert';
import 'dart:io';

import 'package:vivysub_utils/vivysub_utils.dart';

void main() async {
  final content = await File('test.ass').readAsString();
  final assParser = AssParser(content: content);

  final metadata = assParser.getMetadata();
  final comments = assParser.getComments();
  final sections = assParser.getSections();
  final styles = assParser.getStyles();

  final assStringify = AssStringify(sections: sections);
  String fileContent = assStringify.export();

  final editor = SubtitleEditor(
    parser: assParser,
    onChange: (String value) {
      // will be triggered if there're changes, returns stringified content for saving to a file
    },
  );

  final dialogs = editor.getDialogs();
  final dialogId = metadata.keys.elementAt(1);
  final existingDialog = dialogs[dialogId];

  final dialog = SubDialog(
    initial: existingDialog,
    text: 'Hey, Vivy!',
  );

  editor.update(
    type: ActionType.dialog,
    id: dialogId,
    value: dialog,
  );

  final newDialog = SubDialog(
    initial: existingDialog,
    text: 'New, Vivy!',
  );

  editor.add(
    type: ActionType.dialog,
    id: newDialog.id,
    value: newDialog,
  );

  editor.undo();
  editor.redo();

  final Entity selectedDialog = editor.getDialog(dialogId);

  print(jsonEncode(selectedDialog));
}

1
likes
130
points
60
downloads

Publisher

verified publishervivysub.app

Weekly Downloads

.ass/ssa subtitle tools, made for vivysub.app

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter, undo, uuid

More

Packages that depend on vivysub_utils