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 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
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.
🎯 Why a central entry point:
Section titled “🎯 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:
Section titled “🔧 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:
Section titled “📋 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
Section titled “📖 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
Section titled “Main features”🎭 Guest mode
Section titled “🎭 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
Section titled “🔧 Admin mode”- Full calibration of audio and video systems
- Management of projectors and audio channels
- System administration
- Monitoring and diagnostics
Quick start
Section titled “Quick start”Installation
Section titled “Installation”Add the dependency to your pubspec.yaml:
dependencies: flutter_freedome: ^3.0.0Basic usage
Section titled “Basic usage”import 'package:flutter_freedome/flutter_freedome.dart';
// Инициализация FreeDomefinal freedome = FreeDomeProvider();await freedome.initialize();
// Подключение к куполуawait freedome.connectToNearestDome();
// Воспроизведение контента приложенияawait freedome.playAppContent( appName: 'MyApp', contentName: 'Мой контент', appData: {'type': 'visualization', 'data': myData},);Quick start (one call)
Section titled “Quick start (one call)”// Быстрое воспроизведение контентаfinal success = await FlutterFreeDome.quickPlay( appName: 'MyApp', contentName: 'Мой контент', appData: {'type': 'visualization', 'data': myData},);Architecture
Section titled “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
Section titled “Supported platforms”- ✅ Android
- ✅ iOS
- ✅ Web
- ✅ Windows
- ✅ macOS
- ✅ Linux
Licence
Section titled “Licence”NativeMindNONC (see LICENSE).
Author
Section titled “Author”NativeMind Team
- Documentation
- Examples
- [Source (GitLab)](
freedome_dart
Commercial use → NativeMind sales.