新・日々の暮らしに疲れてない?

一人バンド、火頭工房

Chrome拡張機能 左クリック長押しでページを新タブで開くショートカット機能 続き。

Chrome拡張機能 左クリック長押しでページを新タブで開くショートカット機能 の追記、改善し快適に動作するようになりました。

 

まずsetTimeout関数が作動しない問題について。

これは私の勘違いで、作動していないのはdocument.onmousedownイベントの方でした。これがあるサイトのある要素ではなぜか作動しません、最後までこの原因は不明、onmouseupやonmouseoverは作動するのに謎すぎ。

 

解決策として、作動が確認できていたonmouseoverイベントにてURLを取得、同時に「そのURLを持つ要素」に対してonmousedownイベントを取り付け、作動するよう仕組みました。onmouseoverイベントは発火しまくるのであまり好きではないのですが仕方ありません、原因がわかったら直します。

 

次、新タブに勝手に注目してしまう問題。

大幅にメスを入れました。chrome.tabsやchrome.windowsといったAPIを使えばタブを新規作成したりページを開いたりできます、ここでfocusを指定でき、これによりタブ移動を制御できました。あまり期待していなかったので、成功した時はかなり嬉しかったです。このAPIを使う方法は当初のやり方よりかなり面倒なのを知っていたので、決意するまで腰が重かったです。

 

あと、新タブ問題を制御できたということで次の課題。

長押しで新タブでページを開いた後、マウスボタンを離すとクリックイベントが発火してしまい、元タブの方でもリンクを開いてしまう問題。

 

ま、そうなるわな。関数のどこかでマウスクリックを preventDefault() などでキャンセルし、ボタンを離しても何も起こらないように、かつonmouseup時にクリック機能を復活させるため document.onclick = " "; これで戻りました。

 

一応これで完了。

どうしても作動させられないのは、iframe(まとめサイトとかで記事のタイトルがズラーって並んでる小窓みたいなアレです)の中のリンク取得や、サムネイルを自動で一覧表示しているようなサイトの場合。これらはウェブセキュリティ的にJavaScriptからリンクの取得ができないようになっていますので、無理。

 

この拡張機能、しばらくテストを重ね、問題なければ公開します。

でも作動する場合としない場合があるっていうのはちょっとなぁ...。

 

↓公開しました。

chrome.google.com

Chrome拡張機能 左クリック長押しでページを新タブで開くショートカット機能

どうも。火頭です。

仕事終わり夜のひととき、ネットサーフィンを楽しむ僕は以下の画像のような感じです。

f:id:hiatama:20161222225634p:plain

大抵はこの態勢で右手だけを動かしてページを閲覧していまして、タイピングする時はこの半身の状態からめんどくさそうに左手を伸ばして行います。

 

ロームの素晴らしい機能の一つに「コントロールキー + リンククリック」がありますよね、ページを新しいタブで開いてくれる神機能です。そうです、このコントロールキーを押すときにも私は半身の状態からめんどくさそうに左手を...

 

そこでクローム拡張機能として、マウスクリックの長押しで同じ機能を実装しようとしました。

 

 結果  一歩足りず

 

なんとクロームのポリシーだかのせいで、思うような機能には一歩及びませんでした。

※追記もありますので、改善した話も合わせてどうぞ。

 

 

処理の概要は以下↓

 

リンクを左クリック長押し → 

フラグが立ちタイマー機能が作動 → 

一定時間が経つと条件成立、onmousedownイベントからURLを取得 → window.open(取得したURL, '_blank')で新しいタブでページを開く → 

右手だけで行えてこりゃハッピー チヒッ

 

以上です。

 

問題は新しくタブを開いた時、元のページを離れ自動で新しいタブの方を注目してしまうんです。これをコントロールするために、任意のタブに注目する focus() や注目を外す blur() というメソッドがあるんですが...これがクロームのポリシーだかで無効なんです、直してくれないかなぁ。

 

ということで、長押しすればちゃんと新タブでページを開いてくれるんですが、元のタブを離れてしまうので、戻るために余計なクリックをしなければなりません。普段行っている、気になるページを新タブで開きまくって後で順に閲覧する、という行為が余計めんどくさくなったような...

 

さらに、あるサイトでは長押し判定のタイマーとして使っているsetTimeout関数が作動しないっぽい。私が別で使っている広告表示を制御する拡張機能(ソースのロードをブロックする?)などと干渉しているのか?など悩みましたが、原因は特定できず。うまくいかないもんです。 

 

次、改善した話 へと続く。

楽曲「Woods of Ashes」を公開。

楽曲「Woods of Ashes」を公開しました。

 

結構前に作った曲で、歌入れというか声入れ(?)をしていなかったので、インスト状態になっていたのですが、こないだ完成させました。

 

というわけで私の肉声です。加工しまくって魔女声になっていますけど。

イィーヒッヒッヒ!!!

 

soundcloud.com

 

Woods of Ashes

 

dim light, to your right
where things fade away
It touched your soul, and my soul
correct me, all wrong doings

 

give away all your secrets
taste of true goodness
over head, nothing sees us
all is here, meet me in

 

woods of ashes
meet me in this

woods of ashes
it's time to fade


did you, see what's there?
the ones shape the words
going through valley of damned
when stars fall, count me in

 

woods of ashes
meet me in this

woods of ashes
it's time to fade

Web Audio API のfilterの扱いが意外と繊細だったことについて。

どうも火頭です。

記事のタイトルは少しラノベを意識してみましたがいかがでしょう?

 

自分のサイト こちら で自作の音楽を聴けるようにしていまして、これはWeb Audio APIという技術を使って楽曲を再生させています。比較的新しい技術なので、ブラウザの更新に伴いバグが出たりするのでたまに動作確認をするのですが、久しぶりにバグに出くわしました、というお話。

 

楽曲の再生途中で「音がばらばらと崩壊する」とでも言いましょうか、ジジジ...と急に音が消え始め、しばらくして音量が0になる、みたいな感じ。タイミングがまともではないので、あーバグだな、と思いました。

 

元のmp3ファイルが破損しているのかな?と思ったのですが、再生してみても異常なし。ローパスフィルターをいじったらバグが出るので、どうやら原因はフィルターにあり。

 

var default_frequency = 44100;

var new_frequency = 400;

 

filter.frequency.value = new_frequency;

 

こんな感じで変数で代入してるのがダメなんかなーとか、不毛な試行錯誤をした結果...

 

var default_frequency = 44100; ←こいつがダメだったようです。

 

数字を20000とかキリの良いものに変えたら治りました。なんじゃそりゃ!

 

正確には、元が44100だったかなんだか忘れましたが、とにかく指定する周波数が問題だったようです。わけがわからん。

 

最後に言いたいことは、私のサイトで音楽聴いてね、ということです。YouTubeとかSoundCloudにはない素敵な機能を備えてるんだからー。

 

おわり

楽曲「Happy Herring」を公開。

新曲「Happy Herring」を公開しました。

海の中って神秘的ですよね。

息が続かないのであまり潜りたくありませんが。

 

soundcloud.com

 

動画はこちら↓

youtube

Happy herring, through man's net

Happy herring, off you go

Swim well, swim well

楽曲「Southern Heat, Lazy Mood」を公開。

インストを1曲公開しました。

最近はもう寒いですが、暑い時期にはよく南米の音楽を聴いていました。

 

バキバキのプロの音楽ではなく、街中でよくわからん団体が演奏しているようなのが好きで、よくわからない複雑なリズムに「これどうなってんのかなぁ...?」と普通の感想を抱いたり。

 

そんなことを思い出しながら、リズムトラックを打ち込み、ギターを重ね、シンセを重ね。

 

インストは一人で完結する分、作るのが速くて良いです(出来はともかく)。

 

soundcloud.com

今年の菜園活動を振り返る。

ずいぶんと寒くなり、畑もずいぶんと寂しくなりました。ここらで一旦今年の菜園を振り返ってみたいと思います。

 

パクチー ルッコラ

まず去年の今頃、秋に蒔いたパクチールッコラは狙い通り越冬し、春の始まりに勢いを吹き返しました。これにより人より少し先に緑の野菜を楽しむことが出来ました。パクチールッコラは毎年越冬させることにします。

 

じゃがいも
今年初めて栽培にチャレンジしました、甘く濃厚で美味。家族も喜んで食べくれたので
栽培を続行します。秋植えしたものがそろそろ収穫できそうです。あと、畑に残ってたジャガイモがどんどん芽を出すので、ちゃんと撤去しないとダメですね。

 

山椒
家の敷地内に生えていたのですが、引越しをしたのでお別れ。小さいものは堀り起こし移植、葉程度なら今後も収穫可能。

 

ニラ
同じく引越しの被害にあった野菜の一つ。掘り起こして移植しましたが、しばらくはあまり元気がなく現在療養中。無限に生えるという噂があるくらい強い野菜なのでおすすめです。

 

サラダ用野菜: チシャ ルッコラ わさび菜 ナスタチウム イタリアンパセリ モロヘイヤ

鉄板のサラダ用布陣です。誰に食べさせても絶賛を頂きます。味がしっかりしているのでドレッシングいらず。個人的にはナスタチウムがすき。

 

炒めモノ野菜: ケール クウシンサイ スイスチャード
どれもクセがなくたくさん食べられるナイスな野菜達。夏場はこれらに青唐辛子を刻んで入れ、食欲アップを促します。

 

唐辛子
今年はハバネロはやめ(笑)普通のタカノツメを中心に育てました。乾燥させて一年分とっておきます。

 

根っこ系: しょうが うこん ごぼう にんにく らっきょう
そろそろショウガとウコンの収穫です。ショウガは酢漬け、ウコンは薬酒にします。
ごぼうは初チャレンジ、12月に収穫予定。
にんにくは沢山使うので鬼のように植えておきました。自分で育てると香りがマイルドでとても甘く仕上がります。
らっきょうは気がむいた時に堀り起こして食べたりします。

 

アスパラ
今年のMVP。4月頃から収穫が始まり10月終わり頃まで採れました。こんなにアスパラを食べたのは生まれて初めてです。細いアスパラは細いまま育ち、太いアスパラは始めから太いんです、面白いですね。

そろそろ茎が枯れて来たので、刈り取り、生えていた部分をバーナーで焼いて消毒しなければいけないようです。来年は倍以上の規模に拡大する予定。

 

トマト
今年は沢山育てました。パクチー、たまねぎ、ピーマン、パセリで作るサルサは最高です。寒い地域だからか、青いまま悪くなるトマトが多かったのが残念。

 

ズッキーニ
まぁまぁ採れました。が、悪くなるのも早く沢山腐らせてしまいました。あと茎が若干トゲトゲしく、結構痛い(かぶれる?)。

 

 

その他 育てたもの
オクラ シソ エゴマ ハーブ類たくさん 九条ねぎ ナス ピーマン ししとう、伏見唐辛子 サフラン カブ リーキ ホースラディッシュ 明日葉

 

今回は育てなかったもの
芽キャベツ ハバネロ 大根 ゴーヤ 人参 ベリー類(引越し被害で一からやり直し)ビーツ ザーサイ

 

 今年初挑戦したもの

玉ねぎ(栽培途中)ソラマメ(栽培途中)ごぼう(栽培途中)オリーブ カブ 明日葉 じゃがいも

 

 

総評:

以前はハーブばかり育てていましたが、畑の拡大と共に食べられる野菜が増えました。玉ねぎ、白菜、じゃがいもなど、家計を助ける野菜が求められているという背景があるとかないとか...。来年はアスパラを拡大させることが一番の目標です。手間を惜しまず、真面目に頑張ります。