Ubiquityでミク語変換できるようにしてみた
Ubiquityでなんか自作コマンドを作りたいなあと思ったので作ってみたよ。
お題は拙作ミク語変換。まあ誕生日便乗企画みたいな。
Ctrl+スペース → 「mikugo」 → [enter] と打つと、ブラウザで見てるページの選択した文字列がVOCALOID Editor流し込み用ひらがな歌詞に変換されるよ。
ソースはこれ。jQueryが使えるのでAPIを叩くのは楽チン。
レイアウトを変えないように改行タグを残す処理がちょっとやらしい感じ。
CmdUtils.CreateCommand({ name: "mikugo", takes: {"lyrics": noun_arb_text}, preview: function(pblock, lyrics) { pblock.innerHTML = "ミク語変換: " + lyrics.text; }, execute: function(lyrics) { var $ = jQuery; var url = "http://aikelab.net/mikugo/api.cgi?chouon=Y&bunsetsu=Y&sentence=" var txt = lyrics.html.replace("<br>", "[br]", "ig").replace(/<[^>]+>/g, ""); url = url + encodeURI(txt); $.get(url, function(response) { var res = $("result", response).text(); res = res.replace("[br]", "<br>", "g"); CmdUtils.setSelection(res); }, "xml"); } })
ね、簡単でしょ?