Willkommen auf der Blog-Seite von hubionmac.com!
Alles rund um AppleScript und was mich sonst noch so interessiert ;-)!

Tja, jetzt ist es mal wieder soweit. Seit fast einem Jahr habe ich auf der Seite so gut wie gar nichts gemacht und logge mich dann ein und sehe, dass sich zahllose Updates u.a auch kritischer Natur in der Warteschleife befinden.

Ich habe nun schon länger damit geliebäugelt, die Seit auf ein anderes CMS umzustellen und Wordpress endlich eine Abfuhr zu erteilen. Und jetzt ist es soweit. GRAV ist nun das neue CMS hinter dieser Seite. Schlank, schnell und doch ziemlich mächtig. Mal sehen, wann ich den Nerv finde auch mal ein schönes Theme zu bauen ;-)

Ich habe seit 2007 eine recht überschaubare Sammlung von 300 Postings auf der Wordpress-Seite. Diese werde ich leider von Hand migrieren müssen, da ich auch auf Grund von Wordpress einiges an custom-code in den einzelnen Postings einbauen musste. Damit ist dann nach der kompletten Umstellung aber hoffentlich Schluss und sauberer Markdown-Code ist dann die Basis für alle Postings die da noch kommen mögen ;-)

Ich lasse die alte Seite aber nach wie vor online... werde nur die comments schließen und von der Startseite nun auf Grav umleiten =)

Continue reading...

Clearfix

css

Frei nach dem Motto wer floatet muss auch clearen =) einfach ein Div mit der Klasse clearfix einfügen, wenn man alles fertig gefloatet hat und vergessen.

.clearfix {
  zoom: 1;
}
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}

Continue reading...

Ich muss öfter einzelne Objekte aus Photoshop-Dateien kopieren und separat speichern. Da ein Rechtsklick auf die Ebene, Ebene kopieren in neues Dokument, Menü bearbeiten -> zuschneiden -> Menü fürs Web Speichern, auf Dauer ganz schön aufwendig ist.:

--© hubionmac.com 25.03.2015
tell application "Adobe Photoshop CS6"
  set orig to current document

  tell orig
    set x to width
    set y to height
    set currentlayert to current layer
  end tell
  set newdoc to make new document with properties {width:x, height:y}
  set current document to orig
  tell current document
    duplicate current layer to newdoc
  end tell
  set current document to newdoc
  tell newdoc
    delete last layer
  end tell
  trim newdoc basing trim on transparent pixels
  set current document to newdoc
  activate
  tell application "System Events"
    keystroke "s" using {command down, shift down, option down}
  end tell

end tell

Continue reading...

Ich hatte ein paar defekte MP3-Dateien, die von einer Naim-Audio Station kopiert hatte. Diese Dateien ließen sich zwar über Quicktime abspielen, aber nicht in iTunes importieren. Auch die Vorschau unter OSX spielte die Titel zwar ab, zeigte aber u.a. das hinterlegte Album-Cover nicht an. Unter OSX ist das reparieren von beschädigten mp3-Dateien mit kostenpflichtigen Lösungen sicher möglich, nur nach einer leicht zu nutzenden und vor allen Dingen kostenfreien Lösung sucht man vergebens. Anders unter Windows oder Linux, wo u.a. MP3 Diags wahre Wunder wirkt.

Ich habe aber noch ein andere Tool gefunden, Quelloffen, klein und einfach zu kompilieren. mp3val lässt sich auch einfach in ein AppleScript implementieren uns so ist dieses Droplet entstanden mit dem sich defekte mp3-Dateien (Fehler mpeg-stream) einfach reparieren lassen.

mp3val 1.0

Continue reading...


Kleines Skript, welches einen einstellbaren Ordner in iTunes importiert und im Anschluss die iTunes Mediatheak auch von nicht mehr vorhandenen Tracks bereinigt.

try
  set defaultFolder to my decode_octal(do shell script "defaults read com.hubionmac.syncfolder2itunes defaultFolder")
  display alert "Change default folder?" & return & return & defaultFolder buttons {"Change", "no changes"} default button {"no changes"} giving up after 2
  if (button returned of the result) as text = "Change" then
    error
  end if
on error
  set defaultFolder to POSIX path of (choose folder)
  do shell script "defaults write com.hubionmac.syncfolder2itunes defaultFolder " & quoted form of defaultFolder
end try
set thefolder to (POSIX file defaultFolder) as alias

with timeout of 99999 seconds
  tell application "iTunes"
    --add thefolder to library
    add thefolder to playlist 1 of source 1
  end tell
end timeout
my remove_missing()

display notification "Done"
on remove_missing()
  tell application "iTunes"
    set the stored_setting to fixed indexing
    set fixed indexing to true
    set sourcename to name of source 1
    tell source sourcename
      set libname to name of playlist 1
      tell playlist libname
        repeat with i from the (count of tracks) to 1 by -1
          try
            if the location of track i is missing value then
              delete track i
              set the remove_counter to the remove_counter + 1
            end if
          end try
        end repeat
      end tell
    end tell
    set fixed indexing to the stored_setting
  end tell
end remove_missing

on decode_octal(str)
  set str to quoted form of str
  set cmd to quoted form of "#!/usr/bin/python 
import sys 

x = sys.argv[1] 
x = x.decode('unicode_escape' ) 
x=x.encode('utf-8') 
print x"
  set cmd_full to "python -c " & cmd & " " & str
  set r to do shell script cmd_full
  return r
end decode_octal

Continue reading...