RemoteRemote is a Flutter app allows you to remotely control parameters, via OSC, of an openFrameworks application that uses my ofxRemoteParameters addon. Please see that project's page for instructions on how to integrate ofxRemoteParameters with your OF project. Spoiler alert: it's easy!
Tested and built for:
- iOS
- MacOS
- Android (Simulator only, please let me know if it works with actual phones!)
The Web platform is currently not supported. Linux and Windows are untested.
You will need to have Flutter installed. If you are building for iOS or MacOS, you'll need Xcode. If you are building for Android you will need an Android SDK, but you should probably just install Android Studio.
- Clone the repo to your chosen folder.
- In Terminal, navigate to the folder and type:
flutter pub get
flutter run -d [YOUR DEVICE ID]
(runflutter -d
to find devices attached to your system)- NOTE: If you are building for iOS you might need to select a development team in the ios/Runner.xcworkspace file
Projects for iOS, MacOS, and Android, are provided.
- Run an OF App with an
ofxRemoteParameters::Server
, either in your local machine or elsewhere in the local network. I recommend you start with thebasic_server
example in the ofxRemoteParameters addon, and that you run it locally. - Run RemoteRemote.
- Provide the Server address. This can be an IP address or an mDNS hostname, or '127.0.0.1' if you are running the server locally.
- Press 'Connect'. If the server is found you should see a new screen with your parameters, ready to be edited!
- ofParameterGroup
- int
- float
- double
- bool
- ofColor
- ofFloatColor
- string
- vec2, vec3, vec4
- ofRectangle
Any unknown data types will be treated as Strings, so technically you'll still be able to edit them, albeit not very conveniently.
You can add support for new types by creating the appropriate Widget, serializer, and deserializer. Take a look at the OFParameterController
constructor to see how types are added to the system. Note that any new data types need to be supported by ofxRemoteParameters::Server
, and that the 'stringification' of the parameter needs to be implemented in both RemoteRemote and the Server.