$300 for porting Sztupy android ML controller to current builds

Started by gerk.raisen, December 14, 2013, 11:21:43 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

gerk.raisen

Hello,

Like sure many other users, I miss every day more the app for Android"ML camera controller" wrote by forum user Sztupy
It ceased working a long time ago, maybe when we changed all the layout menu or even before.
Now the only possibility to continue using it is with very old builds that lacks all the new big features developed after that (all modules, RAW rec at first)
So why not starting a funding raise to help resurrecting it? Like a sort of bounty :)
I'm starting offering 200$ (raised to 300$ !!!) that the developer/s can choose between: keep the money, donate it to the ML project, a charity organization or any other use.
If, (and I hope that) more rewards offers will come from other users, I'll update this post accordingly.

Prerequisites for the developer/s:
Be excited about working on it :) (of course).
An android Smartphone/Tablet (better if rooted) with an USB Host capable port, (maybe not necessary, Sztupy successful run it within a Android-x86 build inside VMWare Player)
A ML-compatible camera
Android developing knowledge

Unfortunately only source code for the ML part is available (not for the Android .apk part) but maybe Sztupy can help us with that or join this challenge itself.
I wrote a PM to him (see response below)

Sure it's not a simple work but I also hope that starting working on it can also work like a leverage and start a chain reaction :)
Just to assure of the goodness and seriousness of my intentions we can concord a step by step path with reward at every progress step reached.
All the work need to be public and open-source:
The ML part need to be regularly committed to bitbucket ML repository (if the developer have write access to it) or a pull-request created and keep updated if not.
Also the Android .apk part need to be totally open-source and hosted in a freely chosen code-repository platform (Bitbucket preferred)
My camera actually is a 60D and I own both a Samsung rooted phone and a rooted Samsung tablet so obviously is necessary that works at least on these devices combinations for reward purpose)

More info here:

Original developing thread on Google groups https://groups.google.com/forum/#!topic/ml-devel/Sw0B1kpFlIU

Bitbucket ML controller source https://bitbucket.org/sztupy/magic-lantern/src
Xda Android apps http://forum.xda-developers.com/showthread.php?t=1527773
App on Play Store https://play.google.com/store/apps/details?id=hu.sztupy.android.mlcontroller&hl=it

The idea is to fuse the the "Sztupy android ML controller" with the Android "DSLR Dashboard" app (a remote control camera app very similar to "Chainfire DSLR controller" but totally opensource GPLv3)
The "DSLR Dashboard" program itself is a mature opensource project that we can use as good start point.
It has the advantage of don't loss developing time duplicating functions already available on that program. (the "Liveview" part for example, if we find it more faster/reliable than Stzupy implementation).
We can focus instead on the "remote control" part, modifying it at our needs, integrating it with specific code from old Stzupy app to send and receive from/to camera other than normal PTP commands also the specific PTP-ML ones, simulate keypress of camera physical buttons and interact with ML menus, and maybe also have a sort of "command line" with possibility to launch command and scripts (when they will return :)

Anyone interested ?? :)

About the Dslr Dashboard program:

Source repository https://code.google.com/p/dslrdashboard/
App on Play Store https://play.google.com/store/apps/details?id=com.dslr.dashboard

development thread (it called nikon DSLR dashboard but don't worry :)
http://forum.xda-developers.com/galaxy-s2/themes-apps/app-nikon-dslr-dashboard-via-usb-v0-30-t1256583

It's also recommended from the author of LrTimelapse (..<<Shooting Holy Grail sequences involve changing exposure time and ISO in between the shooting interval. To avoid touching the camera when doing this, Zoltan Hubai, the developer of DslrDashboard, kindly agreed to implement a "LRTimelapse Mode" into his great Android App for controlling the camera.>>)

Maybe the GUI is not so nice as the popular "DSLR Controller" but have more or less the same features including the ability of remote control the camera with PTP commands other than USB cable also via wireless with the cheap (less than 40$) "TP LINK MR3040 - Portable Battery Powered 3G/4G Wireless N Router" as described here in a previous post
http://www.magiclantern.fm/forum/index.php?topic=10688.msg104121#msg104121
But most important is opensource GPL v3
On Nikon side also the little Nikon WU-1a/1b adapter is supported (not tested on Canon perhaps)

Simply flashing the TPLINK MR3040 with a customized firmware based on opensource project Openwrt that include a little serverside program called DslrDashboardServer (also totally opensource)
That program, auto-loaded at MR3040 startup, with the camera connected to it with USB) to it, relay PTP commands to the client program on smartphone or tablet via WiFi, from where you can control the camera.
DslrDashboardServer repository: https://github.com/hubaiz/DslrDashboardServer

I did not yet contacted the author but maybe also he can help us. (He can be willing, he already did some custom changes to the program after LRtimelapse author suggestions)
I'll keep this thread updated with every progression about the project.

++A free MR3040 will be offered at the first user that make a first tangible step to this project.

UPDATE 20/05/14
Increased reward to 250$, added a first-step reward (a MR3040) and changed to the Dslr Dashboard as opensource starting point.
See http://magiclantern.fm/forum/index.php?topic=9570.msg115991#msg115991

UPDATE 10/07/14
Changed this post to reflect info from my last post.
Raised reward to 300$

SztupY

I haven't forgotten about the project, but I have to completely revisit the ML code, which has changed a lot since ML controller was built ages ago, and that takes a lot of time.

hdx

@SztupY: Would you mind sharing source code of ML Controller?

Africashot

I wish I had cash/knowledge/motivation in heaps to be throwing at you to make this work!!!
ML 5D2 & T3i

halimasch88

Hey! Why not get real crowdfunding for this? I'm very interested in the further development of this project, and i think so are many ML users... But unlike the threadstarter i would not want to use it secondary to DSLR-controller - i would love to see a higher framerate for LV/recording (like in DSLR-controller) plus the adjustability of the ML/general features just like gerk.raisen. I would pay both for fundraising and the app, because it's simply worth it!! I would also like to work on the project, but i don't have any skills to offer (besides making music or film ;) )

Hoping Regards!
halimasch

SztupY

I know myself enough to know that whatewer I do wouldn't end up good in a crowdfounded environment, as I usually cannot commit to pet projects on a long-term (unless it's my actual day job)

That said, I did revive my old dev VM, and started looking at all the changes ML received in the last 1.5 years so I could resume some work on ML controller. As with the last release I still plan on release all PC code as AGLP, while keeping the android one closed until it's stable enough. After that it's going to be AGPL as well.

gerk.raisen

@Sztupy
You will be my hero :)

I will very pleased to offer all my help to test of course...Alpha,beta version all is welcome :)

dlrpgmsvc

If you think it's impossible, you have lost beforehand

rainless

Hello there!

I'm an android programmer AND i have experience with crowdfunding.

I don't have much experience with programming for Magic Lantern, but I have worked on some other DSLR apps.

So if you're willing to put up that 200 bucks I'm willing to accept the challenge, start a kickstarter, and then hire a team of people to get this done.

Somebody have a link to Sztupy's apk?
The Gear - Canon 5D Mark II, Yongnuo 565EX flash, PhotoSel 3mx3m backdrop stand with 3mx3m muslin backdrops. Elinchrom D-Lite 4 it studio lights, some big-ass 110cm reflector. Unlimited German Models

gerk.raisen

Hello,

Yes the offer is still valid.
We were only waiting a brave knight  :)

Remenber that other than the android app I think a lot on work is necessary on ML-side to create the module

Some work is already WIP:
https://bitbucket.org/hudson/magic-lantern/pull-request/420/refactor-audio-to-use-new-config-var

But I think that start a project will encourage some developers to support us with the changes needed.

For the .apk sources as you could see my first post are not available at the moment, only a link to the Play Store where you can install the apk
From Stzupy bitbucket https://bitbucket.org/sztupy/magic-lantern/downloads you can download a very old ML version that works with the Android app.
All the public info/documentation is in the links I posted.

Seems that also Stzupy after my post start looking again at the program,(he also expressed the intention of releasing all the code as AGPL when done) but after that I never heard nothing more :(
Maybe you can try contact him for help or having the .apk source code.

Here a quick-list /ideas of the features for the Android app at this stage:

-Total Opensourceness...see my first post
-Simulate the press of camera physical buttons.
-Interaction and selection from ML menu and see the ML overlays that appears on camera screen
-Liveview (if possible also the Canon Menus)
   The FPS performance is very slow in the original app, but I think that now with the hardware evolution of these passed years and a bit of optimization we can arrange more :)

Also your idea of use Nikon WU-1B is very interesting, but maybe this is more simple to control the camera wireless:
http://www.magiclantern.fm/forum/index.php?topic=10688.msg104121#msg104121
or we can use (but seems less reliable) an Android key/low-end phone to forward the data to the Android app

rainless

Thanks. I think my idea and this ML controller kind of go hand in hand... if I can finish one it should be easy to do the other. :)
The Gear - Canon 5D Mark II, Yongnuo 565EX flash, PhotoSel 3mx3m backdrop stand with 3mx3m muslin backdrops. Elinchrom D-Lite 4 it studio lights, some big-ass 110cm reflector. Unlimited German Models

gerk.raisen

Great!

So you accept the challange?
You have all the help I can :)

gerk.raisen

I had just read about a program similar to DSLR controller but totally open source.

It's
DSLR Dashboard


It can control the camera with PTP command via usb cable
Totally opensource GPLv3
https://code.google.com/p/dslrdashboard/

https://play.google.com/store/apps/details?id=com.dslr.dashboard

development thread (it called nikon DSLR dashboard but don't worry :)
http://forum.xda-developers.com/galaxy-s2/themes-apps/app-nikon-dslr-dashboard-via-usb-v0-30-t1256583

It's also recommended from the author of LrTimelapse (..<<Shooting Holy Grail sequences involve changing exposure time and ISO in between the shooting interval. To avoid touching the camera when doing this, Zoltan Hubai, the developer of DslrDashboard, kindly agreed to implement a "LRTimelapse Mode" into his great Android App for controlling the camera.>>)


Maybe the GUI is not so nice as DSLR Controller but have more or less the same features, included the ability of remote control the camera with PTP commands other than USB cable also via wireless with the cheap (less than 40$) "TP LINK MR3040 - Portable Battery Powered 3G/4G Wireless N Router" as described here in a previous post
http://www.magiclantern.fm/forum/index.php?topic=10688.msg104121#msg104121
On Nikon side also the little Nikon WU-1a/1b adapter is supported (not tested on Canon perhaps)

Simply flashing the TPLINK MR3040 with a customized firmware based on opensource project Openwrt that include a little serverside program called DslrDashboardServer (also totally opensource)
That program, auto-loaded at MR3040 startup, relay the PTP commands to the client program on smartphone or tablet via WiFi, from where you can control the camera.
https://github.com/hubaiz/DslrDashboardServer

I think it's a good start point to modify this already mature project at our needs integrating it with specific code to send and receive also PTP-ML code from/to the camera and simulate keypress
and interact with ML menus.. and maybe also have a sort of "command line" with possibility to launch command and scripts (when they will return :)

I did not yet contacted the author but maybe also he can help us.


P.S. Raised reward to 250$ and I offer a free MR3040 at the first user that make a first tangible step to this project, just to keep the topic hot :)

bobbygd

Quote from: rainless on March 26, 2014, 05:36:22 PM
Thanks. I think my idea and this ML controller kind of go hand in hand... if I can finish one it should be easy to do the other. :)

Hope you can finish it :)

natschil

FYI: the magic lantern ptp code (in ptp.c and ptp.h) is fine, in fact I am using it to control my camera via usb (via some very hacky ptp handlers I wrote ) right now.