コンピュータ系
2018年11月28日
イヤホンのボリュームを手元で調整する

パソコンからの音声出力をどのようにして聴いていますか?
PC内蔵スピーカー?外付けスピーカー?ヘッドホン(イヤホン)?
僕は、会社ではデスクトップPCのイヤホン出力にイヤホンをつないで仕事をしています。
そこで日々面倒だなと思っていたのが「音量調整」です。
Windows画面右下にある音量調整のやつをつかってました。

とっさに音量を上げ下げしたいときは非常に不便…面倒…嫌だ…と思ってたところ、同僚から↓の器具を勧められました。
ツマミをひねるだけでさっと音量を調整できるので便利です。
ツマミは少し重めで”回した感”が心地よく感じられるのがグッド。
手元で簡単に音量を調整できるのでかなり気に入りました。
背面は↓のようになっています。

PCのイヤホン出力をこいつのInputに挿入
こいつのOutputがRCAになってるので↓のようなやつで、RCAをイヤホンジャックに変換しましょう
安物だとLRが逆とかあるっぽいです。
配線後はこういった動画でLR正しくつながってるか確認しましょう
↓のような動画でスピーカーやイヤホンの配線チェックをしてみましょう
【配線接続チェック】プレイリスト
take_de_x at 09:56|Permalink│Comments(0)
2010年05月23日
眩暈がするコード
自前アロケータのマルチスレッド対応について。
プリエンプティブな環境に持ってきたら吹っ飛んだw
当然だけど。
こんなコード書きながら、得意げにどや顔する彼に何て言えば良いでしょうか。
// 自前アロケータmalloc void *malloc(size_t size) { pMutex->Lock(); // 16バイトアライメントで空き容量取得して使用済みにする。 MEMORY_TAG *tag = FindFreeTag(16, size); tag->bUse = true; pMutex->Unlock(); return tag->buff; } // 自前アロケータのfree() void MyFree( void *ptr ) { // メモリ管理タグから該当のタグを探して未使用領域にする。 pMutex->Lock(); MEMORY_TAG *tag = FindTag( ptr ); tag->bUse = false; pMutex->Unlock(); // 空きメモリを他の空きメモリと結合させる // この関数の中で「pMutex」のロックをしてるらしい。 CompactionTag( tag ); }ノンプリエンプティブな環境だと問題なかったんだけれど、
プリエンプティブな環境に持ってきたら吹っ飛んだw
当然だけど。
こんなコード書きながら、得意げにどや顔する彼に何て言えば良いでしょうか。
take_de_x at 18:24|Permalink│Comments(0)
2010年01月22日
マルチプラットフォーム設計?
同僚が社内ライブラリの実装をしている
最初から「マルチプラットフォームを念頭に設計するように」と上からのお達しがあったにも関わらず、
機種依存バリバリのインターフェースを作ってくれちゃう。
しかも、ちょっとぐらい相談してくれれば良いのに、
誰にも相談せずSVNにも入れず(他人から見えない状態)一人で突っ走って実装してしまうもんだから。。。。
気付いた時にはヒドイ状態でコミットされてる
せめてSVNに入ってる状態なら他の人からの助言もはいるだろうに、、、
もう、奴に作らせたくねぇorz
痛い具体例。
// チャンネルの音量設定
void SetVolume(uint32 volL, uint32 volR);
なんと、ボリュームをLR別々にセットしてる!?
聞いてみたら、
「PSPではボリュームを左右別々に設定できるから」
とのこと。
いやいや、PS3やXboxだったら5.1ch、7.1chあるんだけど!?
つかマルチプラットフォームライブラリの設計段階で「PSPでは」とか思いっきり環境依存の話が出る時点でおかしい。
↓のように変更してみました。(正確にはちょっと違うけど)
void SetVolume(uint32 vol);
void SetPan(int16 x,int16 y,int16 z);
2ch環境ならy,zの値を無視した実装にすりゃ良いかぁとか思ったり。
これは単純な例だけど、、、こういうのばっかで辟易しとります。。。
ふぅ。。。
最初から「マルチプラットフォームを念頭に設計するように」と上からのお達しがあったにも関わらず、
機種依存バリバリのインターフェースを作ってくれちゃう。
しかも、ちょっとぐらい相談してくれれば良いのに、
誰にも相談せずSVNにも入れず(他人から見えない状態)一人で突っ走って実装してしまうもんだから。。。。
気付いた時にはヒドイ状態でコミットされてる
せめてSVNに入ってる状態なら他の人からの助言もはいるだろうに、、、
もう、奴に作らせたくねぇorz
痛い具体例。
// チャンネルの音量設定
void SetVolume(uint32 volL, uint32 volR);
なんと、ボリュームをLR別々にセットしてる!?
聞いてみたら、
「PSPではボリュームを左右別々に設定できるから」
とのこと。
いやいや、PS3やXboxだったら5.1ch、7.1chあるんだけど!?
つかマルチプラットフォームライブラリの設計段階で「PSPでは」とか思いっきり環境依存の話が出る時点でおかしい。
↓のように変更してみました。(正確にはちょっと違うけど)
void SetVolume(uint32 vol);
void SetPan(int16 x,int16 y,int16 z);
2ch環境ならy,zの値を無視した実装にすりゃ良いかぁとか思ったり。
これは単純な例だけど、、、こういうのばっかで辟易しとります。。。
ふぅ。。。
take_de_x at 20:08|Permalink│Comments(0)
2010年01月05日
Mac mini欲しい
今更ですがMac mini欲しい
用途はこれまた今更ですがiPhoneアプリ開発用
安く手に入れるなら中古かオークションか・・・
「もういらない」って人が居れば安く譲ってください(;^_^A
用途はこれまた今更ですがiPhoneアプリ開発用
安く手に入れるなら中古かオークションか・・・
「もういらない」って人が居れば安く譲ってください(;^_^A
take_de_x at 23:17|Permalink│Comments(0)
2009年12月02日
1時間でテトリスを作る動画
1時間で、C++コンパイル環境インストールから初めてテトリス作る動画
プログラムの内容自体は普通なんだけど、それを1時間以内で記述して一応の完成まで持っていってる手際が驚異的。
自分ならどれぐらいの時間でできるだろうか…
プログラムの内容自体は普通なんだけど、それを1時間以内で記述して一応の完成まで持っていってる手際が驚異的。
自分ならどれぐらいの時間でできるだろうか…
take_de_x at 02:21|Permalink│Comments(0)