Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - petabyte

Pages: 1 [2] 3 4 5
General Chat / Re: New PTP Camera Controller App for Android
« on: December 19, 2022, 06:44:24 PM »
I think an option to turn the display 90 and 180 degrees as well as mirroring it could be useful in some situations.. What about RAW recording while using your app?
PTP while recording MOV/MLV is possible. I've hardly tested my custom liveview module (for liveview while recording) but it works while recording both formats. Unstable currently, but works.

General Chat / Re: New PTP Camera Controller App for Android
« on: December 19, 2022, 04:24:42 AM »
I've made a lot of progress - bulb works, focus works, mirror flipping works, live get/set ISO/aperture/shutter speed/image format is almost done, and liveview works (on Linux and Android)
Now I need to make the HTML/CSS/JS user interface a little better. This is what I'm currently working on:
Currently I've been testing it mostly in portrait mode, but I think users will be in landscape mode the most (with a phone mounted to the flash mount).
Having both won't be impossible, but it might require a lot of planning and CSS magic (and likely some JS stuff too) to make everything fit properly and not overlap.

So I'm asking a bunch of camera nerds, what UI layout would be optimal? Would you ever use portrait mode? What should I tweak in my current design?

General Development / Re: Magic Lantern USB Installation Tool
« on: December 13, 2022, 10:34:03 PM »
Release 0.9.3
Now recommend win32 libusb filter installer over Zadig

I spent a while working on a Windows driver for PTP, and finished it, but it's pretty much useless. I wrote it
with Wia (Windows image acquisition), and the win32 API seems to build a tree of all files on the SD card
when the device is opened, which takes around 5 minutes if your card if filled up. Other than that it works perfectly.

General Chat / Re: Brainstorming features for a PTP/USB/IP Android App
« on: December 02, 2022, 08:00:17 PM »
Maybe there's some other way to achieve the GPS function. It just works as a GPS logger, recording phone location every minute(or at a specific time). When users use their phone to output photos from the camera, the app will automatically write the location to EXIF. At the same time, the software can export the location information for a time period as a separate file and the user can write the photo location information in batches on the computer using ExifTool.
I can say this: whatever the EOS apps can do, I can do.

General Chat / Re: Brainstorming features for a PTP/USB/IP Android App
« on: December 01, 2022, 11:32:55 PM »
Bulb mode is easy to implement, at least for Canon. Trying to design everything so a Nikon/Sony/Fuji extension would be as easy as possible.

General Chat / Re: Brainstorming features for a PTP/USB/IP Android App
« on: December 01, 2022, 07:35:59 PM »
Time sync is possible I think. GPS - I don't know. Would be vendor specific I guess.
Still working on this consistently - just a time consuming and difficult project.

Modules Development / Re: ML Tetris (
« on: November 25, 2022, 07:16:30 PM »
Is it because EOSM has "Q" "Set" combined? so game does not start?
Maybe? I don't know, I've never used an EOS M and I'm not familiar with the button macros.
Are you compiling or
Wouldn't make sense if none of the buttons work, I assume it must be some kind of major bug. Maybe try in Qemu?

General Chat / Re: How to quit service mode on a Canon camera?
« on: November 23, 2022, 08:23:38 PM »
You can disable it with EvProcs over USB:
mlinstall supports calling EvProcs with parameters. I think chdkptp can do it too.
Edit: Nevermind - I think service mode disables PTP. You might be able to install ML on it and run the EvProc from Lua.

Modules Development / Re: ML Tetris (
« on: November 19, 2022, 03:13:37 AM »
Should work if you compile it yourself. MODULE_KEY_PRESS macros might be different.

You couldn't get the source code. You might be able to throw it in Ghidra and use that to help you rewrite the code.

User Introduction / Re: Ahei, Dasandimian! (I'm JOELwindows7)
« on: November 17, 2022, 04:58:31 PM »
Welcome, I recognize you from Github

General Chat / Re: Brainstorming features for a PTP/USB/IP Android App
« on: November 15, 2022, 03:58:43 PM »
Quick google search shows it's a completely new IP based protocol created by Canon, for their very high end cameras.
Has nothing to do with PTP, so this app will never support it. Even if I could support it, I'm nowhere near getting my hands on a $2000 cinema camera.

General Chat / Re: Brainstorming features for a PTP/USB/IP Android App
« on: November 12, 2022, 11:58:37 PM »
what do you think about Canon XC Protocol ?
Never heard of it

General Chat / Re: Brainstorming features for a PTP/USB/IP Android App
« on: November 11, 2022, 03:21:02 AM »
- Implemented screen liveview
Very slow, ~5fps transferring 259k per frame, should eventually be improved to ~30fps (?)
- MOV recording is possible while transmitting screen data - haven't tested RAW yet
- Base code for the app is implemented - stable data transmission, connecting/disconnecting, working backend (hardest part finished)
- It's written mostly in C99, which communicates with some Java code via JNI. The frontend will be written in JS/HTML/CSS (WebView), which will be transparent over the graphical canvas element.
- The app will allow custom JS scripts to be run/loaded to provide extra functionality - this is where ML interconnectivity can be implemented.
- The app will be sold on Google Play.
- While I'm working on the Android/Java backend, I'm also working on a LibUSB backend (WinUSB soon, hopefully) and implementing a browser based version.
Eventually, a WiFi connected raspberry pi could be plugged into the camera, which would host a control panel that could be accessed by any device on the same network.

TODO List:
- Design modern user interface, find icons
- Implement ~10 PTP opcodes
- Implement ~30 canon/eos opcodes
- Implement parsing/packing of object structures + into/from JSON
- Ensure LibUSB backend is reliable/stable
- Design a PTP API for Javascript
- Implement PTP/IP support - I think it's less complicated than USB, but painfully unreliable
- Sort out JPEG decoding/encoding
- Decide on a good name... currently "CamControl"

Camera-specific Development / Re: Canon EOS 1300D / Rebel T6
« on: November 06, 2022, 05:12:18 AM »
Finally managed to get EOS Utility working with my camera. Turns out LibUSB wasn't permanently installed, but I had managed to uninstall the Windows MTP driver.
In order to restore this driver, head to C:\Windows\INF\ and right click on the wptmtp.inf, and Cick Install. That, along with uninstalling the LibUSB connection in device manager, should restore everything.

Zadig still seems very janky, slow, and destructive, so I now recommend using the libusb win32 filter installer:
The nice thing about it is that you don't need to remove it, I've been able to run EOS Utility and mlinstall at the same time. Not sure if it's stable, but it can work. Probably still a good idea to remove the filter when you're done.

User Introduction / Re: Greeting
« on: November 06, 2022, 03:21:56 AM »
Welcome. Progress on this project is slow but steady.

Modules Development / Re: ML Tetris (
« on: November 02, 2022, 11:25:43 PM »
Will eventually be merged into magiclantern_simplified.
Some notes:
- menu_redraw_blocked is set to 1 to prevent flickering as menu is being drawn.
- task_create is called to keep the ML menus in place after the game is quit.
- Code is based on my project, ptetris (, which can be compiled and run with X11/rawdraw

Camera-specific Development / Re: Canon EOS 1300D / Rebel T6
« on: November 02, 2022, 04:09:47 AM »
Working on porting ML to 1300D/T6 firmware version 1.2.0.

Currently it boots into menus, and passes stubs API test. I'll test it more over the next few weeks.

The plan is to move the codebase to,
which is more modern and has some build system fixes.

Camera-specific Development / Re: Canon EOS 1300D / Rebel T6
« on: October 03, 2022, 03:53:07 PM »
I am having an issue installing the ml software. Forgot to downgrade my firmware from 1.2.0 and cant seem to get any downgrade options to work. Still connects fine to my pc and is still recognizable, but EOS utility doesnt work which i kinda expected.
There is an issue upstream with Zadig, which makes the driver near impossible to uninstall. I'm very slowly working on a solution.
You can use the battery door method to downgrade the firmware, see
Eventually mlinstall itself will have a feature that makes it possible to downgrade the firmware over USB.

Camera-specific Development / Re: Canon EOS 1300D / Rebel T6
« on: September 18, 2022, 09:29:50 PM »
Currently figuring out how make it so that mlinstall will work on Windows without Zadig. (Where it's a pain to uninstall libusb)

Option 1:
Use win32-libusb filter installer:
Without an installer:

Option 2:
Use the native Windows API directly.
- This adds WinUSB support to a libusb-like interface,
- I tried to get WinUSB to connect to my camera, but it wouldn't accept it.
- It might be possible to fork libusb-win32 and patch it to work on a specific GUID (GUID_DEVCLASS_IMAGE)

General Chat / Re: Brainstorming features for a PTP/USB/IP Android App
« on: September 16, 2022, 07:39:25 PM »
I'm also very slowly working on LibUSB and WinUSB backends for this lib, so chances are it might find it's way into someday

General Chat / Re: Brainstorming features for a PTP/USB/IP Android App
« on: September 16, 2022, 05:47:16 PM »
That would be pretty easy, would just have to copy the device name and serial number.

General Chat / Re: Brainstorming features for a PTP/USB/IP Android App
« on: September 16, 2022, 03:25:59 PM »
All great ideas. When I was testing, the PTP liveview cut off when I started recording RAW or MOV. There's a slim chance there's a way around this, but I'm not sure.
A packet transmission status was exactly what I was thinking of, maybe an icon in the bottom that lights up green when packets are being received or sent.

General Chat / New PTP Camera Controller App for Android
« on: September 16, 2022, 03:21:50 AM »
I've been working on a PTP (Picture Transfer Protocol) library in C lately, with the main intent of making a DSLR controller Android app out of it.

Features that will come in the first release:
- Get Live EOS viewfinder image (can't use while recording)
- Interface with ML - Live screen data (320x240, see all Canon menus and ML menus while recording RAW or MOV)
  Not a solid replacement for HDMI, but useful (in case you don't have a HDMI adapter, or it blocks the USB port)
  Currently 15fps - should be possible to optimize (see
- Scripting in Javascript (scripts can run on demand or in background)
- Get live aperture+ISO+shutter speed+image format+battery
- Raise flash
- Take pictures and do BULB shots
- Image/File explorer
- Extensive settings and customization
- Plugins/mods/scripts written in Javascript (run on demand or in background, can modify UI)
- Script generator (timelapse)

Here are features I'll probably add in the future, other than the typical features you'd expect in a camera app:
- Sync camera video start time with phone, use internal phone mic as camera mic
- ML Like overlays over live view
Looking for suggestions :) - I only do astrophotography with my camera, so the feature set will be biased.

- The app will not only run on Android, but Linux too (as a web server). It would be possible to connect a Raspberry Pi to your DSLR and control your camera from inside (or technically, anywhere in the world)
- iOS support is not out of the question, but it would be a learning curve. I've never used an modern Apple device apart from when I fixed them, and I don't know how iOS apps are made.
- It's worth noting that the PTP library I made is very portable (and open source, and can easily be compiled and ported to different platforms.
- The user interface for the app is written in HTML/CSS/JS and is layered over a graphics canvas, where the liveview is drawn. The app is mostly C and Javascript. Under 500 lines of Java code is required the the entire app to work.

General Chat / Re: How did you guys know about Magic Lantern?
« on: September 16, 2022, 01:13:54 AM »
After I realized my intervalometer port was broken, I realized ML was basically my only option for an intervalometer. Since then I've been obsessed.

Pages: 1 [2] 3 4 5