Flutter FreeDome (deprecated facade)
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 usefreedome_clientdirectly — 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.
🔗 Integration with FreeDome Manager through deep links
📱 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.
🎯 Why a central entry point:
- 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
🔧 Using deep links in your app:
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'
));
}
📋 Supported deep links:
Calibration:
freedome://calibration/start— start a full calibrationfreedome://calibration/audio— audio-only calibrationfreedome://calibration/video— video-only calibrationfreedome://quick/calibrate— quick calibration
App management:
freedome://app/calibrate?name=my_app— calibration for a specific appfreedome://app/settings?name=my_app— settings of an app
Dome systems:
freedome://dome/connect— connect to a domefreedome://dome/status— status of the dome system
📖 Description
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.
Main features
🎭 Guest mode
- Automatic discovery of dome systems on the network
- Playback of content from any app
- Basic settings (volume, brightness)
- A simple API for quick integration
🔧 Admin mode
- Full calibration of audio and video systems
- Management of projectors and audio channels
- System administration
- Monitoring and diagnostics
Quick start
Installation
Add the dependency to your pubspec.yaml:
dependencies:
flutter_freedome: ^3.0.0
Basic usage
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},
);
Quick start (one call)
// Быстрое воспроизведение контента
final success = await FlutterFreeDome.quickPlay(
appName: 'MyApp',
contentName: 'Мой контент',
appData: {'type': 'visualization', 'data': myData},
);
Architecture
- 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)
Supported platforms
- ✅ Android
- ✅ iOS
- ✅ Web
- ✅ Windows
- ✅ macOS
- ✅ Linux
Licence
NativeMindNONC (see LICENSE).
Author
NativeMind Team
Links
Commercial use → NativeMind sales (https://nativemind.net).
Libraries
- flutter_freedome
- flutter_freedome 4.x — deprecated facade over the Freedome SDK (
freedome_client,freedome_admin,freedome_flutter,freedome_device_fx). Every 3.0.0 symbol is kept and works over the real network; new code uses the SDK directly — seedoc/migration-to-freedome_client.md. - flutter_freedome_method_channel
- flutter_freedome_platform_interface
- flutter_freedome_web