In Omni Hijack Professional und Mist wegautomatisieren habe ich bereits beschrieben, wie ich aufnehme und dabei meine Shownotekommentare mache. Gestern habe ich ein wenig rumgespielt, um den Prozess noch ein wenig zu verbessern.
Aufnahmesituation
Während der Aufnahme höre ich also zu, ob AutorInnen genannt werden, die dann in die Shownotes kommen. Wenn ich Glück habe, dann stehen die Namen mit auf der Präsentation. Dann wechsle ich zu Omni Outliner Professional und klicke auf das Script-Icon, wodurch eine neue Zeile erstellt wird. Soweit so gut. Wenn der Name nicht verständlich ist, dann muss ich erstmal suchen, welche Person gemeint sein könnte. Google ist da eine gute Hilfe.
So oder so muss ich noch einen passenden Weblink zur genannten Person raussuchen. In jedem Fall mache ich dann zwei Sachen auf einmal. Weiter zuhören und im Web suchen.
Sachen schnell aus dem Kopf bekommen
Ich habe mir überlegt, dass es ganz cool wäre, wenn ich nur einen Knopf drücken bräuchte, um das Script auszulösen. Das könnte ich nun über ein Tastaturkürzel machen (das wäre die einfachste Variante, bei der ich mir aber das Kürzel merken müsste) oder ich mache es über eines der tollen iDevices. Schon länger wollte ich mal mit OSC, also Open Sound Control, experimentieren. Dazu benutze ich zwei Programme. Auf dem Mac kommt OSCulator zum Einsatz. OSCulator wartet auf einem Port auf OSC oder MIDI Signale. Dabei lassen sich Aktionen definieren, die ausgeführt werden, wenn ein bestimmtes Signal gegeben wird. In meinem Fall wird eine, mittlerweile modifizierte, Version des Apple Scripts für die Shownotes ausgeführt. Dazu später mehr.
Auf iOS gibt es mehrere Möglichkeiten. Ich habe mich für die kostenlose Variante entschieden: Control. Control gibt es für iOS und für Android. In Control lassen sich unterschiedliche Bedienflächen erstellen. Diese geben über OSC oder MIDI Signale an einen Empfänger, in diesem Fall OSCulator, ab. So habe ich mir ein simles Layout für das iPad Mini erstellt, dass eigentlich nur aus vier Buttons besteht. Wichtig ist dabei nur der Add Shownote Button, der ein OSC Signal raus schickt. Eben dieses, welches das Script auslöst.
Das einzige wirkliche Manko an Control ist aber, dass die Dokumentation, sagen wir, nicht wirklich sehr hilfreich ist. Es hat mich doch recht viel Zeit gekostet rauszubekommen, wie ich mit JSON ein Bedienfeld erstellen kann, was macht was ich möchte. Das könnte besser werden.
Kleine Verbesserung im Apple Script
Am Apple Script habe ich ein wenig gedreht um zwei Sachen zu erreichten:
- Wenn die Ziffer der Stunden oder der Minuten unter 10 ist, wird nicht mehr nur die Zahl angegeben, sondern es wird einen 0 am Anfang ergänzt. Aus 5 wird 05
-
Am Ende des Scripts wird der Omni Outliner in den Vordergrund geholt, damit ich sofort anfangen kann mit tippen
tell application "Audio Hijack Pro" set _ses to first session whose hijacked is true set _time to get current recording time of _ses if _time > 0 then set theHours to (_time div hours) if (theHours < 10) then set theHours to (0 as string) & (theHours as string) set theRemainderSeconds to (_time mod hours) set theMinutes to (theRemainderSeconds div minutes) if (theMinutes < 10) then set theMinutes to (0 as string) & (theMinutes as string) set theRemainderSeconds to (theRemainderSeconds mod minutes) set _cont to theHours & ":" & theMinutes & ":" & (round theRemainderSeconds) as text tell application "OmniOutliner Professional" set MyDocument to front document tell MyDocument make new child with properties {topic:_cont} end tell end tell end if end tell tell application "System Events" set frontmost of process "OmniOutliner Professional" to true end tell
Insgesamt spare ich mir also das suchen von Omni Outliner, um ihn aufzurufen und ich spare mir das Klicken des Script Icons.
Schnelles Suchen
Noch mehr Arbeit nimmt mir PopClip ab. PopClip ist ein kleines Hilfstool. Es wird aufgerufen, wenn mit der Maus / dem Trackpad Text markiert wird. Angepasst an den jeweiligen Text lassen sich dann Aktionen ausführen. Diese Bedienung ist an das Cut, Copy, Paste auf iOS angelehnt. Über Extensions lassen sich weitere Funktionen hinzufügen. In meinem Fall markiere ich den Text und kann mit meinem Klick eine Websuche oder eine Suche bei der Wikipedia starten. Wenn ich zum Beispiel das 10.000ste Mal die Wikipediaseite von Judith Butler suche, markiere ich einfach den Namen, klicke das Wikipedia Icon und brauche nur noch die URL der Seite kopieren, fertig.
Da geht noch mehr…
… war der erste Gedanke. Der Plan: Über OSC ein AppleScript oder einen (Automator) Dienst aufrufen, der über Apple Script die OPML Datei stript, also von jeder Outline nur den Inhalt des Namestags und die URL stehen lässt (brauch ich ja für Auphonic). Nachdem ich bestimmt drei Stunden daran gesessen habe das in AppleScript umzusetzen habe ich aufgegeben. Ich schiebe es einfach auf Apple Script im Automator, bei dem beim ersten Ausführen ein (nicht näher spezifizierter) Fehler geworfen wird, beim zweiten Ausführen die Operation klappt.
Also habe ich auf Twitter nachgefragt ob mir jemand helfen kann. Und siehe da: 7h3linguist hat sich erbarmt und mir ein Python Script geschrieben, was das Ganze für mich macht. Den Plan mit OSC an der Stelle verworfen und eine Hazel Regel angelegt, die im Ordner für meine Shownotes auf .opml Dateien wartet. Wenn eine gefunden wird, dann wird das Script aufgerufen und die Ausgabe direkt an Sublime Text 2 weitergegeben. Daraus muss der Text nur noch in Auphonic kopiert werden (als Shownotes direkt in der Datei) und in MarkDown, für das Blog, konvertiert werden. Das wiederum lässt sich mit Apple Script in einem Automator Dienst machen:
on replaceText(s, token, withToken)
considering case
set defaultDelimiter to text item delimiters of AppleScript
set text item delimiters of AppleScript to token
set elements to text items of s
set text item delimiters of AppleScript to withToken
set s to elements as string
set text item delimiters of AppleScript to defaultDelimiter
end considering
return s
end replaceText
on trim(strg)
ignoring white space
-- do the left trim
set left_counter to 1
repeat with J from 1 to length of strg
if ")
" = (character left_counter of strg) then
set left_counter to left_counter + 1
else
exit repeat
end if
end repeat
try
set strg to text left_counter through -1 of strg
on error
set strg to ""
end try
-- end left trim
-- do the right trim
set right_counter to -1
repeat with J from 1 to length of strg
if "
[" = (character right_counter of strg) then
set right_counter to right_counter - 1
else
exit repeat
end if
end repeat
try
set strg to text 1 through right_counter of strg
on error
set strg to ""
end try
-- end right trim
end ignoring
return strg
end trim
on run {input, parameters}
set s to my replaceText(input, ".", ".")
set s to my replaceText(s, "
", ")
[")
set s to my replaceText(s, " - ", "](")
set s to my replaceText(s, "
", "
")
set s to "[" & s & ")"
return s
end run
So weit, so gut :)
Kosten
Was kosten nun die verwendeten Sachen so??
Control für iOS ist kostenlos.
- Hazel: 25$
- PopClip: 4,49€
OSCulator wird nach dem Motto ’name your price‘ verkauft. Es wird aber ein Preisminimum von 14€ angegeben und ein Preis von 29€ vorgeschlagen.
Die Kommentare sind geschlossen