俺のクソレシピ

おもにプログラミングについて俺の趣味についてテキトーに書いています。

Javascriptでの配列のコピーには注意が必要

Javascriptで配列をコピーするには注意が必要です。

なぜなら、Javascriptでは配列はオブジェクトなので参照渡しになるため、そのままコピーすると、どちらかが変更されるともう片方も変更されてしまうからです。

私も、それでだいぶひっかかったのでみなさんも気をつけてください。

参考
JavaScriptで配列のコピー(値渡し) - Qiita

for文とforEachで気をつけること

とても簡単なことでつまずいていたので、備忘録も兼ねてここに書いておきます。

これを見ていただくとわかると思うのですが、forEachは繰り返し処理の部分が関数になっているので、繰り返すごとに変数aが定義され、変数aが上書きされることはありません。
これに対して、for文は関数ではないので変数aが上書きされてしまいます。

これで何十分も悩んでしまった・・・

OpenOfficeの縦書きで縦棒(|)を入力する方法

この前OpenOfficeで縦書き入力していたら、縦棒を入力しても横棒になってしまったので、縦棒を入力する方法を紹介しておこうと思います。

縦棒が横棒になってしまったのだから、横棒を入力すれば縦棒になるのでは?ということでやってみたらできました。
どうやら罫線は文字の方向に回転しているようですね。
横棒は「よこ」と入力して変換するか、「けいせん」と入力して変換すれば入力できます。

そもそも罫線ではなく、ダッシュを使えばちゃんと入力できたみたいですが。

ちなみに、文字の間隔が広いと複数文字入力した時、切れてしまうので注意してください。

他のオフィスソフトではどうなのかはわかりませんが、まあ、とりあえず入力できたので良かった。

ElectronのメニューはWindowsだとパッケージ化すれば表示されなくなる

Electronをwindowsでいじり始めた頃、とってもアホな事でハマっていた(と思っていた)ので、僕と同じように時間をムダにしてほしくないので一応載せておきます。

ここに来ている人はわかると思いますが、WindowsでElectronをパッケージ化しないで実行すると、設定していなくてもメニューが表示されてしまいます。

それで、僕は「おかしいなぁ」と思って、バカみたいに一生懸命ググってたんです。
見つかるはずないのに…
というのもパッケージ化すればちゃんと見えなくなります。

ということで、結論としては何もしなくてよかったわけです。
たまにこういうのってあるんですよね。
なんだよ〜って。

タイトルにもありますが、これはWindowsの話であって、Macは関係ないですよ。
Macユーザーはわかると思いますが、Macはちゃんとメニューを作ってください。

ちなみに、メニューは、ruleを使うと楽ですよ。
ショートカットキーもほとんど割り当ててくれますし。

AviUtlで保存したファイルだけカットした後に音ズレが起こったので対処法について説明しておく

AviUtlで動画編集をしていたんですが、カットして(aupファイルで)保存して開いたら、保存する前は音ズレしなかったのに、保存したら音ズレが起こったので、その対処法について説明しておきます。
ちなみに今回の場合では、音ズレと言っても、少しずれるのではなく、映像だけ全然違うフレームから再生されるといった現象のことです。音ズレというよりは、映像ズレです。
※今回使用した入力プラグインはL-SMASH Worksですので、直らないかもしれないですし、そもそもズレないかもしれません。

音ズレした原因

なぜか分からず、ずっと悩んでいたんですが、入力プラグインの設定を開いてみると、自分が設定した内容ではなくデフォルト設定になっていることに気づきました。
その為、fpsがずれて音ズレが起きていたようです。

対処法について

対処法は、aviutl.exeと同じディレクトリに保存するか、保存したファイルにも入力プラグインの設定をする必要があります。
いちいち設定するのがめんどくさいという人は設定ファイルをコピーすれば大丈夫です。
ちなみに、L-SMASH Worksの設定ファイルはaviutl.exeと同じディレクトリにあるlsmash.iniというファイルです。
僕はコピーするこの方法で無事解決しました。

そもそも、exoファイルで保存すれば、オブジェクトファイルなのでこんな問題は起きないんですが・・・

ElectronでWindowsランチャーソフト(WLauncher)を作ってみた

ElectronでWindowsのランチャーソフト(WLauncher)を作ってみたので紹介します。

f:id:myprogramming:20171220213037p:plain

Electronとは

この記事を見ている人は知っていると思うんですが、一応説明しときます。

Electronは、GitHubが開発したオープンソースのソフトウェアフレームワークである。

ChromiumとNode.jsを使っており、HTML、CSSJavaScriptのようなWeb技術で、macOSWindowsLinuxに対応したデスクトップアプリケーションをつくることができる。

Atom、Slack、Visual Studio Codeなどで使用されている。

Electron (ソフトウェア) - Wikipedia

めんどくさくなったのでWikipediaから引用させてもらいました。
要はWEBページ作るみたいな感じでデスクトップアプリが作れるということです。
しかも、同じソースコードクロスプラットフォーム対応できて、Electron独自のAPIやNode.jsも使用できるので、かなり簡単に本格的なソフトを作ることができます。
これから、ぼちぼちElectronについて解説していけたらと思っています(すでに情報が多いので主に僕がハマったところを)。

WLauncherとは

WLauncherとは、今回、僕がElectronで開発したWindows用のランチャーソフトです。
ElectronはクロスプラットフォームなのになんでWindowsだけなのか、というと単純にMacを持ってなく、動作確認ができないからです。
Macユーザーのみなさんはごめんなさい。
今度、Mac持ってる友だちに借りれたら、Mac用も紹介しようと思います(そしたらWLauncherって名前はまずいか・・・まあ、いいや)。

Windowsインストーラーについて

今回は暇だったので生意気にもインストーラーを作らせていただきました。
使ったのはinno setupというWindowsインストーラー作成ツールです。
初めて使ったのですが、特にハマったところもなく簡単に作ることができました。
こちらは解説しないので気になったらググってください(めんどいので解説しているページのリンクも貼りません。ゴメンナサイ)。

リリース(ダウンロード)

Version 1.0.1
  • ダウンロード
  • リリースノート
    • アプリからショートカットに名前を変更しました。
    • ショートカットのパスの入力欄が空になったときに入力を促す文を表示させるようにしました。
    • ショートカットの入れ替え時に起こるバグを修正しました。
Version 1.0.0

まとめ

本当は使い方も詳しく説明したいのですが、それをやっていると、とても長くなってしまう気がしたので、使い方は次回にさせてもらいます。
おそらく使い方は説明しなくても勘でわかると思うのですが(というかそれを目指してできるだけシンプルな作りにしたのですが)一応、使い方は説明します。
念入りにデバッグしたのですが、もしバグが起きたらコメントで教えてくれるとありがたいです(要望などもコメントでお願いします)。
バグや要望があったら更新していく予定です。
ちなみに、Electronの解説はしていく予定ですが、WLauncherの解説はほぼ100%の確率で解説しないと思います。
コメント(プログラムの)を全く書いていないのと、ごちゃごちゃしすぎてとても読みにくいためです。本当にゴメンナサイ。
では今回はこれで。
ありがとうございましたm(_ _)m

一人称を僕にします(どうでもいいことなんですが・・・)

タイトルにある通りどうでもいいことなんですが、これからは一人称を僕にして記事を書かせていただきます。
というのも、最近全然ブログを書いていないうちに(自分でもよくわからないのですが)なぜか一人称が俺から僕になっていたんですね。
だから、ブログを書こうと思ったときに「俺」ってなんか違和感があったので「僕」にさせていただくことにしました。
皆さんには本当にどうでもいいことなんですが、これからもよろしくお願いします。