[Lua] Fotos bei schwachem Licht (Für 10-Bit-CHDK-Cams)

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

Weitere Optimierung

Beitragvon Sinter » 15.03.2010, 16:49

Hallo CHDKLover,

vielen Dank für Deine Rückmeldung.

Stimmt schon, das schwarze Display könnte unbedarfte User irritieren, wenn sie noch nicht mit der Anwendung von Tonwertkurven vertraut sind. Ich habe mir ebenfalls schon überlegt dass da ein kleines Risiko ist, bei dem der User geneigt sein könnte, das Skript abzubrechen. Beim früheren Rename wäre das ein echtes Problem gewesen. Ob wir nun parallel eine LED blinken lassen können, da bin ich mir nicht sicher. Ein Dauerleuchten während der Bildberechnung könnte vielleicht klappen. Indes bin ich gerne etwas geizig mit der Akkuleistung. :-) Aber ich glaube ein stromsparendes Blinken lässt sich da nicht machen.

Die Rückblicklösung von Msl habe ich mir noch nicht genau angesehen. Bei mir hat die Cam auch bislang schon immer einen kurzen üblichen Review gezeigt. Dein Vorschlag, den Rückblick in einem einzigen Parameter zu steuern, ist sicher eine gute Überlegung und realisierbar.

Den Blitz hatte ich mit dem Skript noch nie probiert. Vielleicht könnte der Blitz sogar in manchen Situationen Sinn machen. Wenn man allerdings überlegt, wie viele User im Alltag den Blitz grundsätzlich in jeder Situation auf Automatik eingeschaltet haben, so macht ein Abschalten per Skript ebenfalls Sinn. Wenn ich mich nicht täusche kann man aber nur abfragen, OB der Blitz eingeschaltet ist, nicht jedoch in welcher Funktion (Langzeitsynchro, RoteAugen, Erzwungen)? Oder täusche ich mich?

Der hinterste Parameter mit den BeobachtungsSleeps wird in einer finalen Fassung entfernt. Oder vielleicht sogar besser schon ab dem nächsten Update.

Nebenbei: Kennst Du vielleicht in Lua ein rechtsbündiges Print Using für die Anzeige der Werte? Aktuell verwende ich ja für jede Zeichenanzahl der Werte eine eigene Codezeile.

Viele Grüße,
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 13:16
Wohnort: München

LED, Rückblick mittels eines einzigen Parameters

Beitragvon Sinter » 15.03.2010, 17:51

Hallo CHDKLover,

wie von dir vorgeschlagen habe ich den Rückblick auf einen Parameter reduziert, und
die blaue Leuchtdiode brennt (Blinken wäre vermutlich zu kameraspezifisch).

Ein get_flash_mode habe ich ebenfalls noch eingefügt, aber es gibt scheinbar kein set_flash_mode für restore? Wahrscheinlich kompliziert nur mit setprop realisierbar. Eine offene Befehlslücke.

Wie man das CHDK-Build abfragen kann, damit bin ich leider nicht vertraut.

Viele Grüße,
Sinter


EDIT: 0.9.4. hatte einen Bug in der Parameterprüfung,
müsste nun beseitigt sein
Dateianhänge
LowLight.lua
Version 0.9.4
Mit blauer LED während Entwicklung, sowie Rückblick auf einen Parameter begrenzt.
(29.51 KiB) 344-mal heruntergeladen
Zuletzt geändert von Sinter am 15.03.2010, 19:32, insgesamt 1-mal geändert.
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 13:16
Wohnort: München

Beitragvon CHDKLover » 15.03.2010, 18:55

Hallo Sinter,
tolle Entwicklung des Skriptes!

Aber die Sache mit der LED geht bei mir leider noch nicht, hab es auch noch nicht zum laufen gebracht. Sie geht zwar an aber beim Shoot wieder aus.

Ich hab mich mal mit dem Blitz beschäftigt.

So geht es bei mir:
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
if init() and found then



    proptable=require "propcase"

    set_prop(proptable.FLASH_MODE,2) --Blitz abschalten
Erstellt in 0.006 Sekunden, mit GeSHi 1.0.8.9


Mit der Buildnummer, das geht nicht so wie ich dachte, man bekommt nur 1.0.1-DE aber eine Richtige Buildnummer gibt es zur Zeit nicht.

Schade, CHDKLover
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Vielleicht an Grenzen gestoßen

Beitragvon Sinter » 15.03.2010, 19:22

Hallo CHDKLover,

seltsam dass die LED bei dir gleich wieder ausgeht. Bei mir geht sie genau beim richtigen Shooting an, und nach dem normalen Rückblick wieder aus. Beim zusätzlichen Msl-Rückblick ist sie ohnehin nicht an.
Die LED-Befehle sind auch genau vor und nach dem Shooting platziert. Vielleicht ist das aber auch viel zu kameraspezifisch. Zur Not lassen wir das weg.

Die Blitzsteuerung scheint mir ebenfalls sehr kameraspezifisch. Ich habe gegoogelt und irgendwo stand, bei Digit 2 ist der zuständige Propset nicht als RW gekennzeichnet. Dann vielleicht nur eine Warnmeldung setzen falls der Blitz noch an ist. Muss ich noch überlegen. Deine CodeLösung für den Blitz erscheint mir etwas kryptisch, aber das schaue ich mir dann in den nächsten Tagen in Ruhe an.

Die Sache mit einer nicht aktuellen Buildnummer erkennt der User spätestens dann, wenn das Skript nicht läuft.

Zur Not lassen wir diese theoretischen i-Tüpfelchen beiseite. Aber für interessante Ideen bin ich immer zu haben. Da können wir gerne versuchen, alles CHDK-Mögliche auszureizen.

Vielen Dank und viele Grüße,
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 13:16
Wohnort: München

BUG in 0.9.4 hoffentlich beseitigt

Beitragvon Sinter » 15.03.2010, 19:34

Den Bug in LowLight 0.9.4 habe ich nun hoffentlich beseitigt. Download etwas weiter oben.

Danke an Hamster für Deinen Hinweis!

Viele Grüße,
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 13:16
Wohnort: München

Beitragvon msl » 15.03.2010, 20:45

Hallo an alle, die Licht ins Dunkel bringen. :D

Gute Idee mit der Parameterzusammenfassung für den Rückblick. Sinter hat wahrscheinlich noch den kameraeigenen Rückblick aktiviert. Dieser sollte bei Skripten möglichst deaktiviert sein. Der programmierte Rückblick ist besser zu kontrollieren.

Mit LED-Anzeigen würde ich sehr vorsichtig umgehen, da die Steuerung je nach Kamera unterschiedlich funktioniert. Da kann man dann sicherlich, wenn alles andere läuft, noch eine Möglichkeit finden, den Arbeitszustand zu signalisieren.

Hier noch die alternative Funktion set_flash:
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
function set_flash_mode(n)



    if get_propset() == 2 then



        set_prop(143,n)



    else



        set_prop(16,n)



    end



end
Erstellt in 0.005 Sekunden, mit GeSHi 1.0.8.9
Eigentlich ist CHDKLovers Variante besser. Die setzt die entsprechenden Datei voraus, die per require eingebunden wird. Grundsätzlich ist die Datei auch immer bei einer Paket-Installation vorhanden. Trotzdem sollte dann ein Hinweis erfolgen.

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

Beitragvon Hamster.78 » 15.03.2010, 22:01

Hallo zusammen,

die Fortschritte sind ja gigantisch \:D/
Mit der "Anspruchniveaukorrektur" bekomme ich auch brauchbare Bilder.

Wäre es machbar wenn eine EV Korrektur sinnvoll ist, das das Script noch ein 2. Foto mit dieser Korrektur erneut macht.
Damit könnte man den Risikoverbleib gleich automatisch ausgleichen. Bild

gruß Hamster Bild
◄ SX100 v100c ◄ Samsung NX10

CHDK DEThe Canon Camera Hackers Manual schon gelesen?
Benutzeravatar
Hamster.78
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 318
Registriert: 24.01.2009, 11:21
Wohnort: Sachsen / Chemnitz

Beitragvon CHDKLover » 16.03.2010, 08:18

Hallo msl,
du hast recht, mein Beispiel verlangt, dass einmal das CHDK Komplett Packet heruntergeladen wurde. In deinem Beispiel hat sich ein kleiner Fehler eingeschlichen, denn es gibt ja seit der G11 auch dein Propset3 (in dem Fall hat er den gleichen Propertycase 143):
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
function set_flash_mode(n)

        if get_propset() == 1 then

                set_prop(16,n)

        else

                set_prop(143,n)

        end

end
Erstellt in 0.005 Sekunden, mit GeSHi 1.0.8.9


CHDKLover
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Beitragvon msl » 16.03.2010, 11:41

Oh ja, da war noch was. :oops:

Das kommt davon, wenn man einfach ohne darüber nachzudenken, etwas kopiert. Eigentlich ist das eine gute Erinnerung, mal diverse Skripte bezüglich Propset 3 zu überarbeiten. Aber machen wir erst mal mit diesem Skript weiter.

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

Beitragvon CHDKLover » 16.03.2010, 22:04

Hallo Skripter,
ich hab heute noch ein wenig weiter Experimentiert. Ergebnis ist im Anhang.

Danke an msl, der es herausgefunden hat, wie die LED doch an bleibt (bei allen bisher getesteten Kameras).

Außerdem wurde das Abschalten den Blitzes eingebaut + zusätzliche Überprüfungen + Fehlermeldungen.

Die neue Funktion "printText(msg, lineLen)" schreibt auf eine vorbereitete Konsole ohne Umbrüche mitten in Wörtern. Die Funktion "printError(msg)" benutzt diese Demonstrativ. Sie versucht auf dem Display zentriert deine Meldung auszugeben.

CHDKLover
Dateianhänge
LowLightS2.lua
Testskript mit:
Blitz aus
printText (printError) BETA
(31.18 KiB) 337-mal heruntergeladen
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Beitragvon msl » 17.03.2010, 17:07

Hallo,

das ist ja mal wieder eine Funktion, die wir bestimmt standardmäßig für Hinweistexte in einem Skript verwenden können. Sehr gut.

Ich habe sie gleich noch einmal für eine ausführliche Hinweisanzeige für 12-Bit-Kameras eingesetzt.

Außerdem war nun endgültig Aufräumen angesagt. Dabei sind ein Großteil der Kommentare entfernt worden. Ich denke, dass die immer noch üppig vorhandenen Kommentare für das Funktionsverständnis ausreichend sind.

Zudem habe ich angefangen, die Print-Ausgabe durch eine kleine Formatierungsfunktion für die Werte etwas zu vereinfachen. Das macht das Skript an sich wiederum übersichtlicher.

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

Heute eine neue Runde

Beitragvon Sinter » 18.03.2010, 09:55

Hallo zusammen,

hier kurz eine neue Runde der parallelen Weiterentwicklung, noch ohne Eure neuen Ideen, die ich mir heute erst noch ansehen muss.

Bitte sorry msl, dass noch immer viele Kommentare vorhanden sind, solange ich hin und wieder noch auf ein paar alte oder neu eingeschlichene Bugs stoße und weitere Features einbaue, sind mir meine Kommentare häufig noch dienlich um möglichst nichts zu übersehen, auch wenn die vielen Kommentare für Profis Ballast sind.


Hier meine neuen Aspekte der Version 0.9.4.5:

Maßgeschneiderte Print-Using-Alternative/Blocksatz als function programmiert: Feinformatierung eigens für
unsere Zwecke mittels eigener function "print_blocksatz25_text_wert(textbaustein,wertbaustein)".

Differenzierte akustische Warnung je nach Größenordnung des WackelRisikoverbleibs. Die Anzahl der Beeps entspricht nun dem Risikoverbleib (gemessen in angefangenen EV). Die Mecker-Intensität der Cam gibt dem User damit ein (weitgehend) proportionales akustisches Feedback über das Ausmaß des Verwackelungsrisikos, bzw. der Anforderungsniveauverfehlung.

CustomTimer als function programmiert und hinzugefügt. Der User kann die Vorlaufzeit (in Sekunden) bestimmen, sowie ob die orange Fokus-Hilfslicht-LED während des Countdown gleichzeitig blinken soll.

Bei Bestimmung der tolerierten Verschlusszeit anhand Brennweite eine weitere Faustregel berücksichtigt:
Nicht länger als 1/60 Sekunde belichten. Mein Kompromiss: 1/40 als ZielGrenze. (Ist vielleicht noch zu diskutieren. Was ist der Grund der zusätzlichen Faustregel?? Vielleicht befürchtete Bewegungen des Motivs?)

Weitere spezielle Einzelfall-Bugs (Limithandling, Mehrdeutigkeit) bereinigt.


Jetzt muss ich noch Eure neuen Ideen (Vielen Dank dafür!) sichten und sehen, wie sich alles miteinander verschmelzen lässt.

Für ein Cleanup meiner vielen Kommentare im Skript opfere ich mich später gerne. Gibt es vielleicht vorerst Editoren, welche Kommentare einfach nur ausblenden können? Derzeit arbeite ich noch mit notepad++ portable. Vielleicht kennt jemand einen noch leistungsfähigeren Lua-Editor in einer portablen Version?

Viele Grüße,
Sinter
Dateianhänge
LowLight.lua
LowLight.lua Version 0.9.4.5
(33.04 KiB) 332-mal heruntergeladen
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 13:16
Wohnort: München

Beitragvon CHDKLover » 18.03.2010, 11:15

Hallo Sinter,
das klingt richtig gut.

Anmerkungen zu:
  • print_blocksatz25_text_wert(textbaustein,wertbaustein)
    Ich würde statt punkten Leerzeichen machen und nach dem "textbaustein" (Ident) einen Doppelpunkt schreiben.
  • akustische Warnung je nach Größenordnung des WackelRisikoverbleibs
    Dabei muss man beachten, dass in dem Kameraeinstellungen die Stummschaltung deaktiviert ist.
  • CustomTimer
    Sehr schöne Funktion!
  • Verschlusszeit
    Kann man da nicht schon mit der AnsprKorrekUmfang eingreifen?


Mir ist gerade noch was eingefallen. Warum muss man unbedingt 2mal Fokusieren (shoot_half)?
Ich hab es auf ein shoot_half reduzeirt. Außerdem würde ich gar nicht mit get_tv96() arbeiten (da dies, wie du schon geschrieben hast mehrdeutig ist):
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
-- Messung starten, wie die Kamera unter gegebenen

-- Bedingungen belichten MOECHTE (!), aber (falls Wackelrisiko droht) nicht unbedingt SOLL.

press("shoot_half")

repeat

    sleep(1)

until get_shooting() == true

-- release("shoot_half")

-- Urspruenglich notwendige Belichtungszeit abfragen und abspeichern

kamerawillbelichten=get_bv96()+get_sv96()-get_av96()         -- wg Zusammenhang:    tv96 + av96 = bv96 + sv96



-- Eventuell krumme Werte bereinigen und auf ein Vielfaches von 32 bringen.

-- Das macht Sinn falls gemessener TV-APEX-Wert knapp unter einem 32-er-Vielfachen

-- liegt und dadurch unnötig evtl. eine um eine Stufe zu hohe ISOBoost-Kurve ausloesen wuerde.

kamerawillbelichten=(kamerawillbelichten+16)/32  -- Rundung

kamerawillbelichten=kamerawillbelichten*32



-- Print wie Kamera ursprünglich gemaess Kameramessung belichten muesste.

print_blocksatz25_text_wert("Cam will Tv-Apex",kamerawillbelichten)



...

...

...



-- SHOOTING:

set_tv96_direct(wert)



press("shoot_full")

release("shoot_full")

release("shoot_half")

set_led(8,1)

repeat

  sleep(1)

until get_shooting() ~= true

set_led(8,0)  -- blaue LED ausschalten

 
Erstellt in 0.006 Sekunden, mit GeSHi 1.0.8.9


Dann könnte man auch noch statt der lästigen kameraspezifischen Tabelle einen weiteren neuen LUA Befehl einführen, der gleich die passende Analogbrennweite zurück gibt. Das habe ich mal umgesetzt (Patch mit caminfo im Anhang):
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
analogbrennweite=get_effective_focal_length()/1000
Erstellt in 0.003 Sekunden, mit GeSHi 1.0.8.9


CHDKLover
Dateianhänge
get_effective_focal_length__caminfo.diff
get_effective_focal_length
caminfo
cleanup
(10.64 KiB) 317-mal heruntergeladen
Zuletzt geändert von CHDKLover am 18.03.2010, 12:22, insgesamt 1-mal geändert.
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Verschmolzen

Beitragvon Sinter » 18.03.2010, 12:21

Hallo,

hier nun für alle die verschmolzene neue Version LowLight 0.9.5.0.
Einige Kommentare habe ich wie von msl beabsichtigt entfernt.

CHDKLovers Ideen (Danke!) von 11:15 sind noch nicht berücksichtigt. Muss ich mir noch genauer ansehen.


Bei der Blitzsteuerung weiß ich noch nicht, welche Variante nun auf Dauer Bestand haben soll.

@ Hamster:
Du meinst vermutlich, dass man ein zweites Bild mit einer um die Warnmeldung erhöhten ISO-Einstellung macht. Nunja, das habe ich mir ebenfalls schon überlegt, nur scheint mir die ISO-Kameraeinstellung etwas schwierig zu realisieren. Den aktuellen ISO-Wert bekommt ja per Skript leicht heraus. Nur ist das Hochschalten derzeit wohl nur über simulierte Tastenclicks erreichbar, die je nach Cam verschieden (!) sind. Außerdem müsste man noch eine Lösung finden, welches die Cam-spezifische maximale ISO-Einstellung ist. Meine Ixus60 kommt leider trotz CHDK über die originalen Market-ISO 800 nicht hinaus. Da geht leider (bislang) kein weiteres Override, welches man zusätzlich ausschöpfen könnte. Falls indes jemand eine Idee hat, sehr gerne.


@msl:
Die Print-Format-Routine von Loli 4 kommt nicht mit negativen Werten klar. Stell die Cam auf maximalen Tele und visiere eine dunkle Ecke an. Dann entstehen negative Cam-will-Werte, die in der Zeile überspringen. Habe daher meine bereits funktionierende neue Formatierungsfunction belassen.


Die blaue LED klappt mit der neuen Aufrufplatzierung auch bei mir noch sehr gut. Prima Idee wenn das nun kameraübergriefen funktioniert. Vielleicht könnte noch ein Hinweis in das Handbuch aufgenommen werden, dass beim Skripten die blaue LED erst nach (!) dem release("shoot_half") aktiviert werden soll.

Viele Grüße,
Sinter
Dateianhänge
LowLight_0_9_5_0.lua
Neueste Version 0.9.5.0
Sollte überall stabil und korrekt laufen.
(34.64 KiB) 484-mal heruntergeladen
Zuletzt geändert von Sinter am 18.03.2010, 14:34, insgesamt 1-mal geändert.
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 13:16
Wohnort: München

Feinschliff

Beitragvon Sinter » 18.03.2010, 12:44

Hallo CHDKLover,

vielen Dank für Deine Gedanken und Ideen.

Leerzeichen und Doppelpunkt zu ändern wäre kein Problem. Ich hatte die Punkte gewählt um die Augen in der Zeile führen zu können und ein Doppelpunkt kostet mich eine wertvolle Zeichenbreite wenn es eng wird. Ich bin selbst hin- und hergerissen, welche Gestaltung dem User am besten dient.

Die akustische Warnung ist in der Tat auf eine deaktivierte Stummschaltung angewiesen, aber die Warnung erscheint ja ohnehin auf der Konsole. Die Akustikwarnung war bereits der Zusatz. Interessant könnte noch sein, wenn man diese eventuell vorliegende Stummschaltung per Skript deaktivieren könnte, aber ich glaube da gibt es auch kein Propset zum Schreiben. Ich habe mich damit noch nicht im Detail befasst.

Ich bin mir nicht sicher was Du genau im Zusammenhang mit der Verschlusszeit und dem AnsprKorrekUmfang meinst.

Falls man tatsächlich das zweimalige Fokussieren vermeiden könnte, würde das meinen Interessen entgegenkommen. Ich dachte eigentlich, das erste Shoothalf ist für die Messung zwingend nötig wenn man danach vor dem zweiten Shoothalf die Belichtung overriden möchte. Eine Messung "on-the-fly" wäre absolut genial. Es könnte indes sein, dass man mittels Mehrdeutligkeitsvermeidungsrechnung auf das erste Shoothalf verzichten könnte. Aber das muss ich erst noch ausprobieren.

Viele Grüße,
Sinter
Zuletzt geändert von Sinter am 18.03.2010, 14:26, insgesamt 1-mal geändert.
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 13:16
Wohnort: München

VorherigeNächste

Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste