俺のクソレシピ

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

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

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

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

Arduino Uno PWMでLEDの明るさを制御する

今回はタイトルにある通り、ArduinoのLEDの明るさをPWMを使って制御していきたいと思います。
余談ですが、今回俺は「Arduino Web Editor」というWebサービスを使ってスケッチをArduinoに書き込んでみました。結構使いやすく、俺はインストール版よりUIが好きです。ただ、アカウントを作ってプラグインをインストールする必要があったので最初は少しめんどくさかったですね。
ということで、余談はこの辺にして今回の本題に入っていきたいと思います。

f:id:myprogramming:20170913191316j:plain

PWMとは

PWM(パルス幅変調)とは、簡単に説明すると素早くON・OFFを繰り返しONとOFFの比率を変えることによって、出力される電力を制御する方式の一つです。つまり、PWMを使うと擬似的にアナログ出力することが可能になります。

ArduinoでPWMを実現するには

ArduinoでPWMはanalogWrite関数を使うことによって実現できます。第一引数にPWM出力が可能なピン番号を、第二引数に出力する電力を0~255までの256段階で指定します。ちなみに、PWM出力が可能なピン番号は、「~」が横に書いてあるデジタルピンです。

f:id:myprogramming:20171031205146p:plain
「~」が横に書いてあるデジタルピンがPWM出力可能

だんだん明るくしてまた暗くしていくものを作ってみた

スケッチはこちら

まず、変数iを定義してfor文で0~255の範囲で増やしていきます。このiの値を使ってPWM出力し10ミリ秒待って次の値に変化させます。同じように暗くしていき、それを繰り返すことによってだんだん明るくなってまた暗くなっていく、という風に動作します。

Arduino言語の文法についてはこちら
Arduino 日本語リファレンス

回路はこちら
f:id:myprogramming:20171031210101p:plain

回路は前回のLチカの13番ピンを9番ピンに変更するだけでOKです。

実際に動作している様子

まとめ

今回はArduinoで、PWMを使ってLEDの明るさを制御していきました。このPWMを使えばLEDだけでなくDCモーターの速さやサーボモーターの角度などを制御したりすることができます。
前回はデジタル出力、今回はアナログ出力をやったので、次はデジタル入力、そしてアナログ入力という風にやっていきたいと思います。

Pythonのリストの要素を入れ替える

今まで、クソめんどい方法でやっていたのでちょっとご紹介。

f:id:myprogramming:20170627164334j:plain

list[i]をlist[j]に、list[j]をlist[i]にしてリストの要素の入れ替えをしたいわけなんですが、

とやってしまうと、list[j]がなにも変わっていないのがわかるでしょうか?

例えば、

とすると、まず、list[0]がFalseになり、それをまたlist[1]に代入してもlist[1]がFalseのままですよね。

そこで、今までやっていた方法だと、

このように入れ替える前にlist[i]を他の変数に代入していたのですが、Pythonでは複数の変数にそれぞれ値を同時に代入できるので、
 
だけで良かったみたいです。

今まで本当にアホなやり方してたんだな…