2021/08/24(火)audio router

Windowsでは1つのデバイスにしか音を出せないっぽい
配信用にHDMIとヘッドホンの2系統に出すのに、HDMIから音を取り出すしかないかと思ってたら、複数のデバイスに音を出してくれる便利ソフトがあったのでメモっておく。

Audio Router 0.10.2

2016年で更新が止まっているけど、Windows 10 home(20H2)でもとりあえず動作した。
https://github.com/audiorouterdev/audio-router/releases

使い方

1. オーディオルーターを起動
立ち上げているアプリケーションが、デフォルトデバイスに紐づけられている。
リストに出ていなければ、アプリケーションが立ち上がっていることを確認して、FileメニューからRefreshしてみる。
Audio_Router_06.png


2. 出力先を変えたいアプリケーションの▼から、Route...(あるいはDupulicate)を選択して、メインで出力したいデバイスを選択する
どっちを選んでも、指定した出力先に切り替わる模様。デフォルトデバイスと指定したデバイスに複製はできないみたい。
Audio_Router_07.png

Audio_Router_05.png


3. 出力先デバイスが変わったら、再び▼から、Duplicate...を選択して、同時に出力したいデバイスを選択する
Audio_Router_08.png

Audio_Router_09.png


4. 複数のデバイスにアプリケーションが紐づけられる
Audio_Router_10.png


5. 複製が必要なくなったら、オーディオルーターを閉じる

注意

  • 常駐ソフトではないので、必要に応じて起動する必要がある
  • 管理者モードで動作するので、スタートアップにそのまま突っ込むことができない
  • アプリケーションごとにどのデバイスに出力するか選ばないといけない
  • 動作しないアプリケーションもある
Windows自体が、デフォルトで出力するデバイスを複数選択できるようにしてくれればいいだけなんだけど、やらない理由はあるのかね。

エラーが出る

「このファイルのデジタル署名を確認できませんでした。最近のハードウェアやソフトウェアの変更により、不正確に署名されたファイル化壊れたファイルがインストールされたか、または不明なところから悪意のあるソフトウェアがインストールされた可能性があります。Router functionality not available.」
Audio_Router_04.png


アプリケーションによってはエラーが出るっぽい。私の環境では、MS Edgeはダメでした。
けど、配信したいゲームは問題なく複製できているのでいいことにする。

検索用

[audio router][windows 10][Error code 0x00000241]

2018/01/06(土)apache2が立ち上がらない

apacheが立ち上がらなくなった

[....] Starting web server: apache2/usr/sbin/apache2: symbol lookup error: /usr/sbin/apache2: undefined symbol: apr_os_uuid_get
Action 'start' failed.
The Apache error log may have more information.
 failed!

アップデートしたときに、libaprが正しく更新されない?のが原因でした
新しいlibaprは[[/usr/lib]]に入るのに、なぜか[[/usr/local/apr/lib]]に古いやつが入っていて、そっちを参照してました
とりあえず、古いやつは移動して、新しいのをコピーしておいた

# cd /usr/local/apr
# mkdir old
# mv lib/libapr* old/
# cp /usr/lib/libapr* lib/

これで起動するようになったので、これでいいことにする

警告出された

シンボリックリンクになってないって警告出された
しかたないので、一部のファイルを消して ln -s しなおした

検索用

[apache2] [apr_os_uuid_get] [libapr] [aptitude]

2017/08/25(金)ノードとコンポーネント

grimoire.jsではすべてのデータ(タグ)は、木構造で管理されノードとして登録されています
各ノードはコンポーネント(機能)をいくつか持っており、親から継承されています

ノード

ノードを登録することで、自分で作ったデータ(タグ)を利用することができます
標準では、gomlやscene、camera、meshなどが登録されています

基本的に描画で使うオブジェクトはmeshから派生させることになります
また、形状についてはgeometryから派生させます

ノードの登録

registerNodeを使い登録できます

gr.registerNode("ノード名", [ノードの持つコンポーネントのリスト], {デフォルト値}, "親ノード")

myobjectという名前でノードを登録してみる
コンポーネントは特に無し(親から継承したコンポーネントは持ってる)

<div style="width: 640px; height: 480px; border: 1px dotted black;">
  <script type="text/javascript">
    gr.registerNode("myobject", [], {}, "mesh");  
  </script>
  <script type="text/goml">
    <goml>
      <scene>
        <myobject geometry="cube" position="1,1,0" color="#99f" />
        <camera/>
      </scene>
    </goml>
  </script>
</div>

デフォルトのパラメータを指定した場合

<div style="width: 640px; height: 480px; border: 1px dotted black;">
  <script type="text/javascript">
    gr.registerNode("myobject", [], {geometry: "sphere"}, "mesh");  // デフォルトで 球(sphere) にする
  </script>
  <script type="text/goml">
    <goml>
      <scene>
        <myobject position="1,1,0" color="#99f" />                  <!-- デフォルトで指定された 球(sphere) になる -->
        <myobject geometry="cube" position="-1,1,0" color="#99f" /> <!-- パラメータで指定した 立方体(cube) になる -->
        <camera/>
      </scene>
    </goml>
  </script>
</div>

コンポーネント

コンポーネントを登録することで、オブジェクトに機能を追加することができます?

コンポーネントの登録

registerComponentを使い登録できます

gr.registerComponent("コンポーネント名", {属性値やイベント})

2017/08/25(金)WebGL使いたい

grimoire.jsを使ってみる

WebGLを使いたくて探してたら見つけたjsライブラリ
以前はjThree.jsって名前だった模様
Grimoire.jsにあります

ダウンロードとか

InstallationMinified versionからDLできる
いくつかライブラリが入ってるみたい
頻繁に更新されてるので、直で書いてしまうのもあり

他にgLTFを読むプラグインgrimoirejs-gltfとかシェーディングプラグインgrimoire-forward-shadingもあるらしい

使ってみる

goml(Grimoire Object Markup Language)で書くらしい
scriptタグにtype="text/goml"を指定して記述
記述があった部分に、自動でcanvasを生成して描画する
親要素のサイズに対して100%で生成される模様
そのため、body直下に置くとwindowサイズめいっぱいにできる
resizeイベント拾ってるみたいで、windowサイズとか変えても勝手に大きさ変わる

<!DOCTYPE html>
<html>
<head>
  <script src="./grimoire-preset-basic.min.js"></script>
</head>
<body>
<div style="width: 640px; height: 480px; border: 1px dotted black;">
  <script type="text/goml">
    <goml>
      <scene>
        <camera/>
        <mesh geometry="cube" position="1,1,0" color="#99f" />
      </scene>
    </goml>
  </script>
</div>
</body>
</html>

書いてみる

sceneタグの中に描画オブジェクトやカメラを配置する
当然カメラ無いと表示できないので忘れないように注意

sceneタグはいくつでもかけるけど、最初に置いたカメラの視点で描画されます

2017/02/26(日)VBAのlistview

64bitのOfficeだと listview が使えない模様...
ということは、32bitで作成したものは、64bitでは動かないことがあるってことか
だから、いつまでたっても32bitが残ってるのか

2016/10/09(日)Unity開発環境のセットアップ

Windows + Androidでのお話

Unity

最新版を落としてインストール

visual studio 2015 communityがインストールされます
C#のコードはこれで書く模様
ディスク食うのでヤダって場合、インストール後に消すこともできる?
Unity起動して、[Edit] - [Prederences] - [External Tools]にエディタの設定がある
mono develop(buit-in)を選べば、VSではなく標準エディタが立ち上がる

VSは初回起動にログインするか聞かれるけど、そっちは後でとか、しない選べば次回以降聞かれない
あと、VSの起動があまりにも遅いと、バックグラウンドでmono developも並行して立ちあがるっぽい
内部でタイムアウト処理とかしてるのかもしれない

  • 注意
    • アカウントの登録必須
      今後、このアカウントで開発環境にログインする
    • ライセンス
      会社等でやる場合、収入金額によってはライセンスを買う必要がある
      個人の場合、Unityアプリでの収入が少ない場合(10万アメリカドル...1000万円くらいまで)は必要なし
    • テンプレートの文字コード
      VS開くたびに、改行コードがCR+LFじゃないってうるさいので直す
      参考:http://blog.kanotype.net/?p=29
      C:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates
      上記パスにテンプレートがあるので開いて直す
      ちなみに、BOMつきテキストファイルなので対応したエディタが必要かもしれない

Java

JDKの最新版を落としてインストール

こっちは開発環境(Development Kit)ではなく、実行環境(Runtime Environment)なので注意

Android

Android Studioの最新版を落としてインストール
今は、eclipseいらない模様

ダウンロードサイズが1600Mを越えてる上に、android SDKを展開すると4000M超える
あと、google らしく、SDKが個人のフォルダに入る
SDK Folder: C:\Users\xxxxx\AppData\Local\Android\Sdk
1台を、複数のアカウントで使い分けるときは注意

展開し、初回起動時に、以前の設定のインポートと、追加ダウンロード(更新)が始まる
以前に使った環境があって、設定取り込みたければimportを選択
あとは、標準環境(standard)でいれる

関連付け

UnityにAndroid SDKとJDKのパスを設定

Unity起動して、[Edit] - [Prederences] - [Esternal Tools]

[Android]の
[SDK]に[C:/Users/xxxxx/AppData/Local/Android/sdk]を設定
AppDataフォルダは隠しフォルダなので、Browseから選ぼうとしても非表示になってるかも?
[JDK]に[C:/Program Files/Java/jdk1.8.0_102]を設定
バージョンで変わるけど、こっちはBrowse選べば、そのままJavaのパスが選択されてるはず

2016/09/19(月)車買い換えた

車種とかは前と同じ
前は控えめに乗ってたけど今回は思いっ切り乗ってる
最近のは燃費いいね
40-50kmくらいでのんびり走ると40km/lくらいになりそう

ナビは9月発売になったパイオニアのサイバーナビ
なんで軽にこんなハイグレードなやつつけてるんだか...
走行軌跡が白い四角で出るんだけど、だいたい1000kmくらいで古いのから消えていく模様
前の楽ナビは250kmくらいだったので、4倍に伸びた

前の車

走行距離は18万kmくらいでした
2009年の777kmの写真が懐かしい

13万km超えたくらいでがたつき始めた
15万kmくらいでoilが漏れてるのか、かなり食い始めた感じです
一度oilランプがついて焦った...
乗り始めで、平均19km/lくらいだったのが、最後は12km/lくらいまで悪くなった気がする
乗り方が雑になっただけかもだけど...

2016/09/19(月)レンズいろいろ買った

アップで撮れるの楽しいね(105mmマイクロレンズ使用)

DSC_5285.jpg
105mm F3.5 1/160秒 ISO100

あえて近場のものを望遠で撮ってみた
というより、レンズ変えるの面倒だった

DSC_6109.jpg
300mm F5.6 1/320秒 ISO2800

魚眼とか、広角レンズでとればよかった...
風景用に超広角とかほしい

DSC_9482.jpg
80mm F6.3 1/640秒 ISO100

2016/08/27(土)ディスクを論理ボリュームに追加する

論理ボリュームの良いところはディスクが足りなくなりそうなら追加できること。
作業としては、前の記事とほぼ同じで、作成ではなく、追加になるくらいです。

前準備

追加したディスクは 前の記事 と同じようにパーティション切って、パーティションタイプを変えておきます。

物理ボリュームの作成とボリュームグループへの追加登録

前回作成した DataVolume に追加します。

# pvcreate /dev/vdc1
  Writing physical volume data to disk "/dev/vdc1"
  Physical volume "/dev/vdc1" successfully created
# vgextend DataVolume /dev/vdc1
  Volume group "DataVolume" successfully extended

論理ボリュームの拡張

空き領域(FREE)のすべて(100%)を追加(+)します。

# lvextend -l +100%FREE /dev/DataVolume/dv1

ディスクを拡張する

フォーマットするとデータ消えるので注意。
unmountしなくても大丈夫っぽい。
拡張用のコマンド使います。

# resize2fs /dev/DataVolume/dv1
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/DataVolume/dv1 is mounted on /xxxxx; on-line resizing required
old_desc_blocks = 7, new_desc_blocks = 13
Performing an on-line resize of /dev/DataVolume/dv1 to 52426752 (4k) blocks.
The filesystem on /dev/DataVolume/dv1 is now 52426752 blocks long.||<

これで容量拡張されています。

参考サイト

http://qiita.com/g_maeda/items/3602dc2f7af3f711f9c4

検索用

[linux] [lvm] [物理ボリューム] [論理ボリューム] [作成]