2018年12月22日土曜日

久しぶりにSwift:サイズの違うUnsafeMutablePointer間の変換(自信なし)

いやー…相変わらずDeprecatedの嵐ですわー。フィックスしますか?って聞いてくれなくていいから自動的に直せやコラ、とついガラが悪くなる今日このごろです。

えーと、MP3への変換をしようとして、lameは16bitだけどoutput streamは8bit、両方ともUnsafeMutablePointerなんだけどサイズが違ったら変換できないよ、って言われて散々苦労したんですが…これでとりあえずビルド通りました。デバッガで見るとpcmBufferとpcmU8Bufferには同じアドレスが入っているのでC言語の慣行的にはOK、ですかね。

let pcmBuffer = UnsafeMutablePointer<Int16>.allocate(capacity: Int(PCM_LENGTH))
let temp = UnsafeMutableRawPointer(pcmBuffer)
let pcmU8Buffer = temp.bindMemory(to: UInt8.self, capacity: PCM_LENGTH*2)

2時間ぐらい試行錯誤してましたわ…。

ググっても見つからなかったので貼っておきます。もっと簡単な方法があればご教示いただければ幸いです。コメント欄、スパム対策の承認制ですので、書き込んでもすぐには表示されません。ご注意くださいませ。

2018年12月2日日曜日

ランダムサンダーでやかん磨きました

羊毛+ピカール約12分

ランダムサンダーでやかん磨いてみました。使用前がこちらです。炒め物の油がはねてそのまま使うから焦げるんですよね…ってか汚いにも限度というものが。


中性洗剤で洗ったあと(ほとんど落ちないw)、#400ジスクペーパー(ジスク=ディスクなんだろうなぁ)で全体を磨いたあとがこちらです(約10分)。焦げは落ちていますが、研磨傷ヒドい。


ペーパーの後、本来はフェルト+研磨剤で磨くんですが注文ミスでハンドグラインダー用のフェルトを買ってしまいまして、他には手元に羊毛しかなかったので少し時間かかりました。約1/3を磨いて12分程度。それがトップの写真です。磨いていないところとの境界の写真を取りました。

なんで1/3しかやらないのかというと…重いってか重量もあるんですがジャイロ効果で手首が拗じられるので、普段キーボードより重いものを持ち上げない身(持ち上げません)にはとてもしんどくて、5分に1回休んでも指先がプルプル震えます。これ業務で長時間使う人って鉄人やな。あと、昔なつかしいトレーニング器具のダイナビーを思い出しました。

使ったのはマキタ(makita) ランダムオービットサンダ BO5030というタイプ。同様のボッシュのやつは壊れやすくトルクない、というレビューだったのでこれにしたんですが…これも意外とトルクがなくて羊毛押し付けると止まってしまいます。ただ、当てているつもりの場所と離れたところが鏡面になっていたりで使いこなせていないようです。

あと、細かいところはやっぱり無理で、取手の付け根のような場所はミニルーターにフェルトつけて磨かないとあかんかな、って感じです。

フェルトと研磨剤(茶・白・青棒というやつ)を買って、またそのうちに。