[PTP] ptpCamGui - USB-Kamerasteuerung inkl. Datei-Download/Upload

CHDK-Skripte, CHDK-Entwicklung, PC-Zusatzprogramme, Informationen für Tüftler

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon msl » 25.01.2011, 13:54

Hallo BadSanta,

ich glaube, jetzt habe ich den Fehler entdeckt. :D

Es liegt an uns. Wir reden möglicherweise wegen der Begrifflichkeit aneinander vorbei. Die Taste Record soll lediglich in den Aufnahmemodus Foto umschalten. Und das scheint ja zu funktionieren. Vermutlich hast du eine Videoaufnahme erwartet. Eine Möglichkeit zur Videoaufzeichnung wird es zukünftig bestimmt geben. Hier sind aber noch ein paar Hürden zu nehmen.

Das mit dem automatischen Entpacken ist eine gute Idee. Ich denke, das könnte man bei Gelegenheit mit einbauen.

Auf dein Angebot zur Unterstützung in Sachen Grafik kommen wir bestimmt zurück, Danke.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon BadSanta » 25.01.2011, 13:56

Genau, daran hatte ich gedacht. Problem gelöst ;)
â—„ Canon PowerShot SX270HS â–º Kameradaten
BadSanta
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 49
Bilder: 0
Registriert: 23.12.2008, 15:58
Kamera(s): SX270HS 1.02B

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon whim » 25.01.2011, 18:50

Hallo ptpcam Team !

Zum einfacheren Ausprobieren des ptpCamGui-s, hat CHDK-Shell v.2.97 jetzt ptpcam.exe Autokompilation
und ptpCamGui Autodownload beim Programmstart.
Mann braucht am PC also nur noch 'libusb' zu installieren und die Kamera ein halbwegs kompatibeles CHDK-DE
einzupflanzen, und schon hat mann immer ein "frische" ptpCamGui-Version griffsbereit zur Verfügung :D
Starten kann mann ptpCamGui dann via Contextmenü oder mit "Play" Taste im miniGUI.
Wie jetzt eingestellt, erzwingt CHDK-Shell mindestens CHDK-DE trunk560, um Probleme mit ältere ptpcam versionen vorzubeugen, das ware aber leicht an zu passen.

Gruß wim

Nachschrift: ptpCamGui.au3 läuft unter einer neuer Instanz der CHDK-Shell, und ist somit davon völlig unabhängig;
mann kann also CHDK-Shell nach ptpCamGui Start beenden, falls gewünscht.
Benutzeravatar
whim
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 88
Registriert: 21.01.2011, 14:20
Kamera(s): A590(101b) - A620 - A630 - ixus70_sd1000(101b) - ixus870_sd880(101a) - ixus300_sd4000

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon msl » 25.01.2011, 20:02

Super Idee, wim! =D>

Ich habe es gerade getestet. Es funktioniert alles wie beschrieben.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon Belichter » 25.01.2011, 22:25

Grandios, wim.

CHDK-Shell auf dem Weg zur CHDK-IDE

Danke.
IXUS 970 IS 100b
Belichter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 170
Bilder: 11
Registriert: 21.05.2009, 09:21
Wohnort: Solingen
Kamera(s): ixus 970 IS 100b

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon whim » 26.01.2011, 00:28

@msl, Belichter: Danke !

Einige Bemerkungen noch zu ptpCamGui:

1. Status bar (unten am Fenster) verschwindet wenn man die Fenstergröße ändert (Win 7 x64, running as 32bit)

2. Im 'Task Manager' zeigt sich, dass ptpCamGui etwa 11-12 MB RAM benutzt; habe es dazu meine für CHDK-Shell
benutzte Routinen implantiert - jetzt sind's nur noch 1 - 1,2 MB (nur im Ruhe, bei nicht-blockierte GUI; während
PC und Kamera kommunizieren greift die "garbage collection' nicht)
Gepatchte Datei soll als Anhang eingefügt sein (als alles geklappt hat, bin Anhang-noob hier :D )


Gruß wim

Edit: Anhang war fehlerbehaftet, weiter unten gibt's eine Neuauflage ...
Zuletzt geändert von whim am 26.01.2011, 15:43, insgesamt 1-mal geändert.
Benutzeravatar
whim
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 88
Registriert: 21.01.2011, 14:20
Kamera(s): A590(101b) - A620 - A630 - ixus70_sd1000(101b) - ixus870_sd880(101a) - ixus300_sd4000

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon msl » 26.01.2011, 10:02

Hallo wim,

vielen Dank für deine GUI-Änderungen.

So richtig verstehe ich nicht, was da passiert. Aber es funktioniert. :D

Ich habe den Patch mit ein paar Formatierungsänderungen in den Quellcode eingepflegt.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon whim » 26.01.2011, 14:26

Hi msl,

Entschuldigung, ich habe versehentlich die durch CHDK-Shell nachbearbeitete Version angehangen :oops:
Nur durch vieles Glück arbeitet es noch immer (!) - Fix kommt bald. im Anhang

Gruß wim

Edit:
Besser kann mann kaum illustrieren, daß ich eher (ziemlich chaotischer) Bastler als Profi bin, oder ? QED :D
Aber, zur Sache:
Ich habe die Patch auch gleich noch vereinfacht (indirekt call über flag war gar nich nötig, habe also auch die interrupt
Funktion 'setGCFlag' nach 'postGCEvent' umbenennt)
Die Patch code ist jetzt auch (hoffentlich) in etwas logischeren Stelle in das Program platziert und ist wie vor
mit Trennzeilen (; ==================) markiert. Ich habe auch etwas mehr Kommentar eingefügt.

wim
Dateianhänge
ptpCamGui-patched2.zip
(6.77 KiB) 536-mal heruntergeladen
Benutzeravatar
whim
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 88
Registriert: 21.01.2011, 14:20
Kamera(s): A590(101b) - A620 - A630 - ixus70_sd1000(101b) - ixus870_sd880(101a) - ixus300_sd4000

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon msl » 26.01.2011, 16:50

Hi wim,

so, jetzt haben wir den Code mal ordentlich durchgeschüttelt. :D

rudi wird sich bestimmt wundern. Apropos rudi: der rudi im internationalen Forum ist mit unserem rudi identisch. Er hat wohl im Augenblick nicht so viel Zeit, sich um CHDK zu kümmern.

Aber vielen Dank, dass du sofort die Korrekturen durchgeführt hast. Jetzt ist es auch wieder für mich auch einigermaßen verständlich. 8)

Mit Changeset 32 sollte nun alles in Ordnung sein.

Übrigens gibt es ein neues GUI-Element - Reboot. Damit lässt sich ein Warmstart ausführen. Der kann notwendig sein, wenn man ein CHDK-Update oder ein Skript hochgeladen hat. Die Änderungen werden erst nach einem Neustart der Kamera wirksam.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon whim » 26.01.2011, 18:46

Danke, msl !

so, jetzt haben wir den Code mal ordentlich durchgeschüttelt. :D
rudi wird sich bestimmt wundern

Ich denke alles ist jetzt tadellos markiert, da wird rudi bestimmt sehr schnell alles was ihm nicht gefällt wieder
rausschmeissen können. Auch haben wir nix am Code geändert, nur etwas zugefügt

Habe inzwischen auch ein ein Fix für das Problem mit der Statusbar im AutoIt Forum gespottet (nur 4 -5 Zeilen !)
Patch gegen r32 im Anhang, läuft tadellos hier :D

Ich verstehe aber das Konzept der Versionsnummer und Changesets nicht ... habe immer gedacht z.B. Version 0.2.5 entsprache Changeset 25 ? Oder ist es wie in CHDKDE etwa 1.1.0-561 ? Auch verwirrt es mir dass es im Titelzeile "ptpCamGui 0.2.6" heisst,
unten im Statusbar aber "GUI: 0.2"

Gruß wim
Dateianhänge
ptpCamGui_r32plusStatusbarPatch.zip
(7.03 KiB) 529-mal heruntergeladen
Benutzeravatar
whim
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 88
Registriert: 21.01.2011, 14:20
Kamera(s): A590(101b) - A620 - A630 - ixus70_sd1000(101b) - ixus870_sd880(101a) - ixus300_sd4000

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon msl » 26.01.2011, 19:27

Hallo wim,

Klasse, damit ist das Problem Statuszeile geklärt. Ich hatte bisher keine zufriedenstellende Lösung finden können.

zur Versionsnummer:

0.2 entspricht den Versionseinträgen in CHDK und ptpcam.exe (Major und Minor). Diese Einträge werden auch ausgelesen und in die Statuszeile eingetragen. Die 3. Versionsziffer dient eigentlich nur für den Anwender. Damit wird signalisiert, dass sich etwas in der Bedienung geändert hat. Vielleicht können wir das auch etwas transparenter gestalten und mit den Revisionen verknüpfen.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon whim » 26.01.2011, 22:46

Hallo msl,

Zwar funktioniert die Patch vom Anhang ganz gut, es fehlt aber CHDK-Shell - seitig die $WM_SIZE definition im
"includes.au3" ... Dass heisst, sie wird unter CHDK-Shell v2.97 nur funktionieren, wenn mann
Zeile ~247: GUIRegisterMsg($WM_SIZE, "MY_WM_SIZE") ; needed to resize the status bar ...
wie folgt nachbessert:
GUIRegisterMsg(0x05, "MY_WM_SIZE") ; $WM_SIZE = 0x05 ; needed to resize the status bar ...

Das ist naturlich häßlich, wird aber zum Testen hoffentlich reichen bis CHDK-Shell v2.98 fertig ist ...

wim

Edit: Mann kann auch in ...\CHDK-Shell\work\includes.au3 ein zeile einfugen: "Global Const $WM_SIZE = 0x05"
Benutzeravatar
whim
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 88
Registriert: 21.01.2011, 14:20
Kamera(s): A590(101b) - A620 - A630 - ixus70_sd1000(101b) - ixus870_sd880(101a) - ixus300_sd4000

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon msl » 26.01.2011, 23:43

Hallo wim,

ich habe die Änderung in Revision 34 eingefügt. Nun sollte es auch wieder mit der Shell gehen.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon whim » 27.01.2011, 00:17

Danke, msl !

Testing ... Statusbar OK \:D/

Gruß wim
Benutzeravatar
whim
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 88
Registriert: 21.01.2011, 14:20
Kamera(s): A590(101b) - A620 - A630 - ixus70_sd1000(101b) - ixus870_sd880(101a) - ixus300_sd4000

Re: grafische Bedienoberfläche (GUI) für PTP-Interface-Funkt

Beitragvon whim » 27.01.2011, 16:45

Hallo msl,

Erfolgsbericht: ixus870 (101a) funkt (fast) genau so wie ixus70 (101b) - das heisst, nur die Tasten "ERASE" und "PRINT"
funktionieren nicht (i870) oder falsch (i70: Erase => nix, Print => Func/Set)

Beim Experimentieren ist mir weiter aufgefallen, daß 'MsgBox'en verdeckt werden, wenn mann das Hauptfenster
aktiviert - weil MsgBox'en sowieso das Programm anhalten, könnte mann sie vielleicht besser das 'On Top' Attribut
einpflanzen (einfach bei MsgBox am 1. parameter "262144+" voranstellen). Weil kein Fehler unterliegt habe ich
keine Patch erstellt (Anfrage reicht aber ;) )

Gruß wim
Benutzeravatar
whim
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 88
Registriert: 21.01.2011, 14:20
Kamera(s): A590(101b) - A620 - A630 - ixus70_sd1000(101b) - ixus870_sd880(101a) - ixus300_sd4000

VorherigeNächste

Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 16 Gäste