Linuxのプログラムはサクラエディタ + gccで作っていますが、ソースファイルが増えてくるとどうも管理がめんどうになってきます。
せっかく先日公開されたVisual Studio 2010(※)を手に入れたので、久しぶりにVisual C++ 2010(以降VC++)のエディタに戻るついでに、Linux/Windows双方でコンパイルできるようにしようと画策しました。
(※)最近はVisual StudioのExpress Editionが無償で手に入ります。商用利用も可能です。
しかし日本語がソースコードに入っていると困ったことがおきます。下記の表をご覧ください。
文字コード | さくら | gcc | VC++ Editor | VC++ compiler | コメント |
---|---|---|---|---|---|
UTF-8/LF | ○ | ○ | ○ | × | VC++ コンパイラで大量のWarningが出る&コメントの次の行を認識せずコンパイルエラー。 |
UTF-8/CR+LF | ○ | ○ | ○ | △ | 古いgccで問題が起きるらしい。VC++ コンパイラで大量のWarningが出る。 |
UTF-8/ZWNBSP | ○ | × | ○ | ○ | gccで先頭に変な文字がある、エラーとなる。個人的にはファイルにゴミを入れるのは嫌い。 |
EUC-JP | ○ | ○ | △ | × | VC++ コンパイラがエラーとなる。 |
Shift-JIS | ○ | △ | ○ | ○ | 文字コード指定しないとgccで問題が起きる。個人的にはShift-JIS嫌い。 |
なお、文字コードの意味は下記の通り。
つまりどのコードを選んでもすべて○になる組み合わせはありません。かなり微妙です。
表を作っていて気づいたのですがVC++ はエディタとコンパイラがセットのくせに、認識する文字コードが全然違います。何でこんな風になっちゃったのか知りたいところですね。
一番嬉しいのはVC++ のコンパイラがUTF-8/LFに対応してくれることですが、ことさらMSにおいてはこんな願いをかなえてくれるはずもないでしょうねえ…。
当方では、
Linux環境: Debian GNU/Linux(Lenny), gcc 4.3.2
Windows環境: Windows 7 Ultimate 64bit, VC++ 2010 Express Edition
で確認しています。
Windows UpdateにてCreative Sound Blaster X-Fiのドライバがアップグレードできるようなので、早速試してみました。
アップデートという行為自体は成功して何も問題なかったのですが、肝心のドライバの方がなんというかいろいろ残念なことになっています。
惜しむべくは再生リダイレクトの消滅です。この機能はオンボードデバイスなどにはない良い部分だったのになぜ消すのか…。理解できない。復活を求む。
良くなった点は下記のとおり。他にもあるかもしれないけどわからん。
ハングにはほんと困っていたので修正されたのはとてもありがたいです。
以前(2010年5月4日の日記を参照)書いた内容の訂正、追加内容です。
Creative Sound Blaster X-Fiの「再生リダイレクト」デバイスは便利なのですが、設定によって特徴的なノイズがのってしまいます。ノイズの乗る状況を調べようと思います。
音源として WaveGene Ver.1.40 を使い、再生リダイレクトの設定を変えながらノイズの有無を確認しました。ASIOで出力するとPCがハングする(2010年4月25日の日記を参照)ので、DirectSoundで出力しています。
結果としては量子化ビット数に関係なく、サンプリング周波数が48kHz、またはその倍数だとノイズが乗るようです。44.1kHzや88.2kHzで使用すれば問題なさそうです。
ノイズの乗った音を録音して調べてみました。するとSin波のはずなのに、突如 +Max→ -Maxへ値が吹っ飛んでいる、波が一部分欠けるなど、 原音とは異なる変な波形が録音されていました。
何かしら規則性がある崩れ方にも思えるのですが、録音された波形を眺めていても特に理由がわからず…うーん。
今使っているPCで激しく失敗したことが1つあります。せっかく買ったサウンドカード(Creative Sound Blaster X-Fi Titanium)でSPDIFの同軸出力ができない(SPDIFは光出力のみ)ことです。PC用のスピーカはSPDIF同軸で接続していたため、現在全く音が出せない状態です。
以前使っていたSound Blaster Live! Digital Audioではできていただけに、油断して確認していませんでした…。
しかも、イヤフォン/ヘッドフォンからの出力は以前の日記(2010年4月25日の日記参照)で書いたとおり、爆音or音割れの嫌な二択しかないので、現在まともに音が聞ける環境がありません…。
実は光を同軸にするコンバータ audio-technicaデジタルオーディオコンバーターAT-HDSL1 があるのですが、1万円近くします。高い…。
ネット上には、新設にも光←→同軸変換を行う回路を公開してくれている人も居ますが、下手くそな半田付けでPCの回路を焼きろうものなら、それこそ1万円どころの話ではありません。よってこれも没…。
なんとかならないかなあとPCの裏側を眺めていたら、オンボードサウンドにSPDIF同軸出力があることを発見しました。これを使えるんじゃないか?
結論から言うと、SPDIF同軸出力ができました。やり方は、録音デバイス「再生リダイレクト」を有効にして(※1)、出力先をオンボードのSPDIF出力に設定(※2)するだけです。
これはSound Blasterが備える再生中の音が入力される録音デバイス(再生リダイレクト)と、Windows 7の録音デバイスに入力された音を好きな再生デバイスで再生できる(Windows Vista/7の新機能??)機能の合わせ業です。
あまり正確な表現ではありませんが、接続のイメージは以下のようになります。
音源(Winampとか)
---(Windowsのサウンドシステム)---> Sound Blaster
---(Sound Blasterの内部接続)---> 再生リダイレクト
---(Windowsの内部接続)---> オンボードサウンド
---(SPDIF同軸接続)---> 外部のPC用スピーカ
ああそうだ。念のため、以下の注意書きを明示しておきます。やっちまうとすっごい音が鳴るんで気をつけてください…。
!!注意はじまり!!
再生リダイレクトの出力先の設定をするにあたっては、安全のためイヤホンやスピーカは全て外してから作業してください。間違えて出力をループさせてしまうとハウリングを起こし、耳を痛めたり、過大な出力によりイヤホンやスピーカ等が破損する可能性があります。
!!注意おわり!!
(※1)コントロールパネル - [サウンド] - [録音タブ] - デバイスを選択して右クリック - [無効化] のチェックをはずします。
なお、デバイスが表示されていない場合は、
コントロールパネル - [サウンド] - [録音タブ] - デバイスを選択して右クリック - [無効なデバイスの表示] のチェックをつけます。
(※2)コントロールパネル - [サウンド] - [録音タブ] - デバイスを選択して [プロパティ] - [聴くタブ] - [このデバイスを使用して再生する] のリストから - [デジタル オーディオ(S/PDIF)(High Definition Audioデバイス)] を選択します。
音が出たよヤッター!と思ったのも束の間でした…。再生リダイレクトの共有モード出力設定(※3)と異なるサンプリングレートで音を鳴らすと、激しいノイズが乗ってしまいます。
例えば、共有モードの設定を44.1kHzにして、アプリケーション側から48kHzの音を鳴らすなどすると顕著に表れます。
どんなノイズかというと難しいんですが、例えるなら水の中でガボガボ言ってるような音がします。フルートなどが特にひどいです。これは一体何なの??
なんか新PC&Windows 7にしてからというもの、サウンド環境がいつまで経ってもぱっとしません。何も難しいことしてないんだから、ちゃんと鳴ってくれええ…。
(※3)コントロールパネル - [サウンド] - [録音タブ] - デバイスを選択して [プロパティ] - [詳細タブ] - [既定の形式] のリストから選択します。
最近、日米同盟崩壊をかけてアメリカにギャグを放ち続けている鳩山首相ですが…。タイム紙6位の首相「国民の勇気ある行動が評価された」と大喜びしているそうです。
アメリカがこのタイミングで褒めるとはどういうことなのか、気になったのでTIMEの記事を探しました。産経が言う記事はおそらく Yukio Hatoyama - The 2010 TIME 100 のことかと思われます(※1)。
英文コピペするわけにはいかない(※2)ので、超訳を載せます。しかしまあ、新聞の言い回しって難しいですね。この変てこな訳より、英文見たほうがいいかも…。
鳩山由紀夫(63)は革新的には見えない。古くからの政治家一家の御曹司で、タイヤで築いた財産(訳者注: 鳩山夫人の祖父、石橋正二郎はブリヂストンの創業者)を相続している。彼の政治家としてのキャリアは、保守的な自民党から始まっており、日本の首相として何も目新しい点はなかった。
彼自身に何も革新はないものの、鳩山氏は革新のリーダーとなる。鳩山氏は1993年に自民党を離党し、新党を立ち上げた。そして他党との合併を経て、ついに2009年には実質的な自民党の支配を打ち破ったのである。民主党の目的は、米国と対等な関係の締結、脱官僚主義(政治家主導)の政治、より透明な政治…、どれも称賛に価する。これらの政策はいずれも遅々として達成されていないけれども、鳩山氏が日本政治の一党独裁状態を変える手助けとなったことは十分称賛できる結果だ。
これがメリケン流の皮肉って奴でしょうかね?「鳩山首相って何かした?あ、自民党を倒したんだっけ?それ『だけ』は評価できるよね(笑」などという記事を書かれて喜ぶ人なんていませんよね。
とするとですね、こんな可能性を思いついたわけですが、
きっと1. ですよね、そうであると祈ってます。2. とか3. はありえないですよね。スタンフォード大の出身なんだし…ジョークも完璧ですよね…きっと。4. は勢いでやりました今は反省していません。
(※1)最初、何をもって「6位」と言っているのかわからなかったのですが、どうやら Full List のLeaders節の上から6番目に居るよね、ってことみたいです。
(※2)短い記事なので引用しようとすると英文の全コピペになってしまい、マズそうなのでやめておきます。元の英文が気になる方はリンク先をご覧ください。
< | 2010 | > | ||||
<< | < | 05 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | - | - | - | - | 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 | - | - | - | - | - |
合計:
本日: