QuickTIme Player
macOS標準のムービープレイヤーはQuickTime Playerですが、今更ながら初めて知った内容がありまして。
こちら、QT Playerのコントローラですけど、TCを内部にもつmovファイルについては、通常の時間表示、タイムコード表示、フレーム数表示を切り替えることができます。で、TCもしくはフレーム数表示の時、左側の現在時刻部分を右クリックすると一番下のようにフレーム数を指定することができる。TCを持っていないムービーファイルの時も同様にして欲しいのですけど、それはできない模様…
ホントに、あくまでもTCを持たないとダメみたいで、クリップを分割 とか実行しちゃうとTCがなくなるからかもう時間表示は切り替わらないし、カレントフレームの指定もできなくなります。
再生コントロールのキーボドショートカットです。
- Space:再生・停止のトグル
- J or Cmd + ←:巻き戻し再生。押すたびに速度が上がる
- L or Cmd + →:早送り再生。押すたびに速度が上がる
- K:停止
- Option + ←:頭出し
- Option + →:お尻へ
- ←:1フレ戻す
- →:1フレ送る
- Opion + Cmd + L:ループ再生のトグル
WWDCが6月に行われてそこで次期macOSも顔見せするでしょうけど、そこでQT Playerの機能向上も示されると良いっすね。
5月最後の土日
緊急事態宣言が明けて、でも東京・神奈川・埼玉・千葉あたりは県を跨ぐのは遠慮してねってことみたいでしたが、県をまたがずに行くことができるHUMAX成田が30日から営業を再開したということで行ってきました。といっても現在の映画館は新作が封切られる状況ではないってことみたいで旧作ばかりです。でもラインナップはかなり俺得な感じでございました。6/4までのスケジュールのようだけど
- ヴァイオレット・エヴァーガーデン 外伝 – 永遠と自動手記人形 –
- プロメア
- AKIRA(IMAX)
- 劇場版SHIROBAKO
ですよ。ってことでとりあえず劇場版SHIROBAKOに足を運びました。久しぶりに映画泥棒を観ましたな。
新型コロナウイルスによる自粛ムードに巻き込まれて、普通なら足を運ぶ人たちにも観てもらえないまま終わっちゃったんじゃないかって思っていただけに、機会が延長されたのは本当に喜ばしいなと思っております。
それにしてもドラえもんにクレヨンしんちゃんと、時間が春で止まってしまっているようです。まぁ劇場にしてみると本当に止まってしまったって感じでしょうけど、席を市松模様でしか取れないように設定し、入場は検温を経てといった対策をしているので、客足が戻るといいですね。もともと映画館の換気能力はかなり高いそうなので、場内満席であっても半分しかお客が入らない状況かつ現状では非常に客が少ないわけで、リスクはかなり低いんじゃないかなぁ。だから劇場に足を運んで映画を見るのはいいんじゃないかって思ったり…。まぁ隣同士では座れないわけですが、それは諦めてもらって。積極的に行こうって空気になるかわりに、体調の悪い人はもちろん、ちょっと咳が出るってぐらいの人は我慢すべきって空気は維持すべきかもだけど、それはどこでも同様っすな。
緊急事態宣言が明けそうだぞーって世間の空気になって後の結果が今頃みたいで、感染者が減らない・少し増加?ぐらいな状態ではありますが、それが発生する可能性が低い設備・場所には積極的に行ってよしって空気に早く世間がなっていってほしいなと思うです。
日曜日である今日はホームセンターに行きました。客足は戻りつつあるなって人出ではあるものの、まだ以前には届かない感じっすね。これぐらいの方が買いやすいから客としてはこっちの方がいいけど……。
Principled BSDF はMetallicをオンにするとカラーのベイクができないの?
Blender 2.83のベータっす。
マテリアルとUV設定されたオブジェクトでカラー情報をテクスチャにベイクしようと苦闘しておりました(Bake TypeをDiffuseにし、Colorのみの影響された状態)。マテリアルはPrincipled BSDFを繋いだだけのシンプルな構造です。
何に苦闘していたかと言えば、ベイクの結果が
こんな感じで黒くなってしまうことに苦慮してまして、もともといじっていたものはこの赤い部分のマテリアルが黒色のものだったから真っ黒になって出てきていたわけです。ために、レンダリングの設定やオブジェクトの構造の問題かなと悶々としてたのだけど、マテリアルが原因の模様。
こんな具合のマテリアルなのだが、赤い部分と青い部分で何が違ったかというと、Metallicの値が違っておりました。赤いのはMetallicが0だったのです。
ってことで青い方もMetallicを0にしまして
ベイクしてみますと、
ちゃんと青色がのりました。
あーそっか、PBRだからMetallicをオンにしちゃうと、BaseColorはDiffuseには割り振られないってことか。これはうっかりでございます。
色々と思惑ちがいが
ヤバイわ。
出先でのeGPUの利用価値が無くなったんで家に持ち帰って在宅マシンにつないでみたのだけど、在宅マシンのディスプレイって 初代 LG UltraFine 4k Display じゃないですか。つまりは接続はTunderbolt 3。
いや、それは分かってたから、
MacBook Air—eGPU—UltraFine Display
ってするつもりだったのだけど、あてにしていたeGPUボックスのThnderboltポートの数が1つじゃないですか。と言う事でこの案はご破算となりました。普通ならeGPUのDisplayportあたりからモニタを繋ぐのだけど、それができないディスプレイだしねぇ。困ったねぇ。
GPUパワーが足りなくて問題があったのはリモートデスクトップソフトとPhotoshopでして(他にもBlenderでもそうだけど在宅マシンでの利用機会は少ない)、その問題に対応したいがためのeGPU投入なのだけど、できないとなると価値が半減以下となります。ぬぅ。
現状、AMDのカードでUSB-C端子を持つのは
Radeon™ Pro W5700 | ワークステーション・グラフィックス・カード | AMD
だけみたいです。(正確にはAppleのMac Pro用のがむしろUSB-C端子しかないぞって勢いの仕様だけど、MPXモジュールなためにたぶん普通のPCIeスロットにはささらない(刺さっても利用できないだろうし))
そしてそいつのお値段がAmazon価格14万円と高い。
ディスプレイだけを購入するのが一番安上がりだけど、UltraFine Displayを買ったばかりだしでなんか負けた感がある(し出費は厳しい)。
と同時に、MacBook AirにディスプレイとeGPUを繋いだ結果、MacBook Air側のThunderbolt 3ポートが埋まりました。ために有線LANに繋げなくなりました。これもよろしくないです。
さてさて、困りましたぞぅ(^^)
あ、有線LAN接続だけならeGPUボックスをRazer Core X Chromaにすれば解決するw でもやんない。
USB-Cアダプタ
USB-A→USB-C変換アダプタとして"Rampow USB Type C to USB 3.0 変換アダプタ"ってのを買ったのですけど、なかなか良くできているなぁMacBook的にってのが上の写真。MacBook AirのThunderbolt端子2つにぴったりとおさまります。それだけでも価値があるかもしれない。
品質がどうなのかは分かりませんが、使用目的がキーボードとタブレットをLG UltraFine 4k Displayに繋ぐためだから(つまりはUSB 2.0で使うから)そんな負荷かからないだろうし、大丈夫でしょう。
しかしこれがAmazon価格849円、しかも2つ入り(タイムセール中に買えれば500円台でした)。中国の会社みたいですけど、おそろしいっす。
ちなみにこれとは別目的でUSB-A→USB-Cアダプタを買ってまして、それがアイネックス U30CA-LFADTです。2017年に出た製品みたいですが、こちらはずっと付けておくのに出っ張りが少なくて比較的安心出来るかもと思っての導入です。
WacomのタブレットのUSBレシーバですがね。出っ張りがApple純正Lightningケーブルのコネクタ部分と同じぐらいで済むのはいいかもしれません。800円弱ほどでの購入。
ちなみに今時のWacomのタブレットはBluetoothでの無線接続となっているそうで、この辺のアダプタの必要性も時間が経つにつれて薄れていくのでしょうね。
巣を作られた
自宅の隣の家に面している方の窓の雨戸を、昨年の台風直撃を警戒した時から閉めっぱなしにしていたんですけど、ここ最近、そこから鳥の声が随分と聞こえてくるようになったと思ったら、どうも戸袋の中にムクドリ?が巣を作ってしまった模様。明らかに餌をもらおうとするヒナの鳴き声も聞こえてくるわけで。
ここで雨戸を無理やり開いたら、戸袋の中で大惨事となるでしょうから、巣立つまで放置して、巣立ったら清掃して消毒して、来年また入ってこないように対処することを考えると頭が痛いです。
雨戸はちゃんと開け閉めしないといけませんな。
90年代、フロッピーディスクは現役だった
断捨離です。
こんな感じのフロッピーディスクが二ケースほどありまして、中のデータを取り出してディスクを捨てようかなと思い、だいぶ前に購入していたフロッピーディスクドライブを接続しました。メールの履歴確認して見たら2016年に815円で購入してましたな。その時からバックアップ取ろうと思いつつ放置していたわけです。
んで、デバイスとしては無事認識されたのですが、なんということでしょう、フロッピーディスクがマウントされないじゃありませんか。ウィキペディアで調べると、HFS(MacOS標準フォーマット)のサポートはSierra以降終了しているのだそうで。なんてこったって感じです。
幸い、Parallels Desktop上で動作するLion環境がありまして、そちらに繋いだらマウントしてくれました。
ということで、二ケース分の中身をいそいそとコピーして先ほど全部終わりましたですよ。50MBもない総容量のコピーに1時間弱ぐらいかかったかね。驚いたのはエラーもなく全部読み込めたこと。CD-RやDVD-Rなんかより耐性がありそうな印象です。
中に入っていたファイルのタイムスタンプは1996年。LZHファイルが多くて、The Unarchiverにてそれは伸長できたものの、中に入っていたファイルの拡張子がDOCだったりPICだったりGIFだったりJPGだったりで、一部読むのが難しそうなフォーマットだったり開いてみたら開けなかったり。古のネット上の画像を集めたディスクだったわけですが、古すぎてフォーマット乱立状態の時代っすね。PICについてはPICTかなと思ったら一緒に入っていたドキュメント(拡張子DOC。Wordファイルじゃなくて単なるテキストファイル)によるとx68kの標準画像フォーマットっぽく、これを見るビューアって今現在Mac上にあるのか?
と言いますか、当時これらファイルを何で見ていたのかというとPixelCatで見ていたわけですが、だいぶ昔にMac OS X 環境に対応したものの、まだ64bit化していません。ってことでやっぱりParallels Desktop上で動くSierra環境に入れてみたらですね、
Rosettaかー。つまりはMacOS 9以前の実行環境で開ってことっすね。これはiMac G5を蘇らせないといかんか……
ともあれ、こうしてうちからフロッピーディスクを読み込む用事がなくなりました。ドライブを維持していく価値が今後あるのだろうか。あとMOが数枚あるんだよねー。これはどうするかね。
ちなみにですが、HFSでフォーマットされたフロッピーディスクはFAT32でフォーマットしなすとCatalina環境でもマウントされました。新品のフロッピーディスクを購入することが難しくなっている現在、だからなんだって情報ですけど、まだまだ使えますよ?(exFATでもフォーマット可能みたいだし)
…
あー、GIMPにはもしかしてPICやらMAGやらのローダーがあるんか?
GIMP関連 [狼どもの熱き砂漠]
GIMP入れてみましょうか。…、
上記リンク先から落としたPythonファイルを~/Library/Application Support/GIMP/2.10/plug-ins に入れてやって ファイル→開く/インポート... から見事開かれましたですよ(時間はかかるけど)。ということでJPEGで書き出してやりました。iMac G5を頑張って稼働させる必要はなくなりそうです。
HD PENTAX-DA FISH-EYE10-17mmF3.5-4.5ED
リコーストアのポイントって1年間しか有効じゃないのです。で、1年ほど前、Theta Z1をそこで購入したことからそこその金額のポイントがもうすぐ消えてしまうというわけなのです。仕方ないので何か買います。思う壺です。
でも、簡単に思惑には乗らないぞと思いまして、ポイントがつかないアウトレット品を購入しました。
ということでそれが先週末に届きまして、こうして取り付けてみた次第。
ちなみにうちにはそれのsmcのがありまして、2011年8月に購入したんですけど、ありまして、だからちょっと比べてみました。
このHD PENTAX-DA FISH-EYE10-17mmF3.5-4.5EDが登場したのは2019年です。まだ登場して1年経ってないわけっすね。でもアウトレット。
撮ったデータのEXIFを見て微妙にショックを受けたのが、そこに記されたレンズ名がsmcだったこと。でもネットを見ると世間一般そうらしいので、K-3が古いせいではなかった模様。
というわけで撮ったのを並べて見たのですけど、このサイズじゃわかりにくですかね。レンズフレアやゴーストが抑えられていることを感じ取れます。
HDの方が奥の白とびが抑えられていると思うのだけど、これもコーティングの成果なのでしょうか?
HD化でボディーデザインが変わって、レンズフードが外せるようになったそうです。それをする機会はK-1を買わない限りなさそうではありますが可能性があるのは良いことです。クイックシフト・フォーカス・システムが使えたり、レンズ先端から2.5cm〜ピントがあったりと、ちゃんと使えれば楽しそうなレンズなだけに付けて持ち運びたいところだけど、常用するにはちょっと辛いミリ数ですw
まぁそんなわけで、smcの方は中古屋さんに売りに行こうと思っております。
<追記>smc PENTAX-DA FISH-EYE10-17mmF3.5-4.5EDと一緒に利用機会が無くなったデジカメ一台とsmc PENTAX-DA 40mmF2.8 XS を売ってました。40mm、本当に利用機会がなかった…。結果、最終的なHD PENTAX-DA FISH-EYE10-17mmF3.5-4.5EDの購入金額は13116円となった気分でございます。smc PENTAX-DA FISH-EYE10-17mmF3.5-4.5EDは1万円にも達しませんでした。残念。追記>
ターミナルのコマンドをPythonから投げる
Pythonから ls -le ってコマンドを投げて内容を取得したいとします。
subprocessモジュールは「新しいプロセスの開始、入力/出力/エラーパイプの接続、リターンコードの取得を可能とします。」(subprocess --- サブプロセス管理 — Python 3.8.3 ドキュメント)だそうです。ls -le ってプロセスを開始したいって用途ですからこれを使えってことっすね。
使い方としてはシンプルには
import subprocess cp = subprocess.run( ["ls", "-le"] )
で良いようなのですが、そこに様々なオプションが加わります。cpって変数で受けていますけど、これをprint文で表示してみると
CompletedProcess(args=['ls', '-le'], returncode=0)
とか記されました。つまり、欲しい情報が取得できていません。そのためには run メソッドに stdout 引数を用意し、subprocess.PIPE を渡すのだそうです。
cp = subprocess.run( ["ls", "-le"] , stdout=subprocess.PIPE) print( cp )
print文の結果は
CompletedProcess(args=['ls', '-le'], returncode=0, stdout=b'total 0\ndrwxrwxrwt 34 root wheel 1088 4 16 14:45 Shared\ndrwxr-xr-x+ 69 user staff 2208 5 17 09:57 user\n 0: group:everyone deny delete\n')
って感じで必要情報が出てきます。ということでcp.stdout で必要な値を取得できます。注意すべきは、ネットを検索すると、runメソッドに encoding='utf-8'を入れないと文字列ではなくバイト列になるってことみたいで(上記紫部分直前にbって文字が見ます)、確かにそれを入れずに、例えば split('\n')なんて書くと "TypeError: a bytes-like object is required, not 'str'" って出てきちゃいますね。
cp = subprocess.run( ["ls", "-le"] , encoding='utf-8', stdout=subprocess.PIPE)
コマンドとそのオプションはスペース部分で分解してリストで渡しています。runメソッドには shell=True って引数もありますが、これを入れると"ls -le"ってstrで渡してもいいようです。shell=Trueを指定しないと、'ls -le'っていうコマンドと認識するみたいです(-leがオプションではなくコマンド名の一部として認識される?)。
runメソッドはサブプロセス(この場合は ls )が終了するまで次の処理を待ちます。そうじゃない処理をさせたい場合にはrunではなくPopenを使うそうです。
Popenでサブプロセス処理を開始して、communicate() で終了したサブプロセスの結果を受け取れるそうです。
import subprocess import datetime def printCurTime( a ): dt_now = datetime.datetime.now() print(a , dt_now.strftime('%H:%M:%S.%f')) printCurTime( '開始' ) #時刻表示 cp = subprocess.Popen( 'sleep 5; ls -le' , shell=True, encoding='utf-8',stdout=subprocess.PIPE) printCurTime( '途中' ) #時刻表示 result = cp.communicate() print( result[0] ) printCurTime('終了') #時刻表示
こちらのように、Popenで「5秒スリープした後に ls -le する」ってサブプロセスを走らせた場合、結果は
開始 11:27:44.530698 途中 11:27:44.532001 total 0 drwxrwxrwt 34 root wheel 1088 4 16 14:45 Shared drwxr-xr-x+ 69 user staff 2208 5 17 09:57 user 0: group:everyone deny delete 終了 11:27:49.547068/pre>
という感じで、5秒のスリープ終わる前に「途中」って表示されて、5秒後に結果が表示されてます。
同じことをrunでやります。ただし値の取得は communicate() と print( result[0] ) の代わりに print( cp.stdout ) にしています。
開始 11:28:45.428847 途中 11:28:50.439436 total 0 drwxrwxrwt 34 root wheel 1088 4 16 14:45 Shared drwxr-xr-x+ 69 user staff 2208 5 17 09:57 user 0: group:everyone deny delete 終了 11:28:50.439503
「開始」と「途中」の間、5秒あいてます。ネットを漁ると、runは内部的にはPopenを呼び出した直後にcommunicate()を実行しているのだとか。なるほどなるほど。
sudoしたい場合はどうしたもんでしょうか。例えば
import subprocess
import time
while True:
cp = subprocess.run( ["sudo","lsof", "-i:445"] , encoding='utf-8',stdout=subprocess.PIPE)
print( cp.stdout )
time.sleep( 60 )
ってのをターミナル上で実行すると、実行直後パスワードを聞かれます。なのでそれで問題ないと思うのですけど、実行させてすぐにパスワードが必要とは限らないって時どうするか(あるいは処理中 sudo で入力されたパスワードの有効期限が切れるかもしれない?)。Python で sudo を呼び出しパスワードを自動入力 [Qiita] によれば
import subprocess import time import getpass passwd = ( getpass.getpass( prompt='パスワード♡ :' ) + '\n' ) while True: cp = subprocess.run( ["sudo","lsof", "-i:445"] , input=passwd, encoding='utf-8',stdout=subprocess.PIPE) print( cp.stdout ) time.sleep( 60 )
こんな書き方で良さそうです。参考にした記事はPython 3.5みたいで、getpassのところで.encode() しているけど、ここで試しているのは3.7.6でしてちょっと事情が違うのかな?
まぁまぁ、本当にホントに基本のところはそんな感じなのでしょう。
Apple Pencilを落として見失った
見失いました。
職場自席でApple Pencilが落下しましてね。カツーンと硬い音がしたのを確認したのだけど、落ちた先は目で追えなかったのです(別件作業中)。で、探したみたけど、床を這いずり回ったけど見つからない。困りました。
そんな時は
Wunderfind: 紛失したデバイスを見つける [App Store]
ですね。ペアリングしたApple Pnecilがそのアプリ越しに距離何メートルのところにあるって表示されます。(bluetoothで認識されたデバイスの一覧が表示され、一つを選ぶとそいつの距離が表示される仕組み)
落とした立ち位置から1mって値が出て、歩き回るとその距離が伸びる傾向にあるから自席足元付近位あるはずなのだけど、床はもう探したしってしゃがんだら 0m って表示されるんですよね。「?」と視線をずらすと自席椅子の座面下の隙間の空間にApple Pencilが見えました。これ、普通に探してたら見つけられなかったかもしれません。
というわけで、あっててよかったってアプリでした。