Skip to content

flutter_freedome

flutter_freedome 4.x is deprecated. It keeps the 3.0.0 API working over the Freedome SDK (freedome_client, freedome_admin, freedome_flutter, freedome_device_fx). New code should use freedome_client directly — see doc/migration-to-freedome_client.md.

A unified Flutter library for FreeDome dome theatres. It offers a guest mode for content playback and an admin mode for the full setup and calibration of dome systems.

The README published with 3.0.0 on pub.dev was in Russian; this English version has the same content and the same code examples.

Section titled “🔗 Integration with FreeDome Manager through deep links”

📱 The freedome:// scheme — a single entry point

Section titled “📱 The freedome:// scheme — a single entry point”

All apps of the FreeDome ecosystem use one deep-link scheme, freedome://, to start calibration and integration. Any freedome:// deep link always opens FreeDome Manager, which then coordinates the work with the other apps.

  • One place for calibration — every app is calibrated through FreeDome Manager
  • Consistent user experience — the same interface for every operation
  • Simpler integration — no need to implement your own calibration
  • Automatic synchronisation — settings apply to all apps
import 'package:url_launcher/url_launcher.dart';
import 'package:flutter_freedome/flutter_freedome.dart';
// Запуск калибровки для вашего приложения
Future<void> startCalibration() async {
await launchUrl(Uri.parse('freedome://app/calibrate?name=my_app'));
}
// Быстрая калибровка
Future<void> quickCalibrate() async {
await launchUrl(Uri.parse('freedome://quick/calibrate'));
}
// Запуск с callback для получения результатов
Future<void> calibrateWithCallback() async {
await launchUrl(Uri.parse(
'freedome://calibration/start?callback=myapp://calibration_complete'
));
}

Calibration:

  • freedome://calibration/start — start a full calibration
  • freedome://calibration/audio — audio-only calibration
  • freedome://calibration/video — video-only calibration
  • freedome://quick/calibrate — quick calibration

App management:

  • freedome://app/calibrate?name=my_app — calibration for a specific app
  • freedome://app/settings?name=my_app — settings of an app

Dome systems:

  • freedome://dome/connect — connect to a dome
  • freedome://dome/status — status of the dome system

Flutter FreeDome gives your Flutter apps a simple way to work with FreeDome dome theatres: a guest mode for content playback and an admin mode for the full setup and calibration of the systems.

  • Automatic discovery of dome systems on the network
  • Playback of content from any app
  • Basic settings (volume, brightness)
  • A simple API for quick integration
  • Full calibration of audio and video systems
  • Management of projectors and audio channels
  • System administration
  • Monitoring and diagnostics

Add the dependency to your pubspec.yaml:

dependencies:
flutter_freedome: ^3.0.0
import 'package:flutter_freedome/flutter_freedome.dart';
// Инициализация FreeDome
final freedome = FreeDomeProvider();
await freedome.initialize();
// Подключение к куполу
await freedome.connectToNearestDome();
// Воспроизведение контента приложения
await freedome.playAppContent(
appName: 'MyApp',
contentName: 'Мой контент',
appData: {'type': 'visualization', 'data': myData},
);
// Быстрое воспроизведение контента
final success = await FlutterFreeDome.quickPlay(
appName: 'MyApp',
contentName: 'Мой контент',
appData: {'type': 'visualization', 'data': myData},
);
  • FreeDomeProvider — main entry point and state management
  • ConnectionService — connections to dome systems
  • AuthService — authentication and user roles
  • ContentService — content and playback
  • CalibrationService — audio and video calibration (admin only)
  • SystemService — system management (admin only)
  • ✅ Android
  • ✅ iOS
  • ✅ Web
  • ✅ Windows
  • ✅ macOS
  • ✅ Linux

NativeMindNONC (see LICENSE).

NativeMind Team

  • Documentation
  • Examples
  • [Source (GitLab)](freedome_dart

Commercial use → NativeMind sales.