-
Liste der Anhänge anzeigen (Anzahl: 9)
Microsoft Research TouchStudio beta 1.1 "Counter mit Alarm (mp3)"
...so, hier als vorläufig letztes Beispiel ein einfacher "Counter" (= Eieruhr), der wiederum auf das schon bestehende Design-Element "Counter" zugreift.
Beim Start wird der Benutzer aufgefordert, die gewünschte Laufzeit in Minuten anzugeben (es müssen keine ganzen Zahlen sein. Möglich ist auch beispielsweise 2,5 für 2 Minuten und 30 sec).
Angezeigt werden nach dem Start 3 Elemente:
a) die Startzeit (fixe Anzeige)
b) die vorgegebene Laufzeit in Minuten (fixe Anzeige)
c) die noch verbleibende Zeit in h:m:s (wird in Echtzeit aktualisiert)
Anhang 68266
In der letzten Minute der Laufzeit ändert sich die Farbe des 3. Elements mit der Restlaufzeit.
Anhang 68274
Bei Erreichen der Zielzeit vibriert das Gerät kurz, der Player spielt den "Alarmsong" und es erscheinen 3 weitere Elemente:
d) Titel: ENDE = signalisiert den Ablauf der Zeit
e) die über die vorgegebene Zeit hinaus vergangene Zeit (wird in Echtzeit aktualisiert)
f) der aktuell gespielte Song des Players
c) außerdem erhält wieder die Ausgangsfarbe (ab jetzt fixe Anzeige)
Anhang 68270
Den Alarm beendet man durch umdrehen des Gerätes (Display nach unten = Player stop)
Das dazugehörige Script
Anhang 68267
Das Hilfs-Script zum Starten des Players:
("e.Player")
Anhang 68268
Die weiteren Layout-Elemente
("d.Counter" - "d.Start" - "d.Titel.1" - "d.Titel.2")
Anhang 68271 Anhang 68272 Anhang 68273 Anhang 68269
P.S.
- Für eine bessere einheitliche Benennung habe ich alle Designe-Elemente mit einem kleinen vorangestellten "d" (= Design) benannt. Beispiel "d.Counter".
- Die zusätzlichen Hilfs-Scripte sind mit einem kleinen vorangestellten "e" (= Execute) benannt. Beispiel "e.Player" zum Starten des Players.
- Alle ausführbaren Haupt-Scripte beginnen mit Großbuchstaben. Beispiel "Counter"
Gruß Jörg
-
Liste der Anhänge anzeigen (Anzahl: 8)
Microsoft Research TouchStudio beta 1.1 "GPS-Daten + grafische Anzeige Genauigkeit"
...so, habe noch schnell ein Layout-Element für eine grafische Balkenanzeige mit eingestellt.
Dieses Element erhält einen Wert zwischen 0 und 1 sowie den Beschreibungstext.
Der Wert wird als grafischer Balken von links nach rechts prozentual dargestellt.
In dem Beispielprogramm "GPS.Daten" setze ich es für die Darstellung der Empfangsgenauigkeit ein.
a) Anzeige Empfangsgenauigkeit "horizontal"
b) Aktuelle Position mit L = Länge und B = Breite
c) Aktuelle Höhe und Geschwindigkeit
d) numerische Genauigkeit "acc V" = vertikal und "acc H" = horizontal in m
e) Kurs in Grad
- alle Werte werden in Echtzeit aktualisiert
- Nicht korrekt sind die angezeigten Werte für die Geschwindigkeit. (wahrscheinlich fehlt hier noch eine Berücksichtigung zwischen den Meßwerten)
- das Element d) diente mir vor allem zur Kontrollausgabe. Der Wert für "acc H" ist in dem ersten Element besser erkennbar dargestellt.
Anhang 68289 Anhang 68292 Anhang 68285 Anhang 68287
Das dazugehörige Haupt-Script
Anhang 68291
Das Hilfs-Script zur Formatierung mit Festkommata
Anhang 68288
Die Layout-Elemente
Anhang 68286 Anhang 68290
-
Liste der Anhänge anzeigen (Anzahl: 5)
Microsoft Research TouchStudio beta 1.1 "Uhr grafisch"
...hier noch ein ganz schnelles Beispiel für eine "grafische Uhr", bei der der Zeitverlauf als Balkendiagramm dargestellt wird. ;-)
EDIT:
neu: Mini Tutorial zum Erstellen dieser Anwendung im post #87
Uhr:
Anhang 68304
Uhr mit eingeblendeten Zahlenwerten:
Anhang 68305 Anhang 68301
Haupt-Script:
Anhang 68303
Hilfs-Script:
Anhang 68302
Gruß Jörg
-
Liste der Anhänge anzeigen (Anzahl: 7)
AW: Microsoft Research TouchStudio beta 1.1 "Uhr analog und Balkengrafik"
...hier noch ein Layout-Element für Kreisdiagramme mit Zeiger. In diesem Fall eingesetzt mit einem Zeiger für Sekunden, mit zwei Zeigern für die Uhrzeit.
Die Ansichten:
(alle in Echtzeit aktualisiert)
Anhang 68348 Anhang 68345 Anhang 68342
Das Haupt-Script:
Anhang 68343
Die Layoutelemente:
Anhang 68346 Anhang 68344 Anhang 68347
-
AW: Microsoft Research TouchStudio
Jrahe du bist genial!
Wow!
-
Liste der Anhänge anzeigen (Anzahl: 3)
Microsoft Research TouchStudio beta 1.1 "Analoguhr"
...und hier als analoge Uhr.
Wichtig ist hier, das die Zeigerbewegung kontinuierlich läuft und nicht minutenweise bzw. sogar stundenweise "springt".
Erreicht wird dies durch die zusätzliche Korrektur im Haupt-Script vor dem Aufruf des Layout-Elements.
Im Layout-Element selbst mußte noch einmal eine Korrektur um 180 Grad vorgenommen werden, da ich die Zeiger als sehr schmale Rechtecke aus der Mitte heraus nur nach unten zeichnen lassen kann. Für eine korrekte "Nullstellung oben" also die Korrektur "+180".
Ausgewertet werden die übergebenen Daten hier als Gradzahl.
Übergeben werden kann aber auch Text, um diese Uhr zur Darstellung der Weckzeit zu nutzen.
Über den Lagensensor ließe sich dann ganz einfach die Ansicht zwischen aktueller (laufend aktualisierter) Zeit und der (fix eingestellten) Weckzeit realisieren. Auch hier dann noch z.B. Umdrehen auf das Display für Wecker stumm schalten und Kippen nach vorne zur mp3-Auswahl für den Wecksong.....
=> (fast) unbegrenzte Möglichkeiten. :cool:
BTW: ein sehr einfaches und schnell zu erstellendes Programm, besteht nunr aus einem Haupt-Script und einem Layout-Element.
Ansicht (...wird laufend in Echtzeit aktualisiert):
Anhang 68352
Haupt-Script:
Anhang 68354
Layout-Element:
Anhang 68353
-
Mini Tutorial zur Erstellung von "Uhr grafisch" aus post #83
Mini Tutorial zur "Uhren-App" im post #83
(...nicht wundern über die Anrede "Du". Diesen Text hatte ich soeben auf eine Anfrage per PM geschrieben. Da es aber für weitere Leser nützlich sein könnte, habe ich es hier noch einmal zur Info eingestellt)
Ganz allgemein:
In diesem Fall besteht die Anwendung aus einer Haupt-action und einer Hilfs-action.
Nur die Haupt-action "Aktuelle.Zeit.Grafisch" ist eine ausführbare action.
Die Hilfs-action "d.Level.Meter.1" wird von ihr mit entsprechenden Parametern aufgerufen und gibt einen Wert (= Bild) zurück.
Ich würde zunächst die (Hilfs-)action erstellen, denn nur dann kann von der Haupt-action darauf zugegriffen werden bzw. nur dann wird sie dort in der Liste der verfügbaren actions aufgeführt.
Die Hilfs-action hat einen Rückgabewert
1. pic = Typ Bild
und sieben Übergabewerte:
1. pic = Typ Bild (=> das Ausgangsbild, auf das diese action die Infos malt/schreibt, um es dann als Layout wieder an die Haupt-action zurückzugeben)
2. cb = Typ color (=> steht für color background)
3. cf = Typ color (=> steht für color font)
4. size = Typ Zahl (=> steht für die Zeichengröße)
5. x1 = Typ Zahl (=> steht für den grafisch als Balkendiagramm darzustellenden Wert, zw. 0 und 1)
6. c1 = Typ color (=> steht für die Balkenfarbe)
7. d1 = Typ string(=> sthet für description, also die Erklärung bzw. der Text)
Um diese Werte beim Erstellen der action einzugeben, mußt Du beim Editor im unteren Menu auf Eigenschaften bzw. properties gehen.
Dort kannst Du:
1. im Kasten unter "action" den Namen der action eingeben.
2. im Kasten neben "returns" den Typ des Rückgabewertes einstellen (hier also "picture", Achtung: nicht verwechseln mit "pictures").
3. mit "Wisch-nach-links" zu "params" kommst Du dann zu den möglichen Übergabeparametern.
Hier tippst Du in der unteren Leiste auf das "plus"-Symbol und kannst dann im rechten Feld den Typ auswählen und im linken Feld den Namen eingeben. Diesen Vorgang wiederholst Du so oft, wieviele Parameter Du benötigst. Die Reihenfolge der eingegebenen Parameter läßt sich mit den beiden Pfeilen in der unteren Leiste korrigieren.
Mit der "Zurück"-Taste kommst Du dann wieder in den Editor, un die Code-Zeilen einzugeben.
Ich würde mit der letzten Zeile anfangen, mit dem Rückgabewert, hier also "pic". Solange dieser Rückgabewert noch nicht als letzte Zeile dort steht, wirst Du Fehlermeldungen vom Editor erhalten.
Anschließend kannst Du den Code in den Zeilen darüber eingeben.
Wenn alles korrekt wie in meinem Script eingegeben worden ist, solltest Du diese action von der Hauptaction aus aufrufen können.
Als zweites also das Erstellen der Hauptaction.
Diese hat keine Übergabe- oder Rückgabewerte, die wir eingeben müssten.
Sobald die Variable p1 (als Typ Bild) mit der Zeile "p1 := media -> create picture(460, 80)" deklariert und definiert worden ist, sollte sie in dem unteren Bereich des Editors (der "Taschenrechner") verfügbar sein.
Entweder ist sie direkt auf einer der Tasten belegt oder über die Taste "..." unten rechts verfügbar.
Sobald Du auf die "..."-Taste tippst, bist Du zunächst bei den "services" (den aktuell zugänglichen Funktionen).
Mit einem "Wisch-nach-rechts" kommst Du zu den "locals" (den lokal definierten Variablen). Hier findest auf jeden Fall "p1".
Von "services" mit einem "Wisch-nach-links" kommst Du zu den "actions". Hier sind alle in dem Script befindlichen actions aufgeführt. Hier solltest Du also auch Deine action "d.Level.Meter.1" finden.
Somit kannst Du über den Editor folgendes eingeben "p1 := d.Level.Meter.1(....)".
Als nächstes mußt Du dann über den Editor die Vorgabewerte, die in der Klammer stehen, durch die korrekten Variablen bzw. Werte ersetzen.
So sollte es eigentlich funktionieren.... :p
Viel Spaß
-
Liste der Anhänge anzeigen (Anzahl: 5)
Update "SPORT App mit mp3-Player" aus post #79
Kleines Update "SPORT App mit mp3-Player" aus post #79
Zum Protokollieren der Pausenzeiten werden diese jetzt unterhalb des letzten Elements mit ausgegeben.
=> dazu sind in dem Hauptscript die vier Zeilen mit "pzeit" bzw "p1zeit" eingefügt worden.
=> und ein neues Hilfs-Script zur Umwandlung einer Anzahl Sekunden in Text "Minuten Sekunden"
Außerdem war in der ursprünglichen Version die Cover-Abbildung im Musik Layout-Element unten angeschnitten. Dies lag daran, daß ich das Cover-Bild auf 80*80 reduziert habe bei einem zusätzlichen Rand von 10 Pixel. Da in der ursprünglichen Version das Grundbild "p3" aber nur mit einer Höhe von 80 erzeugt wurde, war das Cover entsprechend abgeschnittten dargestellt worden.
In diesem Haupt-Script erzeuge ich "p3" jetzt mit einer Höhe von 100, so daß die Abbildung wieder korrekt aussieht.
Bei dem "Musikplayer" post #76 wurde das Grundbild "p1" für das Musik Layout-Element korrekt mit einer Höhe von 100 erzeugt.
(hier noch einmal de Hinweis, daß auf Grund des "60-Zeilen-Fehlers" in der Anzeige das nachträgliche Editieren längerer Scripte schwierig sein kann. Dieser Fehler soll aber in dem nächsten update des "TouchStudios" behoben werden.)
Ansicht:
Anhang 68369 Anhang 68370 Anhang 68366
Haupt-Script:
Anhang 68368
Neues Hilfs-Script:
("e.SecToMinSec")
Anhang 68367
...die weiteren Scripte sind schon in dem post #79 angefügt
-
Liste der Anhänge anzeigen (Anzahl: 3)
Tortendiagramm als neues Layout-Element
Mit dem Tortendiagramm als neuem Layout-Element lassen sich sehr schnell Abfrageergebnisse visuell darstellen.
Auch hier werden die Werte als Grad von 0 bis 360 dargestellt.
Dies bedeutet, das die ermittelten Werte zunächst auf 360 Grad umgerechnet werden müssen.
In dem Beispiel als " treffer / 360 * Gesamtzahl i "
In dem folgenden Script werden alle die Songs auf dem Gerät gezählt, die kürzer als eine vom Benutzer zuvor angegebene Laufzeit (in sec) sind.
In diesem Beispiel wurde nach Titeln kürzer als 4 Minuten (= 240 sec) gesucht.
Ansicht des Ergebnisses:
Anhang 68381
Haupt-Script:
Anhang 68383
Layout-Element (d.Level.Kreis.Segment):
Anhang 68382
...das zweite Layout-Element "d.Titel.2" wurde in den vorangehenden posts schon vorgestellt.
-
Liste der Anhänge anzeigen (Anzahl: 3)
Tortendiagramm modifiziert für Zeitanzeige
Um das Tortendiagramm für eine forlaufende Zeitanzeige zu nutzen, habe ich es ein wenig modifiziert.
Für das Tortendiagramm werden pro Grad ein "Rechteckstrahl" gezeichnet, die dann überlagert wie ein Kreissegment aussehen.
Bei einer fixen Abfrage für nur einen Wert geht dies recht schnell (siehe Beispiel in dem vorangegangenen post).
Bei einer kontinuierlichen Abfrage für eine in Echtzeit aktualisierte Uhrzeit ist diese Art der Darstellung zu langsam. Mit fortschreitender Sekundenanzahl braucht das Diagramm immer länger, um die erforderliche Rechtecke zu zeichen. (bei einem Wert von 45 sec braucht es ca. 3 Sekunden)
Ich habe daher bei dieser Variante die Anzahl der zu zeichnenden Rechteckstrahlen auf ein Sechstel verringert. (=> also 60 "strahlen" im Vollkreis anstelle von 360 "Grad"). Dies ist für eine Zeitanzeige genau genug. Die Geschwindigkeit bei der Echtzeit-Aktualisierung wird damit deutlich erhöht.
Ansicht:
Das neue Layout-Element befindet sich an vierter Stelle.... :p
Anhang 68385
Haupt-Script:
Anhang 68386
Modifiziertes Layout-Element (d.Level.Kreis.Segment)
Anhang 68384
=> auch hier wieder alle weiteren Layout-Elemente in vorangegangenen posts
-
Liste der Anhänge anzeigen (Anzahl: 9)
Tortendiagramm für statistische Auswertungen
Tortendiagramm für statistische Auswertungen
Mit den Scripten des "TouchStudios" lassen sich recht schnell Zahen und Informationen von den auf dem Handy gespeicherten Daten ermitteln.
Aktuell vorwiegend aus den Bereichen "Medien Songs" und "Medien Bilder".
Mit den nächsten updates (...und vor allem mit "Mango" resp. WP7.5) und den dann hoffentlich erweiterten Zugriffsmöglichkeiten werden diese Auswertungen immer interessanter.
(wieviele Kontakte im PLZ-Bereich..., wieviele SMS..., wieviel Datenvolumen..., usw.)
Um eine mögliche grafische Auswertung einmal darzustellen, habe ich das Layout-Element "d.Level.Kreis.Segment" genutzt, um die bekannte Abfrage "Wieviel Songs unter drei Minuten" sich auf dem Handy befinden, einmal neu zu gestalten.
Zunächst wird der Benutzer nach der von ihm gewünschten Minutenzahl gefragt.
Anschließend sieht er während des Suchvorgangs die Überschrift und dann als Ergebnis nicht die Gesamtzahl der Titel auf dem Gerät und die Zahl derer unter drei Minuten. Zusätzlich werden ihm die Zahl der Titel die genau (2-)3 Minuten laufen und im Vergleich dazu die Anzahl derer, die (1-)2 Minuten und die (3-)4 Minuten laufen.
So lassen sich schon (semi)professionelle Auswertungen mobil erstellen... :cool:
Ansicht Suche "Titel bis 3 Minuten":
Anhang 68407 Anhang 68409
Ansicht Suche "Titel bis 5 Minuten":
Anhang 68410 Anhang 68411
Haupt-Script:
Anhang 68408
=> das Layout-Element ist das gleiche wie in den vorangegeangenen posts.
Ansichten der gesamten Verteilung auf meinem Gerät, diesmal im schwarzen Design:
Anhang 68415 Anhang 68416 Anhang 68413 Anhang 68414
-
AW: Microsoft Research TouchStudio
Wow, das ist wirklich (Semi)professionel! tolles Script!
Ja, freu mich auch auf Mango. Wenn das TS Team weiter an dem dranbleibt (und hoffentlich einmal eine Art packages macht, mit dem man Anwendungen teilen und einfach installieren kann), wird TS das Supertool! :)
-
AW: Microsoft Research TouchStudio
-
AW: Video zu Microsoft Research TouchStudio
Hallo SinAStyler,
...leider ist das Video ohne Ton (bis auf die Musik des Abspanns)!
Soll das so sein...? :confused:
EDIT: ...ok, gehört so, da ohne Mikro aufgenommen. ;)
Dies Video zeigt auf jeden Fall sehr schön die "fingerfreundliche" Bedienung des "TouchStudio". :cool:
Gruß Jörg
-
AW: Video zu Microsoft Research TouchStudio
Zitat:
Zitat von
jrahe
Hallo SinAStyler,
...leider ist das Video ohne Ton (bis auf die Musik des Abspanns)!
Soll das so sein...? :confused:
EDIT: ...ok, gehört so, da ohne Mikro aufgenommen. ;)
Dies Video zeigt auf jeden Fall sehr schön die "fingerfreundliche" Bedienung des "TouchStudio". :cool:
Gruß Jörg
Hast du wohl mein Post auf Facebook gelesen!!
-
AW: Video zu Microsoft Research TouchStudio
-
AW: Video zu Microsoft Research TouchStudio
Zitat:
Zitat von
jrahe
...klar :-)
Habs gemerkt.
-
Liste der Anhänge anzeigen (Anzahl: 7)
Praxisanwendung Microsoft Research TouchStudio für Mathematische Graphen
...auch auf die Nachfrage zu "einer App, mit der sich mathematische Graphen darstellen lassen", kann das "TouchStudio" als Antwort genutzt werden. :p
-> thread "Graphen erstellen"
...das Script basiert auf dem als Beispiel mitgeliefertem Script "plot sine", hier kombiniert mit user-Abfragen zu den gewünschten Parametern und 2 Layout-Elementen für die Darstellung.
...das Script dient als Beispiel für die Darstellung von unterschiedlichen Sinus-Kurven.
Es läßt sich natürlich auch auf andere Kurvenarten übertragen.
Zunächst werden vom Benutzer die folgenden Parameter abgefragt für:
1. n = Anzahl der Perioden
2. d = Stauchung
3. dx = Versatz x-Achse
4. dy = Versatz y-Achse
Das Ergebnis sieht dann je nach eingegebenen Parametern wie folgt asu:
Anhang 68535 Anhang 68532 Anhang 68537 Anhang 68536
Das erforderliche Script sieht wie folgt aus:
Anhang 68534
Zusätzlich erforderlich sind noch die folgenden Scripte:
( "m.Sinus" für die Berechnung und "d.Titel.1" für die Überschriften )
Anhang 68533 Anhang 68538
Gruß Jörg
-
Liste der Anhänge anzeigen (Anzahl: 6)
Fragen zur Auswertung der Informationen "Geschwindigkeit" vom GPS-Sensor
...kurzes Script zum Test des GPS-Sensors.
Hintergrund:
Die über das TouchStudio erhaltene Information über die Geschwindigkeit (senses -> current location -> speed) entspricht nicht einem mir bekannten Wert.
Für einen direkten Wert in km/h ist er deutlich und permanent zu klein.
Der zu geringe Wert ändert sich scheinbar nicht mit der Dauer der Abfrageintervalle resp. mit den Pausenzeiten (time -> sleep).
Da er konstant zu gering für km/h ist, scheint ein Umrechnungsfaktor erforderlich zu sein.
Die angezeigten Werte lagen immer bei ungefähr einem Viertel der tatsächlichen Geschwindigkeit in km/h.
Daher habe ich einmal den Wert 4 als Multiplikator eingesetzt und als Ergebnis die folgende Testmessung erhalten:
Ein Testmessung auf der Autobahn bei konstant 100 km/h auf dem Autotacho ergab:
102 km/h in TouchStudio (mit mit Multiplikator 4)
100 km/h auf dem Autotacho
92 km/h in drei unabhängig voneinander messenden GPS-Tools auf WP7 (distant, Navigon Select, runtastic)
92 km/h in Navigationsprogramm auf einem Win Mobile 6 Gerät mit BT-GPS-Empfänger (als Kontrollgerät)
Wenn ich also davon ausgehe, daß bei einer Tachoanzeige von 100 km/h eine "reale" Geschwindigkeit von 92 km/h gefahren wird, so müsste der Umrechnungsfaktor für den von TouchStudio gelieferten Wert bei ca. 3,6 liegen.
Tachowert = 100 km/h => real = 92 km/h
Tachowert = 100 km/h => TouchStudio = 102/4 = 25,5 (gelieferter Wert von der Funktion "senses -> current location -> speed")
92 km/h = 25,5 gelieferter Wert => Faktor = 3,608
==================================================
Vielleicht können andere Leser einmal ihre Ergebnisse in Bezug auf die Werte "Geschwindigkeit" vom GPS-Sensor hier posten.
Gründe für die Abweichungen können vielfältig sein:
a) es kann Software-seitig tatsächlich einen Umrechnungsfaktor benötigen
b) es kann an meinem Gerät (Hardware) liegen
c) es kann an der Empfangssituation vor Ort liegen
d) es kann an dem unregelmäßigen Datenfluß von GPS-Werten zum TouchStudio liegen
Auffällig bei mir aber ist die permanente und konstante Abweichung (...im Gegensatz zum Beispiel zur sehr schwankenden empfangsabhängigen Höhenangabe)
Die Werte für "latitude" und "longitude" dagegen sind sehr konstant und genau.
Die Empfangsstärke lag während des Tests zwischen ca. 9m und 40m
Ansicht:
Anhang 68977
Haupt-Script:
In diesem Script ist der Faktor 4 zum Testen in der Zeile "G := e.Komma(l -> speed * 4, 0)" schon integriert
Anhang 68978
Neben-Scripte:
Anhang 68979 Anhang 68975 Anhang 68976 Anhang 68980
Gruß Jörg
-
Liste der Anhänge anzeigen (Anzahl: 18)
Visuelles GPS-Tool
...hier ein "visuelles GPS-Tool" als weiteres Layout-Element.
Die drei Hauptelemente sind:
1) Das obere Element, indem die aktuelle Position angezeigt wird
2) Das mittlere Element:
- oben rechts der GPS-Indikator (bei einer Empfangs-Genauigkeit besser als 50m = grün, ansonsten = rot), darunter die Genauigkeit in m
- mittig oben die Fahrtrichtung und Gradzahl, darunter die aktuelle Geschwindigkeit km/h
- links die Fahrtrichtung visuell auf einem Kompass.
3) Das untere Element mit der Strecke in m (= zurückgelegte summierte Strecke) und der Distanz in m (= Luftlinie zum Startpunkt)
Alle Elemente werden selbstverständlich permanent in Echtzeit aktualisiert.
Ansicht beim Starten des Programms und Suchen nach GPS-Signal:
Die folgenden drei Screenshots sind in zeitlicher Abfolge dargestellt.
Außerdem gut zu sehen die Fehler- bzw. Statusmeldungen, daß in diesem Fall für die Start-Initialisierung 4 Anläufe benötigt wurden.
Die "Nullstellung" ist übrigens bei S = 180°, da ich den Zeiger als sehr schmales Rechteck aus der Mitte heraus nur nach unten zeichnen lassen kann. Dieses Rechteck wird anschließend entsprechend der Gradzahl um den ersten Punkt (= Kreismittelpunkt) gedreht, so daß ein "Zeiger-Effekt" ensteht.
Diese Nullstellung läßt sich bei Bedarf durch einen Korrekturfaktor variieren.
(s.a. Beschreibung im Post #86)
Anhang 69120 Anhang 69118 Anhang 69119
Ansicht zu Beginn der Fahrt:
Anhang 69103
Ansicht während der Fahrt:
Anhang 69104
Ansicht bei Verlust des GPS Siganls:
Bei den Testfahrten hatte ich oft nach ein paar Minuten einen plötzlichen Abbruch des GPS-Signals. Bei einer vorhergehenden "Genauigkeit" von ca. 7 - 30m sank diese schlagartig auf Werte von ca. 3000 - 5000m.
NaN steht für "kein Wert"
Anhang 69093
Haupt-Script:
Der in dem vorangegangene Korrekturfaktor für die Geschwindigkeit ist hier mit dem ermittelten Wert von 3,608 eingegeben worden.
Anhang 69107
Die Hilfs-Scripte: ("e." steht für "execute")
"e.Komma" => kürzt eine Zahl auf die angegebenen Nachkommastellen
"e.Richtung" => gibt die Himmelsrichtung nach angegebener Gradzahl zurück
Anhang 69099 Anhang 69106
Layout-Elemente: ("d." steht für "Design")
"d.2t" => 2 Texte
"d.2z" => 2 Zahlen
"d.geo" => visuell GPS
Anhang 69105 Anhang 69094 Anhang 69098
Die Text-Elemente: ("t." steht für Text)
Diese "Textelemente" sind neu (...sie beginnen mit einem kleinen "t."). Ihr Zweck besteht haupsächlich darin, im Hauptscript keine kompletten Strings eingeben zu müssen und damit die Scriptzeilen kürzer halten zu können. (= wegen dem "60-Zeilen-Fehler" in der Anzeige)
2 Fehlermeldungen: ("t.e" steht für Text Fehlermeldung)
Anhang 69096 Anhang 69101
4 Überschriften / Beschreibungen: ("t.g" steht für Text GEO)
Anhang 69102 Anhang 69097 Anhang 69100 Anhang 69095
Viel Spaß beim Ausprobieren... :p
...und bitte feedback in Bezug auf Genauigkeit und Regelmäßigkeit des GPS-Empfangs geben. ;)
Gruß Jörg
P.S.
Da ich ein neues Austauschgerät erhalten habe und damit alle Scripte neu eingeben musste, können diese teilweise etwas anders aussehen.
Ich habe die hier verwendeten Scripte ohne meine alten Vorlagen neu erstellt und sie daher alle komplett im Anhang aufgeführt.
P.P.S. Dies ist der Jubiläums-Post Nr. 100 :D
-
AW: Microsoft Research TouchStudio
Jrahe, deine Apps werden immer fetziger! Dieses Script fetzt einfach nur! WOW! :)
-
Hallo zusammen! Ein Hinweis zum angezeigten Wert! Messwert in m/s * 60 s/min * 60 min/h * 1 km/1000m ergibt den Faktor 3,6. Daher handelt es sich um die Umrechnung der Einheiten von m/s in km/h. Gruss Hafe
-
Hallo Hafe,
...vielen Dank für's Öffnen der Augen. ;)
Manchmal sieht man(n) den Wald vor lauter Bäumen nicht...
Auf der anderen Seite war ich mit meinem per Testfahrt ermittelten Faktor von 3,608 ja schon sehr gut. Sprich die gemessenen Werte müssen recht genau sein. :)
Gruß Jörg
-
AW: Microsoft Research TouchStudio
FYI
Kommentar von TouchStudioApp heute auf Facebook zu meinen Layout-Elementen:
Zitat:
TouchStudioApp:
The version +2 of TouchStudio will provide easier ways to create and update text on the wall (without going through a bitmap)
...damit kündigen sich weitere "Nettigkeiten" an. :cool:
Gruß Jörg
-
AW: Microsoft Research TouchStudio
-
AW: Microsoft Research TouchStudio
Zitat:
Zitat von
jrahe
FYI
Kommentar von TouchStudioApp heute auf Facebook zu meinen Layout-Elementen:
...damit kündigen sich weitere "Nettigkeiten" an. :cool:
Gruß Jörg
Hallo Jörg,
also ich finde es wahnsinnig toll, was du jetzt schon aus dem TouchStudio herausholst. Wenn das TouchStudio jetzt noch wie geplant erweitert wird, gibt es wirklich keine Grenzen mehr...
Gruß
Olli
-
AW: Microsoft Research TouchStudio
Hallo Olli,
...schön von Dir zu hören. :-)
Die von Dir erwähnte "geplante Erweiterung" hin zu "grenzenlosem Arbeiten" wird ja erst mit Mango kommen (können).
Mit der Ankündigung auf Facebook von "...version +2 of TouchStudio " könnte eine beta 1.2 o.ä. gemeint sein, die vorab veröffentlicht werden könnte. Das in dem Kommentar erwähnte "...erleichterte Erstellen und Updaten von Text auf der Leinwand" ist technisch ja schon jetzt vor Mango möglich.
Auf jeden Fall ist und bleibt "TouchStudio" ein spannendes Projekt.
Gruß Jörg
P.S.: Hast Du noch mal das ein oder andere Script erstellt...?
-
AW: Microsoft Research TouchStudio
Version 1.2 ist schon im Marketplace
Gruß Lutz
-
AW: Microsoft Research TouchStudio
@lutzhw
...Danke für die Info. ...ich bin doch zu selten im Marketplace! ;-)
-
AW: Microsoft Research TouchStudio
Das Update ist bei mir auch gerade erst angezeigt worden.
-
AW: Microsoft Research TouchStudio
@Jrahe
Dein letztes GPS-Tool schein nun aber nicht mehr zu funktionieren.
-
AW: Microsoft Research TouchStudio
...das kann durchaus sein...!
Ich habe es noch nicht weiter getestet.
Auf jeden Fall sind auch diesmal ein paar Befehle geändert worden (z.B. "Sreenshot" nicht mehr unter "phone -> screenshot" sondern unter dem neuen "wall -> screenshot")
Aktuell gibt es auf der website von MS Research TouchStudio noch keinen Hinweis auf diese neue beta 1.2
Damit steht dort auch noch keine Auflistung der Änderungen, wie wir sie zur beta 1.1 hatten (...kommt bestimmt noch)
Definitiv hat sich wieder viel getan:
u.a.
Neues Menu
Hilfe "api" Liste jetzt mit Schnellzugriff (tap auf beliebige Überschrift)
"Anpinnen" von Scripten auf der TouchStudio-Startseite
Möglichkeit "Splashscreen" zu überspringen
Globale Variablen
Mehrere Tutorials
Game-Board für 2D-Spiele
Sprites (-> Flash)
persistenter Speicher
...usw => wir können unser eigenes "Tamagotchi" programmieren
Nur ein Beispiel von vielen:
Mit dem Script "park & find" kann zunächst über "park" ein Foto des Parkplatzes aufgenommen werden, welches zusammen mit den GEO-Daten gespeichert wird. Gleichzeitig wird auf der Startseite ein neues breites tile für "find" mit dem Foto erstellt.
Das Programm kann jetzt beendet und das Handy komplett ausgeschaltet werden.
Nach einem Neueinschalten (= Reboot) stehen diese Informationen im "TouchStudio" weiterhin zur Verfügung. Mit Antippen des tiles "find" wird das aufgenommene Foto wieder auf der Wall gezeigt und die Bing-Suche zum Standort gestartet.
BTW: mit Ausschalten des "Splashscreens" sind es jetzt nur noch 2 taps zum Starten dieses Programms "find".
GENIAL
Viel Spaß beim Testen und Probieren ;-)
Gruß Jörg
-
AW: Microsoft Research TouchStudio
@lutzhw
...ich habe auf Grund eines Geräteaustausches leider meine "alten" Scripte nicht mehr bzw. teilweise nur noch verändert. Somit kann ich den Fehler in dem letzten "GPS-Tool" noch nicht lokalisieren.
Was aber anscheinend mit der neuen beta 1.2 entfernt wurde, ist die Möglichkeit, eine Variable mehrfach zu deklarieren, z.B. in einer "if...then...else"-Verzweigung.
Ich hatte, gerade in längeren Scripten (wegen dem 60-Zeilen-Bug) versucht, über die gleichzeitige Deklaration und Zuweisung bei Variablen Zeilen zu sparen.
Jetzt (in der beta 1.2) sollte/muß man die Variablen vorab deklarieren (...oder sogar global setzen), wenn ihr an unterschiedlichen Stellen Werte zugewiesen werden.
Beispiel:
Ich hatte in einem Script ohne vorherige Deklaration der Variablen "R" folgendes benutzt:
Code:
if loc -> course > 0 then
R := e.Komma(loc ->course, 0)
else
R := 0
Hier wurde ein und derselben Variablen R ein Wert zugewiesen in Abhängigkeit davon, ob "loc -> course" größer 0 war.
Nach der Installation der beta 1.2 ist die Stelle vom "TouchStudio" so geändert worden:
Code:
if loc -> course > 0 then
R := e.Komma(loc ->course, 0)
else
R1 := 0
Aus dem zweiten "R" ist ein "R1" geworden, also eine zweite unabhängige Variable.
Hätte ich die Variable "R" vorab deklariert und in der Verzweigung nur den Wert zugewiesen, wäre nichts geändert worden.
Solche Art "Fehler" führen dann dazu, daß bisherige Scripte evtl. nicht mehr funktionieren.
Gruß Jörg
-
AW: Microsoft Research TouchStudio
Zitat:
Zitat von
jrahe
Mit der Ankündigung auf Facebook von "...version +2 of TouchStudio " könnte eine beta 1.2 o.ä. gemeint sein, die vorab veröffentlicht werden könnte.
Auf jeden Fall ist und bleibt "TouchStudio" ein spannendes Projekt.
Hallo Jörg,
in dem heutigen Update ist ja schon wieder einiges drin - einfach toll wie es da voran geht :D
Zitat:
Zitat von
jrahe
P.S.: Hast Du noch mal das ein oder andere Script erstellt...?
Ich habe mir noch ein Skript gemacht, was alle eigenen Bilder mit Datum, Auflösung und Location anzeigt. Durch das ermitteln der Location über Bing ist es aber relativ langsam bei vielen Bildern.
Außerdem läuft in der neuen Version mein (angepasstes) Script "TwoPics" (zwei Bilder überlagern) richtig gut. :D
Daneben nutze ich TouchStudio zum Fernsehen (ist aber nur ein 1 bzw. 2-Zeiler - so einfach ist TouchStudio eben - ich habe aber sonst auch keine App gefunden in der ich mms-Streams aufrufen kann): siehe dazu auch TV/Video/Screen vom PC auf WP7 streamen
Gruß
Olli
-
AW: Microsoft Research TouchStudio
Zitat:
Zitat von
lutzhw
Version 1.2 ist schon im Marketplace
Als ich das gelesen habe, bin ich direkt in den Marketplace -> keine Updates vorhanden -> TouchStudio gesucht -> es wurde Version 1.2 angezeigt, aber kein Update-Button :(
Kurz darauf kam aber dann das Update :D
-
...ich hatte auch kein Update angezeigt bekommen. Bei der Suche wurde dann aber schon Version 1.2 gefunden => auf Button "Aktualisieren" hat ein "Zwangs-"Update ausgelöst. ;-)
Gruß Jörg
-
AW: Microsoft Research TouchStudio
Hier noch meine neue Version (für TouchStudio 1.2) der Action "TwoPics":
Code:
action TwoPics() : Nothing {
pic1 := senses->take_camera_picture;
time->sleep(1);
pic2 := senses->take_camera_picture;
time->sleep(1);
a := 50 / 100;
pic2->blend(pic1, 0, 0, 0, a);
time->sleep(1);
pic2->post_to_wall;
time->sleep(1);
pic2->save_to_library;
}
Man macht 2 Fotos und diese werden anschließend "überlagert" auf der Wall angezeigt und auch so im Bilder-Hub gespeichert. Funktioniert nun mit dem neuen TouchStudio deutlich besser (ohne Abstürze).
-
AW: Microsoft Research TouchStudio
Und hier noch die Action "PicBrowser":
Oben werden Bilder angezeigt, die sich auf dem Phone befinden, unten befindet sich ein "Board", welches Informationen (Bildindex, Anzahl der Bilder auf dem Phone, Erstelldatum und Auflösung des angezeigten Bildes) anzeigt und auch für die Steuerung genutzt wird: Durch wischen nach links und rechts in diesem unteren Bereich kann durch die Bildersammlung geblättert werden. Mit einem Fingertip wird versucht, die Location des Bildes zu ermitteln (falls GPS-Informationen vorhanden).
Der Code hat noch Optimierungsbedarf - ist halt alles so beim Rumspielen und Testen entstanden...
Code:
action PicBrowser() : Nothing {
b := media->create_board(180);
b->set_background(colors->accent);
s1 := b->create_text(480, 20, 30, '');
s2 := b->create_text(480, 20, 30, '');
s3 := b->create_text(480, 20, 30, '');
s4 := b->create_text(480, 40, 18, '');
s1->set_pos(230, 10);
s2->set_pos(230, 40);
s3->set_pos(230, 70);
s4->set_pos(230, 120);
p := media->create_picture(480, 480);
l := p->location;
i := - 1;
h := true;
b->post_to_wall;
p->post_to_wall;
while true do {
if b->touched then {
while b->touched do {
h := false;
}
}
if not h then {
if b->touch_velocity->x = 0 and b->touch_velocity->y = 0 then {
h := true;
if i >= 0 then {
p3 := media->pictures->at(i);
l := p3->location;
if l->is_invalid then {
s4->set_text('--- No locationinfo ---');
}
else {
s4->set_text(locations->describe_location(l));
}
}
}
if b->touch_velocity->x < 0 then {
i := i + 1;
if i >= media->pictures->count then {
i := 0;
}
p2 := media->pictures->at(i);
p2->draw_text(0, 0, '', 16, 0, colors->foreground);
x := p2->width;
y := p2->height;
l := p2->location;
h := true;
s1->set_text(i + 1 || ' / ' || media->pictures->count);
s2->set_text(p2->date->to_string);
s3->set_text(x || ' x ' || y);
s4->set_text('### Tap to get the Location ###');
b->update_on_wall;
if p2->is_panorama then {
p2->resize(480, y / x * 480);
}
else {
p2->resize(x / y * 480, 480);
}
p->clear(colors->background);
p->blend(p2, 0, 0, 0, 1);
p->update_on_wall;
}
if b->touch_velocity->x > 0 then {
i := i - 1;
if i < 0 then {
i := media->pictures->count - 1;
}
p1 := media->pictures->at(i);
p1->draw_text(0, 0, '', 16, 0, colors->foreground);
x1 := p1->width;
y1 := p1->height;
l := p1->location;
h := true;
s1->set_text(i + 1 || ' / ' || media->pictures->count);
s2->set_text(p1->date->to_string);
s3->set_text(x1 || ' x ' || y1);
s4->set_text('### Tap to get the Location ###');
b->update_on_wall;
if p1->is_panorama then {
p1->resize(480, y1 / x1 * 480);
}
else {
p1->resize(x1 / y1 * 480, 480);
}
p->clear(colors->background);
p->blend(p1, 0, 0, 0, 1);
p->update_on_wall;
}
}
}
}
-
AW: Beispiel Moroli Action "TwoPics"
@Moroli,
...funktioniert auch bei mir einwandfrei.
BTW:
Der Punkt als Dezimalseparator wird (schon seit der beta 1.1) wieder akzeptiert! :p
Wir können damit wieder anstelle des definierten Faktors "a := 50/100" direkt ".5" in der Befehlszeile eingeben!
=> pic2->blend(pic1, 0, 0, 0, .5)
-
AW: Beispiel Moroli Action "PicBrowser"
@moroli
...GENIAL Super Script :p
Funktioniert einwandfrei!
Anmerkungen zum Script "PicBrowser":
1.) => SUPER, das erste mal eine echte GUI :D
2.) => nicht irritieren lassen. Wenn dieses Script gestartet wurde, wird zunächst nur unten ein leerer Kasten angezeigt. Die Ergebnisse erscheinen erst nach einem ersten Wisch nach links oder rechts.
3.) => nach dem Lockscreen läuft das Programm zwar wieder weiter, es wird aber nur noch das zuletzt angezeigte Foto dargestellt. Der untere Kasten mit den Infos und zur Steuerung fehlt ganz. Vielleicht läßt er sich (mit den Ergebnissen?) in globalen Variablen sichern?
Anmerkungen allgemein (in beta 1.2):
1.) => Wegfall der Möglichkeit Screenshots im laufenden Programm zu erstellen :-(
2.) => Versand der Scripte jetzt als Text per eMail/SMS möglich
3.) => damit "anderes Layout" s. Beispiele moroli in vorangegangenen Posts
(z.B. zusätzliche Semikolon am Zeilenende und geschweifte Klammern um Ausdrücke)
TIPP:
Kopieren des Codes und einfügen in einem Texteditor mit Highlightning für Sprachen (z.B. "Notepad++"), hier habe ich die Sprache "C" gewählt. Anschließend kann man z.B. "if...then" Bedingungen mit einem "+" bzw. "-" ein-/ausblenden.
Das erleichtert die Übersicht beim "abtippen" längerer Scripte ungemein. :p
Gruß Jörg