つれづれ日記 2005年8月

予定

毎日


2005年8月31日 (水曜日)

07:57:59 # Life debian-develでは, SCMには何を使っているのか,というスレッドがもりあがっていた. おそらくopencvsの話題から火をつけられて議論しているのだろう. それに関連して,planet.debian.orgでもSCMの話題でちょっと盛り上がっている. GNU archをつかっている人は多いようだ. ずっとGNU archをつかっていたのだが,ある日 subversionを試してみたら, あんなにいらないとおもっていた分散機能が実は必要だったということに気づいた. そこでsvk(perlのプログラムは本当は使いたくないんだけど...)を使ってみたら, star-mergeがあるので,分散マージができますよ, という話題とか.

2005年8月30日 (火曜日)

08:43:06 # Life Debian JP副会長として今年は頑張る事になりました. 宜しくお願いします.

それとは関係ないところで,cowdancerとbinfmtcのITPをしました. なかなかの評判のようです.

2005年8月28日 (日曜日)

13:05:35 # dupload pbuilderのメンテナンスをしてみる.0.130. pbuilderでビルドするときに環境変数をすべて掃除するべきか否かというのは なんか難しい問題で,当初はできるだけ環境変数はそのままでビルドしてみて, 変な変数でひっかかるプログラムとかがあればそのプログラムがダメなんだよね,という 事にしたかったような気がする. いままで問題になったのは,$HOME/に書き込めないとビルドできないプログラムが検出できたくらいなのかもしれない. 気づいたら4年目.

2005年8月26日 (金曜日)

07:33:31 # Life ひさしぶりにhydrogenを起動したら,なんだかよくわからないがすごくレイテンシが大きい. なぜだ? カーネルもsidも含めていろいろと変わりすぎなので,原因の特定は大変だ... 0.5秒のxrunということはひどい,0.5秒間ですよ. これはなにか重要な問題があるのかも知れず. zynaddsubfx を実行してもこんなに遅くは無いので,hydrogenの問題か?

**** alsa_pcm: xrun of at least 572.670 msecs
**** alsa_pcm: xrun of at least 571.673 msecs
**** alsa_pcm: xrun of at least 681.691 msecs
**** alsa_pcm: xrun of at least 675.683 msecs
	

念のため,カーネルを-rc7から-rc2に戻してみてもおなじくらい遅い. (ちょっと違うのは,-rc7の場合は,おそらくjackの500msのタイムアウトが関連していそうな タイミングで,-rc2の場合はばらばら)

**** alsa_pcm: xrun of at least 349.726 msecs
**** alsa_pcm: xrun of at least 302.741 msecs
**** alsa_pcm: xrun of at least 446.722 msecs
**** alsa_pcm: xrun of at least 6.775 msecs
**** alsa_pcm: xrun of at least 2369.501 msecs
**** alsa_pcm: xrun of at least 579.130 msecs
	

root権限でjackdを-Rオプションで起動すれば,うまく動作する. ただ,そうするとアプリもrootで動作させる必要がある. rootにならずにすむようにそこらへんを解決するのが,realtime LSMらしい. realtime-lsmパッケージというのがある. それを利用すればaudioグループに所属するものに関して リアルタイム優先度とメモリロックができるように設定してくれるらしい.

2005年8月23日 (火曜日)

08:17:42 # Life qemu-armを試してみる. zaurusように作成したchrootを利用して,qemu-arm -L $(pwd) bin/bashでなんとかなった. emacsとか起動してみると,ちゃんと起動する. qemuはあらゆるファイルをstatしていっちゃうみたいなのだが, dev/fdが/proc/self/fd/にシンボリックリンクされているため,無限ループしてしまう. そのファイルを除外したらなんとかなるみたい. ただ,qemu-armコマンド自体はchrootしてくれないので,そこはハックが必要とみた.

2005年8月21日 (日曜日)

13:00:02 # dupload whizzytex.whizzytexの1.2.3-1をアップロード. 新しいアップストリームパッケージ.あと,デフォルトでmultipleをオンにした. advi上でwをおせば,現在の編集中のページ周辺のみ表示するモードと,ファイル全体を閲覧するモードを切りかえれます. 対応したバグは314476.

 
 whizzytex (1.2.3-1) unstable; urgency=low
 .
   * New upstream release
   * Set MULTIPLE=true by default (closes: #314476)
   - Pressing 'w' in advi window will toggle the 'current' view and 'whole'
     view.
   * 10_hevea_nosymb_dropped: -nosymb option is no longer
     accepted by hevea.
   - build-depend on hevea 1.08 or greater
   * Standards-Version 3.6.2: no change.
   * updated FAQ from http://pauillac.inria.fr/whizzytex/FAQ.html

	

13:06:16 # dupload wysihtml.wysihtmlの0.12-1をアップロード. docbookxml編集モードにて,テンポラリファイルを必要としていたのを修正.elservでemacsからファイルをサーブすることに仕様を変更.

 
 wysihtml (0.12-1) unstable; urgency=low
 .
   * New upstream version
   - Rewritten DocBookXML support.
   * Standards-version: 3.6.2

	

13:55:19 # dupload gamix.gamixの1.99.p14.debian1-3をアップロード. 対応したバグは313711. ビルドしなくなっていたので,こちょこちょと修正.いろいろとマイナーな変更を加えてみる.

 
 gamix (1.99.p14.debian1-3) unstable; urgency=low
 .
   * update de.po (closes: #313711)
   * remove build-dep to alsa-headers
   * Standards-Version: 3.6.2
   * update debhelper compat level: 1->4.

	

13:57:52 # dupload update-cluster.update-clusterの0.41.5-1をアップロード. 対応したバグは291569 311858 324065.

 
 update-cluster (0.41.5-1) unstable; urgency=low
 .
   * New upstream version
   - Document --domainsuffix "" option for update-cluster-maccollect
     (Closes: #291569).
   * "[l10n:de] Updated German translation of the debconf
     templates", thanks to Erik Schanze (Closes: #311858).
   * add an example cluster.xml file.
   * INTL:vi Vietnamese translation for update-cluster
     (closes: #324065)
   * Standards-Version: 3.6.2
   * debian/config: avoid using -a in 'test' and use &&

	

14:06:04 # dupload canna.cannaの3.7p3-2をアップロード. 対応したバグは308518 313201. 本当はこのままひきつごうと思っていたのだが, とりあえず手もとにあった修正をアップロードしてしまってからにしようと,アップロードを依頼.

 
 canna (3.7p3-2) unstable; urgency=low
 .
   * add cs.po translation (closes: #308518)
   * add vi.po translation (closes: #313201)
   * Standards-Version: 3.6.2
   * Remove the Build-conflicts against libc6 2.3.1, since 3.5b2-51;
     should no longer be necessary.
   * postinst: do not use [ .. -a ... ], use [ ] && [ ] instead.

	

14:22:20 # dupload d-shlibs.d-shlibsの0.26をアップロード. 対応したバグは306341.

 
 d-shlibs (0.26) unstable; urgency=low
 .
   * Check for objdump -p failure status, to check for error case when library
     is not where it should be. (closes: #306341)
   * Standards-Version: 3.6.2

	

17:55:08 # Life debian-devel@orgメーリングリストには opencvsのITPについてはけっこう長いスレッドができている. まず,一部の誰かがcvsなんて消してしまえば良いのだ,いまさら何を新しいものを導入しているのだ, ということを言ったことから, arch vs svn vs その他についての論争がはじまった. arch に機能的に対応するのは svn ではなく,svkか. cvsのメンテナンスがあまりされていないことから, openbsdの人達が別実装をつくりあげようとしている,というのが発端らしい, cvsのpserverプロトコルは微妙ではあるし,cvsのソースコード自体も 楽しい読み物ではないが, cvsが利用しているrcsとファイルシステムに依存しているバックエンドの実装が 好きな人々はそれなりに居るようだ.

23:23:46 # Life debian changelogをblogに使っているひとたちが居る. planet.debian.orgをみていたら,おもしろいエントリーがあった. Romain Andreas. 動機は使い慣れたツール(emacsとか)を利用してblogを書きたい,ということらしい. みなさんdpkg-dev-elパッケージのdebian-changelog-modeを愛用しているようですな. ChangeLog to RDFとか dancer-diary.elとかを書いている自分は 人のことをあまり言えない...

2005年8月20日 (土曜日)

10:14:58 # Life cowdancer をアップデート. 0.3をリリース. pbuilder/cowが通る程度までいろいろといじった. regression testも追加したので,それなりに動いているだろう,というのがわかるのがよろしい感じです.

10:50:38 # Life ずいぶん放置していたが,個人的なjack transitionをそろそろはじめる. 毎日使っている「hydrogen」がqt待ちだったのでそれをずっとまってたというのが本当のところ. C++ ABI transitionもいろいろと放置していたので,それをcatchupしていかないとなぁ...

# apt-get install hydrogen jackd zynaddsubfx
パッケージリストを読みこんでいます... 完了
依存関係ツリーを作成しています... 完了
以下の特別パッケージがインストールされます:
  ecasound ecasound2.2 fluid htmldoc htmldoc-common kdelibs-data libarts1c2
  libartsc0 libartsc0-dev libasound2 libasound2-dev libfltk1.1 libfltk1.1-dev
  libfluidsynth1 libjack0.100.0-0 libqt3-compat-headers libqt3-headers
  libqt3-mt libqt3-mt-dev libsclang0 libscsynth0 libxinerama-dev libxinerama1
  libxrender-dev libxrender1 libxslt1 libxslt1.1 lincvs qt3-dev-tools
  render-dev spiralsynthmodular supercollider xlibs-static-dev
  xlibs-static-pic
提案パッケージ:
  mp3-encoder mikmod fltk1.1-doc jack-tools meterbridge libjackasyn0
  libasound2-plugins libasound2-doc libqt3-mt-psql libqt3-mt-mysql
  libqt3-mt-odbc libqt3-i18n qt3-doc supercollider-doc xspecs
推奨パッケージ:
  akode libglu1-xorg-dev libglu-dev supercollider-server
以下のパッケージは「削除」されます:
  alsa-headers ardour-gtk artsbuilder cervisia ecawave kdelibs-bin kdelibs4
  libardour0 libarts1 libcvsservice0 libfltk1.1c102 libjack0.80.0-0
  libjack0.80.0-dev libodbcinstq1 libqt3c102-mt libtse3-0.2.7 muse noteedit
  noteedit-data opera oprofile qjackctl qsynth timidity unixodbc-dev
以下のパッケージが新たにインストールされます:
  htmldoc-common libarts1c2 libfltk1.1 libjack0.100.0-0 libqt3-mt libsclang0
  libscsynth0 libxinerama-dev libxinerama1
以下のパッケージはアップグレードされます:
  ecasound ecasound2.2 fluid htmldoc hydrogen jackd kdelibs-data libartsc0
  libartsc0-dev libasound2 libasound2-dev libfltk1.1-dev libfluidsynth1
  libqt3-compat-headers libqt3-headers libqt3-mt-dev libxrender-dev
  libxrender1 libxslt1 libxslt1.1 lincvs qt3-dev-tools render-dev
  spiralsynthmodular supercollider xlibs-static-dev xlibs-static-pic
  zynaddsubfx
アップグレード: 28 個、新規インストール: 9 個、削除: 25 個、保留: 578 個。
30.5MB 中 30.4MB のアーカイブを取得する必要があります。
展開後に 84.5MB のディスク容量が解放されます。
続行しますか [Y/n]?
	

11:06:44 # dupload ladspa-sdk.ladspa-sdkの1.1-3をアップロード.

 
 ladspa-sdk (1.1-3) unstable; urgency=low
 .
   * recompile with gcc-4.0
   - only plugins are affected, does not really affect packages Build-Depending on this package.
   * standards-version 3.6.2
   * use dpatch to maintain Debian patch.
   - 01_debian-patch: the Debian patch.

	

11:18:58 # dupload ecasound.ecasound2.2の2.4.2-1をアップロード. 対応したバグは321981.

 
 ecasound2.2 (2.4.2-1) unstable; urgency=low
 .
   * New upstream release
   * no longer generate ecasound2.2 transition package (closes: #321981)

	

11:30:16 # dupload ecamegapedal.ecamegapedalの0.4.4-2をアップロード. 対応したバグは317190.

 
 ecamegapedal (0.4.4-2) unstable; urgency=low
 .
   * Rebuild with new ecasound2.2
   - Bug fix: "libjack0.80.0-0 removed from unstable; rebuild required",
     (Closes: #317190).
   - g++ 4.0 transition
   * Policy 3.6.2

	

11:40:59 # dupload ecawave.ecawaveの1:0.6.1-5をアップロード. 対応したバグは317194.

 
 ecawave (1:0.6.1-5) unstable; urgency=low
 .
   * Rebuild with new ecasound2.2
   - Bug fix: "libjack0.80.0-0 removed from unstable; rebuild required",
    (Closes: #317194).
   - g++ 4.0 transition.
   * Policy 3.6.2
   * quote debian/menu string.

	

11:55:23 # Life soundtracker debugging. debuild --set-envvar 'DEB_BUILD_OPTIONS=nostrip,noopt' でビルドしてから実行.


(gdb) select-frame
(gdb) thread apply all bt

Thread 2 (Thread -1210672208 (LWP 28787)):
#0  0xb7e3d5f8 in clone () from /lib/tls/i686/cmov/libc.so.6
#1  0x007d0f00 in ?? ()
#2  0x00000000 in ?? ()
#3  0xb7f29dc0 in __make_stacks_executable ()
   from /lib/tls/i686/cmov/libpthread.so.0
#4  0xb7f29999 in pthread_create@@GLIBC_2.1 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#5  0xbff71968 in ?? ()
#6  0xb7dfedbc in setresuid () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread -1210668832 (LWP 28784)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7f28a90 in __nptl_setxid () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb7dfedbc in setresuid () from /lib/tls/i686/cmov/libc.so.6
#3  0x0806e393 in main (argc=1, argv=0xbff71a24) at main.c:123
#0  0xb7e3d5f8 in clone () from /lib/tls/i686/cmov/libc.so.6
	
 
 soundtracker (0.6.7-6) unstable; urgency=low
 .
   * de.po update from Jens Seidel (closes: #313892)
     03_de_po.dpatch
   * remove jack from Build-Depends since it's currently disabled;
     it hangs at startup.

	

15:02:59 # Life DVDにデータを書き込もうとしたら,怒られた. growisofs. 5.21.4.10.8-1. バグトラッキングシステムをみたら,なんかメンテされてない香りがするバグの量.一年放置してあるのか... growisofs_mmc.cpp:set_speed_B6h, set_speed_BBh のどっちかからこのメッセージはでてくるようだ.

$ growisofs -speed=2 -dvd-compat -Z /dev/hdc=backup.tar.gz
Executing 'builtin_dd if=backup.tar.gz of=/dev/hdc obs=32k seek=0'
:-( Failed to change write speed: 2117->2700
	

dvd+rw-mediainfo によると,下記らしい.なんでだ.

GET [CURRENT] PERFORMANCE:
 Write Performance:     1.0x1385=1350KB/s@[0 -> 2297887]
 Speed Descriptor#0:    00/2298495 R@1.0x1385=1350KB/s W@1.9x1385=2700KB/s
	

ドライブからうまく認識できないメディア買ってしまったのだろうか,ということで仕方が無い. 40分かけてDVDRを焼くことにする.

Executing 'builtin_dd if=/var/tmp/backup.tar.gz of=/dev/hdc obs=32k seek=0'
/dev/hdc: "Current Write Speed" is 1.0x1385KBps.
	

なんかウェブをあさっていると,hdparmでDMAをオンにすればよい,みたいなことが書いてある. しかし現在の設定ではDMAはONになっている. 変化点はカーネル(8月19日版のLinusのツリー)のみ.

[   49.666972] VP_IDE: VIA vt8233a (rev 00) IDE UDMA133 controller on pci0000:00:11.1
[   49.667009]     ide0: BM-DMA at 0xff00-0xff07, BIOS settings: hda:DMA, hdb:pio
[   49.667053]     ide1: BM-DMA at 0xff08-0xff0f, BIOS settings: hdc:DMA, hdd:pio
[   50.663349] Probing IDE interface ide1...
[   51.455464] hdc: TOSHIBA DVD-ROM SD-R5002, ATAPI CD/DVD-ROM drive
[   52.067246] ide1 at 0x170-0x177,0x376 on irq 15
[   52.075510] hdc: ATAPI 40X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33)
[   52.075565] Uniform CD-ROM driver Revision: 3.20

# hdparm /dev/hdc

/dev/hdc:
 IO_support   =  1 (32-bit)
 unmaskirq    =  1 (on)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
	

23:30:22 # Life Quake3 のソースコードがGPLで公開されたらしい. IRC #debian-develから. あとnm.debian.orgはmerkelに現在引越し作業中らしい.

2005年8月19日 (金曜日)

07:39:34 # Life localization-configというパッケージがあるらしい. changelogを読むと自分の名前があった. どうやらskolelinux向けにDebconf4のときにハックしていたやつらしい. set-language-envは「知らないと設定できない」(メニューから探す,などの処理が必要)というツールなのと 質問を多数きかれる(「言語に関係ない設定もしますか?」という質問をされても困る) ので,なんとか自動で/etc/skelあたりにデフォルトをつっこみたいなぁ,と考えているのだが, どうなんでしょう. set-language-envがつかいにくいなぁ,と思ったのは先日のkoedolugで mac miniにDebianをインストールしていたときに,インストールしただけではFEPが 起動しないなぁ,という話しから.

08:16:00 # Life 今日のLinuxカーネルのgitツリーのdiffを読んでみる. IBMのLPAR関連のコードとかがいじられているが, あきらかにコーディングスタイルが違う. arch/ppc64/kernel/lparmap 変数が大文字をまじえていたりする. あと,気づいたらシステムコールが増えた.292個になってしまった.inotifyが入った.

+       .long sys_ioprio_set
+       .long sys_ioprio_get
+       .long sys_inotify_init          /* 290 */
+       .long sys_inotify_add_watch
+       .long sys_inotify_rm_watch
	

今日はごっそりとNFSまわりが変更になっている. あと,スケジューラのこの変更はありなのか?

--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -3378,8 +3378,8 @@ EXPORT_SYMBOL(set_user_nice);
  */
 int can_nice(const task_t *p, const int nice)
 {
-       /* convert nice value [19,-20] to rlimit style value [0,39] */
-       int nice_rlim = 19 - nice;
+       /* convert nice value [19,-20] to rlimit style value [1,40] */
+       int nice_rlim = 20 - nice;
        return (nice_rlim <= p->signal->rlim[RLIMIT_NICE].rlim_cur ||
                capable(CAP_SYS_NICE));
 }
	

08:41:56 # Life いろいろとテストしてみて,cowdancerがfopenをうまく扱えないというのにやっと気づいたので, 調査してみる. libcのlibio/iofopen.cあたりがfopenを定義しているっぽい. みてみると,最初のread/writeの際に実際にどうopen(mmapするのか,openするのか?) するのかを決める,などというしゃれたことをしてくれているような気がする. fileops.cを見ていると,_IO_file_open ではopenをよんでいる気がする. うーむ.

2005年8月18日 (木曜日)

08:28:44 # Life nl_langinfoを久しぶりに調べてみる. realcsh.cを利用して調査するとこんなかんじ. 結果として,D_FMTとかはあるんだけど,曜日も含めた日付の表記の仕方については取得する方法が無いのではないか? D_DATE_FMTみたいなものがほしい. 日本では曜日は日付の最後,時間の前にくるが,アメリカでは曜日はおそらく最初にくる. この情報はlocaleからじゃないととってこれないだろうなぁ...

REAL csh: #include <langinfo.h>
REAL csh: #include <locale.h>
REAL csh: ##
#include <locale.h>
#include <langinfo.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
REAL csh: setlocale(LC_ALL,""); printf("%s\n", nl_langinfo(ERA_D_T_FMT));
%EY%m月%d日 %H時%M分%S秒
	

2005年8月17日 (水曜日)

09:41:02 # dupload 今日のDebianパッケージメンテナンスはpbuilder.pbuilderの0.129をアップロード. 対応したバグは317361. cowdancer対応を追加しているのだがcowdancerがうまくうごかないので調査中.

 
 pbuilder (0.129) unstable; urgency=low
 .
   * TODO items updated
   * updated testsuite to test sid/sarge/etch and upgrades.
   * changed manpages to use \- instead of - for dash.
   * work around su change in Debian. c.f. login:317264
     (closes: #317361)
   * Support preliminary support for cdebootstrap.
   - --debootstrap option for selecting cdebootstrap
   - default pbuilderrc uses cdebootstrap
   - testsuite now tests both cdebootstrap and debootstrap
   - Depends on debootstrap or cdebootstrap.
   * Initial support for --internal-chrootexec:
     It is now possible to specify for example '--internal-chrootexec "chroot $BUILDPLACE cow-shell "'.

	

2005年8月14日 (日曜日)

08:01:38 # Life cogitoをアップグレードしてみると,libcがアップグレードされてしまった. libc6 2.3.2.ds1-22 を(.../libc6_2.3.5-3_i386.deb で)置換するための準備をしています...の結果にどきどき. localeの形式がかわったのかな? さて,久しぶりにcg-cloneが成功するか?

今日make oldconfigしたら,inotifyについて質問された.ふーん.

2005年8月13日 (土曜日)

11:13:13 # Life 昨日はFSIJセミナーでした. 来月あたりにCodeFestをスリランカでやります,との話しがでましたが, スリランカ外相、自宅で暗殺されるというニュースが今日でていました.

日本も日本で総選挙になるといろいろとバタバタするので,来月のDebian勉強会開催も予断を許しません. コードばかり書いていればよいわけではなく,平和で政治が安定していないと安心して コードも書けなくなるのが現実ですなぁ.

11:59:25 # Life zynaddsubfxとecasoundを利用して録音してみる. できるんじゃないかなぁ,と思っていたがコマンドラインを考えるのが面倒なので放置していた案について, 検証してみる. hydrogenでドラムトラックをすでに録音している場合に, ドラムにあわせてオルガンがなる,というケースをつくってみる. jackは相互接続用に限定して,alsa経由で音を出すようにする.

$ jackd -d dummy
$ zynaddsubfx
$ jack_lsp
dummy_pcm:capture_1
dummy_pcm:capture_2
dummy_pcm:playback_1
dummy_pcm:playback_2
ZynAddSubFX:out_1
ZynAddSubFX:out_2

# zynaddsubfxから音を出す試験
$ ecasound -i jack_auto,ZynAddSubFX -o alsahw,0,0,0

# drum track dr3.wav の伴奏で,オルガン録音試験.
$ ecasound -a:1 -i dr3.wav -ea:50 \
	  -a:2,rec -i jack_auto,ZynAddSubFX \
	  -a:1,2 -o alsahw,0,0,0 \
	  -a:rec -o orgue1.wav

# とりあえずモニタしてみる.
$ ecasound -a:1 -i dr3.wav \
	  -a:2 -i orgue1.wav \
	  -a:1,2 -o alsahw,0,0,0

	

jackとalsaを別に利用すると,プロセス間の調停がうまくいかないため, zynaddsubfxでCPU処理が重い状況になると, ecasound が十分速くスケジュールされてくれないため, おとがとぎれとぎれになる. 仕方がないので,jackを利用してそこらへんを調整してもらうことにする.

$ jackd -d alsa -r 44100
$ zynaddsubfx

# jackのポート一覧を見る.
$ jack_lsp
alsa_pcm:capture_1
alsa_pcm:capture_2
alsa_pcm:playback_1
alsa_pcm:playback_2
alsa_pcm:playback_3
alsa_pcm:playback_4
alsa_pcm:playback_5
alsa_pcm:playback_6
ZynAddSubFX:out_1
ZynAddSubFX:out_2

# zynaddsubfxからeca経由でjackのalsaデバイスに音を出す試験
# eca経由でなくてよいのなら,jack_connectで,Zynaddsubfxのポートをalsa_pcmに接続すればよい.
$ ecasound -i jack_auto,ZynAddSubFX -o jack_alsa
ctrl-cで停止

# drum track dr3.wav に伴奏してもらい,同時に演奏する試験
$ ecasound -a:1 -i dr3.wav -ea:50 \
	  -a:2,rec -i jack_auto,ZynAddSubFX \
	  -a:1,2 -o jack_alsa \
	  -a:rec -o orgue1.wav
ctrl-cで停止

# とりあえずモニタしてみる.
$ ecasound -a:1 -i dr3.wav \
	  -a:2 -i orgue1.wav \
	  -a:1,2 -o jack_alsa
ctrl-cで停止

# ba録音
$ ecasound -a:1 -i dr3.wav -ea:50 \
	  -a:2 -i orgue1.wav \
	  -a:rec -i alsahw,2,0,0\
	  -a:1,2 -o alsahw,0,0,0 \
	  -a:rec -o bass2.wav 

# baモニタ
$ ecasound -a:1 -i dr3.wav -ea:50 \
	  -a:2 -i orgue1.wav \
	  -a:3 -i bass2.wav \
	  -a:1,2,3 -o alsahw,0,0,0 

# gt録音
$ ecasound -a:1 -i dr3.wav -ea:50 \
	  -a:2 -i orgue1.wav \
	  -a:3 -i bass2.wav -ea:150 \
	  -a:1,2,3 -o alsahw,0,0,0 \
 	  -a:rec -i alsahw,2,0,0 -o gt1.wav

# gtモニタ
$ ecasound -a:1 -i dr3.wav -ea:50 \
	  -a:2 -i orgue1.wav \
	  -a:3 -i bass2.wav -ea:150 \
	  -a:4 -i gt1.wav \
	  -a:1,2,3,4 -o alsahw,0,0,0 \

# mix down and finalize
$ ecasound -a:1 -i dr3.wav -ea:50  \
	  -a:2 -i orgue1.wav -epp:80 \
	  -a:3 -i bass2.wav -epp:40 -ea:150 \
	  -a:4 -epp:20 -i gt4.wav -ea:120   \
	  -a:1,2,3,4 -o mix20050814.wav

$ ecanormalize mix20050814.wav
$ ecasound -i mix20050814.wav  -o mix20050814-1.wav -eca -ete
	

ここまではjack経由で録音できることがわかった. jackdは複数のサウンドカードをサポートしていなくて,さらにUSBサウンドもサポートしていないはずなので, 録音にwavioを利用するのはecasound/alsa経由で頑張ることになる. まぁ,それはいつもやっているので動くことは分かっているのでよし. なんだかんだでecasoundとzynaddsubfxでソフトシンセが使える,ということが重要. これで出張先でもなんでもlinuxマシンさえあればなんとかなる状況になりましたな.

18:35:19 # Life missing sentinel in function call. execl(getenv("SHELL")?:"/bin/sh", getenv("SHELL")?:"/bin/sh"); としたら,gcc4.0の警告が出た. 最後のNULLを書き忘れていたからのようだ. execl(getenv("SHELL")?:"/bin/sh", getenv("SHELL")?:"/bin/sh",NULL); このような可変数の変数を持つCの関数でのエラーを検出するのは結構難しいはず.

21:13:56 # Life cowdancer をリリースしました. こちらにdebパッケージはおいています. ユーザランドだけでcopy-on-writeファイルシステムの操作性を実現しています. 紹介ページはこちら. cp -al(ハードリンクを利用するため,ディスクアクセスがすくなくてすむので高速)でコピーしたツリーがcp -a(実際にファイルをすべてコピーするので遅い) でコピーしたかのように利用できます. パリのルーブル美術館で思い付いたネタなのですが,結局リリースするのに2週間近くかかってしまいました. これを利用することで,pbuilderをかなり高速化することができるはずです.

2005年8月10日 (水曜日)

08:20:23 # Life 大浦さんのblogがアップデートされていないなぁ,と おもっていたら,気づいたらbloxsomに移行なさっていたようです. いままで気づいていなかったよ... http://www.netfort.gr.jp/~ohura/blosxom/

2005年8月8日 (月曜日)

07:13:34 # Life -dbgパッケージについて. tyuyuさんがDebian勉強会での話しに対応したエントリーを書いてらっしゃる. -dbgパッケージを作成しようというプロポーザルがあり,debhelper v4では dh_stripを利用すると,共有ライブラリのデバッグシンボルだけを抜きだした -dbgパッケージができるような仕様になっています. しかしながら,そうするとlibXXX-dbgというパッケージが1500くらいできてしまう,というのが 問題になっていて,もっとインパクトの無い仕様にしませんか?という話しがなされていました. その影響で,debhelper v5のdh_stripの--dbg-packageオプションは違う仕様になっています.

2005年8月7日 (日曜日)

13:17:52 # Life 8月の第7回東京エリアdebian勉強会報告. 今月もDebian勉強会を開催しました. Debianで新しくパッケージをアップロードするためのステップの話しや, フィンランドのヘルシンキで先月開催されたdebconf5で行われた 議論についての報告がありました. また,debianの悪いところについての愚痴大会を開催して,いろいろな意見が飛び交いました.

今回の会計

科目 出費 入金
資料コピー9人分 2160
DWNクイズ景品代 150
会場代 1500
勉強会費 3500
宴会 11808 11600
合計 518

19:28:26 # Life linux-arm MLを読んでいて,いままでしらなかったコマンドの使い方を知る. ld-linux.soは,オプションを指定してあげることができるらしい.

$ /lib/ld-linux.so.2 --list /bin/sh
        libncurses.so.5 => /lib/libncurses.so.5 (0x46742000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0x451e6000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x4508b000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
	

2005年8月6日 (土曜日)

12:28:53 # Life size_t* のかわりに int* を使っているコードに対して,signednessが違う,という 警告が出るようになった.gcc-4.0を利用しているからか? size_tはunsignedなのか? とかおもいつつとりあえず直す.結構何もかんがえずにintをつかっている部分が多いのでこそこそと修正. binfmtcでスクリプトとして仕込んでいると,毎回 gcc の警告が標準エラーに出力されるので修正しないといけないような気持になる.

15:36:51 # Life tlaのgpg signが失敗したらリビジョンがロックされてしまう. 今回はtla lock-revision -b $(tla tree-version)--patch-133 という感じで処理してみた. tla revisionsで確認して,次に割り当てられるrevisionがロックされているはず.

2005年8月5日 (金曜日)

08:37:11 # Life Linuxカーネルを古いgccでコンパイルする話題について。 最近、もうそろそろgcc 2.95サポートをうちきろう、という話題について,反論がたくさん出ていた. そこで, linux-vaxでは2.95でしかコンパイルできないというコメントがあった... ってlinux-vaxちゃんと活動していたんですね. Kerneltrapの記事より

08:59:24 # Life jack経由でhydrogen/zynaddsubfxを利用する方法についてちょっとしらべようと見回ってみた. Hydrogen+zynaddsubfx+MusEのチュートリアルがあった. たとえば,lunar shuttle, Little Girlという曲がなんともよさげ. MIDI+仮想音源でLinuxでここまでできるようになっていたのに気づいていなかった.不覚.

2005年8月4日 (木曜日)

08:21:15 # Life pbuilderでunionfsをサポートしてくれという依頼が来た. unionfsは聞いたことはあるが,まだためしたことがない. この系統はなかなか途中まで実装したが,完全な実装はできていないというようなものが多いからだ. ファイルのオーバレイまでは実装できても, ファイルの削除やリネーム,i-nodeの変遷までサポートするのは結構難しい. また,複数のファイルシステムをスタックした場合,最上位以外のファイルシステムへの変更をどう反映できるのか,という実装なども難しい. pbuilderで利用したくて以前調べた時には,途中まで実装して放置されているプロジェクトが多数あった. user-mode-linuxのCOWデバイスの成功はブロックデバイスの次元でCOWを実装したために問題を簡易にした というところがあげられるだろう.

pbuilderでunionfsをサポートするのは簡単だ. ただ,unionfs自体がどうなるのか,それを注目したい.

2005年8月1日 (月曜日)

01:05:52 # Life 今週末はDebian勉強会です. いろいろと準備してます. よろしくです.


Junichi Uekawa

$Id: 200508.html.ja,v 1.49 2005/10/30 15:09:05 dancer Exp $