In the past when I wrote an Android app using Processing-Android open-source code SDK, I could not combine Android GUI elements with my Processing code. It was not possible to mix the Android GUI features with a Processing sketch in a display screen. I had to rely on special purpose GUI libraries written by volunteers to add more elaborate graphical elements to an app.
During the past year the open-source Android Processing Language development team volunteers modified the internal substructure code of Processing-Android to use Android Fragments instead of Activity classes, thereby allowing Android GUI elements to be combined with Processing GUI sketches within a single screen display in an app.
Searching the Internet I could not find any examples of code that combined the GUIs. I modified (forked) the Processing Android Demo code on Github.com to use as a base for some new examples of Processing Android code I wrote that combines Processing sketches with Android GUI elements. Use this link to see the Android Studio project code:
For Processing coders It's a little more complicated because you will have to use Android Studio SDK instead of the Processing SDK to combine the code development libraries.
Here are photos of my landscape configured Twin Samsung NX500 Camera 3D Stereo Rig mounted on a tripod. (I also have a portrait configured rig I describe in a blog post here.) The left eye camera is mounted upside down to get the smallest possible camera separation distance. The rig has an inter-axial camera lens separation of 86 mm with the camera strap lugs not cut off, otherwise I could have had a separation of 82 mm inter-axial.
The cameras are mounted on a 3D printed support I devised in a Z-bar format and had Shapeways.com manufacture the support in rigid plastic. A large painter's sanding paper handle holds the support mount for comfort. The whole rig weighs about 3 lbs with 16 mm fixed lens and UV protection filter.
The Sony Z1S smart-phone runs a Remote Capture app (Android) that sends broadcast shutter control commands over the phone's WiFi Hot-spot local network to the firmware modified NX500 cameras.
The pictured Bluetooth remote shutter device sends key presses for focus and shutter commands to the app that then sends the WiFi broadcast commands to the cameras. To my knowledge it is not possible to use the Bluetooth controller directly to control the NX500 camera without a firmware modification. If Bluetooth shutter remote was possible, then you would need two controllers wired together for 3D, or one for each camera you want to trigger.
Without the Bluetooth shutter release controller, I tap the phone screen to control the camera operations with more features available (like video).
With this setup I do not need to carry an external portable WiFi DHCP router with me, the phone does it all using WiFi Hot-spot!
The Remote Capture app can also control the twin cameras in video mode to make 3D videos. Also more cameras can be added to the WiFi network for multiple views of a scene at the same instant. Additional Android smart-phone cameras can be added to the WiFi network to capture simultaneous multiple views using the Open Camera Remote app.
I have not measured the NX500 camera's shutter synchronization time when using WiFi. It is acceptable for non-flash shoots, but not as good as a wired camera's shutter/focus remote. Of course the cameras have to be both locked in focus to get the best synchronization. This is the reason for the focus hold feature in the Remote Capture app. I find synchronization works best in NX500 camera manual mode, not auto mode. A lot depends on the movement of your subject and camera synchronization to capture the best quality 3D stereo photo.
Today on the Google Play Store, I published a free Android open source camera app: Open Camera Remote. My camera app is a modified version of the open source Open Camera app by Mark Harman for Android phones and tablets. The Open Camera Remote app listens for broadcast message camera shutter trigger commands when connected to a local WiFi network.
Used with the WiFi Remote Capture app, you now have the capability to take photos and videos simultaneously with multiple Android smart-phone cameras. The WiFi Remote Capture app uses a local WiFi network to transmit capture/shutter release commands to all the cameras that are connected to the same local network. You can use this pair of apps for 3D stereo photography, multi-camera angle video shoots, multi-camera VR panoramic image capture.
At a social gathering, party, photo shoot, or other group event with all the participants using the Open Camera Remote app to take photos or videos and all participants connected on the same local WiFi network, you can trigger all the cameras to take pictures at the same instant.
The WiFi Remote Capture app now works with two types of cameras:
1. Samsung NX500/NX1 Cameras
2. Android smart-phones running the Open Camera Remote App
|Screen shot of WiFi Remote Capture Android App|
Here's a link to my new free Android app to trigger photo focus/shutter and video record/pause operations with firmware modified Samsung NX500/NX1 cameras.
The app sends shutter control commands to multiple cameras on a local WiFi network via broadcast messages. I use it for 3D photography with a home-made twin NX500 camera 3D rig. No more control wires, but I sometimes had to carry a portable WiFi DHCP link router with a phone charging battery to power the router, plus a smart phone to run the Remote Capture app.
Now with an updated app version 1.3, I only need to carry a phone to run the app and uses its mobile hot-spot feature for a local WiFi network. With this hot-spot DHCP feature available in the phone, I no longer need a separate router to carry with me.
Some phones like my Samsung S6 (t-mobile) require you to have a sim card to use the WiFi hot-spot feature, but I was able to use a Sony Z1S phone (t-mobile) without a sim card to run the WiFi hot-spot local network. This phone also runs the Remote Capture app.
Detail information about usage and code you need for the NX500 camera can be found at: