昨日、MortScriptなんつー、もう誰も使ってないスクリプト言語のことを書きましたが、あくまでアタシはスクリプト言語が使えるだけで、本格的なソフトウェアというかアプリケーションの開発なんかは無理なんです。
何を以て本格的か、とか言い出したらキリがないんだけど、少なくともアタシはGUI、つまりグラフィカルユーザーインターフェイスがあるようなものは一切作れない。せいぜいそのスクリプト言語がサポートしているダイアログ式の選択画面くらいしか無理です。
だから当然、ゲームなんかはまったく作れない。アタシが使える言語でちゃんとGUIが使えるものがないし、ま、Pythonはまったく無理じゃないけど完全に画面をコントロールするには敷居が高すぎます。つか今さら覚えるのは並大抵ではないなと。
アタシはね、かねがね簡易メディアプレーヤーを作りたかったのですよ。
ま、Kodiとかね、ああいうのだけど、どうも既存のメディアプレーヤーはKodiを含めて使いづらい。だからもうちょっと、良くも悪くも簡易な感じで、極端な話、アタシの母親でも使えるようなのが作れたらいいなと思っていたんです。
しかし、当たり前すぎるけど、いくら簡易とはいえGUIのないメディアプレーヤーなんて使いづらいに決まってる。さすがにダイアログでファイル選択、なんてメディアプレーヤーはダメすぎる。
で、そこで、ふと、思いついたんですよ。
ブラウザをGUI代わりに出来ないか?
ブラウザを使うのであればHTMLとCSSが使えればどうとでもなるし、WEBサイトを作るのは半本職みたいなものなので多少凝ったことも出来ます。
しかし問題は、リンク先をローカルファイルにしたとして、それをどうやって動画プレーヤーソフトを渡すか、ということです。
どうでもいいことですが、アタシのメインブラウザはFirefoxなので、何となく、簡易メディアプレーヤーとしてはChromeを使おうと。で、Chromeでローカルファイルをローカルアプリケーションに渡す方法がないか調べてみたのです。
レジストリに書き込んだり、その他いろいろやってね、どうにかローカルアプリケーションを開くところまでは来たんだけど、どうやってもコマンドラインオプションを上手く渡せないのです。
例えば<a href=‘hoge:C:\test.mp4‘>みたいにしたら「C:\test.mp4」だけを渡してくれず、「hoge:C:\test.mp4」全部を渡してしまうのです。←これで伝わるのだろうか
動画プレーヤーに直接は絶対無理なので(当たり前だけど「hoge:C:\test.mp4」なんてパスは絶対に存在しないんだから)、バッチファイルを経由して受け渡そうとしたんだけどダメ。
ああ、コマンドラインオプションを<そのまま>何かに書き出して、指定のファイルを起動する<だけ>のexeがあればいいのに、と思ったけど、そこまでシンプルなラッパーに徹したソフトなんかあるわけがありません。
で、です。
去年、マヂカルラブリーの野田クリスタルの記事で知った「HSP」のことを思い出した。
このHSPって言語、昨日書いた「ファイル操作と文字列操作がメイン」のアタシにはまったく向いてない言語だったんだけど「exeで書き出せて、コマンドラインオプションを取得出来る」という特色があるのです。
つまり、HSPを使えば超シンプルなラッパーソフトが作れるぞ、と。
つまり手順としては
ブラウザでリンクをクリック
→HSPで作成したラッパーソフトがコマンドラインオプションをテキストファイルに書き出して、同じフォルダにあるMortScriptファイルを起動
→MortScriptファイルがテキストファイルを読み込んで解析した結果をパスに変換
→それを動画プレーヤーに受け渡す
こんな感じです。
本当はもっとシンプルで冴えたやり方があるのかもしれないけど、アタシの知識ではこれが限界でした。
でも「やりたかったことがやれたかどうか」で言えば、もう十分すぎるくらい出来たわけでね。
もちろんHTMLで馬鹿正直にローカルリンクパスを書かなくても良いわけで、極端な話、動画ファイルに限らず何でも起動出来る。だからまァ、上手くやれば「ブラウザ上で動くランチャー」なんかも作れる。
結局ね、アタシはコーティングの知識なんか、素人も素人、いやド素人です。
だから、うっすいうっすい知識を組み合わせて、何とかやりたいことを実現する。別に販売するもんじゃないのはもちろん、誰かに見せるわけですらないんだから、どれだけ有識者からみたら不格好なものでも「思うように動けばそれでいい」んです。
ま、ここまではあくまで実験であって、実際に簡易メディアプレーヤーを作ろうと思ったらかなり大変なんだけどね。