propresenter_api 0.3.0 copy "propresenter_api: ^0.3.0" to clipboard
propresenter_api: ^0.3.0 copied to clipboard

An implementation of the ProPresenter API (legacy and current) for Dart.

example/propresenter_api_example.dart

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

import 'package:propresenter_api/propresenter_api.dart';
import 'package:propresenter_api/src/api_v1_generated.dart';
import 'package:propresenter_api/src/cache.dart';

void debug(Object s) {
  var enc = JsonEncoder.withIndent('  ');
  print(enc.convert(s));
}

void main() async {
  Cache.init('.');

  // // final awesome = ProApiClient();
  // var url = 'http://localhost:60157/v1/status/slide?chunked=true';
  // print('Connecting to $url');
  // var t = await ChunkedJsonClient.request(url);
  // if (t == null) print('failed request');
  // t?.listen((event) {
  //   var encoder = JsonEncoder.withIndent('  ');
  //   print('------------ NEW EVENT ---------------------');
  //   print(encoder.convert(event));
  //   print('--------------------------------------------');
  // });
  // PP.config('localhost', 60157);

  // var r = await PP.presentationGetActive();
  // var puuid = r['presentation']['id']['uuid'];
  // var u = await PP.presentationThumbnailGet(puuid, 0, quality: 600);
  // File('tmp.jpg').writeAsBytesSync(u);

  // var s = await PP.slideStatusGetStream();
  // if (s != null) {
  //   var encoder = JsonEncoder.withIndent('  ');
  //   s.listen((e) => print(encoder.convert(e)));
  // }

  var api = ProApiClient(ProSettings(version: ProVersion.seven9, host: 'localhost', port: 60157));
  api.on('all', (e) => debug(e));
  // pro.subscribeAll(withoutSysTime: true, withoutVideoCountdown: true);
  api.subscribeMulti([
    ProApiSubbable.slideStatus,
    ProApiSubbable.currentSlideIndex,
  ]);

  var s = await api.presentationGetActiveStream();
  s?.listen((e) => debug(e));
}
1
likes
130
points
35
downloads

Publisher

verified publisherjeffmikels.com

Weekly Downloads

An implementation of the ProPresenter API (legacy and current) for Dart.

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

http, image, multicast_dns

More

Packages that depend on propresenter_api