おれさま手帖 KYOTO-STYLE :音箱


DiaryHome| 管理用:

見出し



日記過去ログ

1999: 6 7 8 9 10 11 12
2000: 1 2 3 4 5 6 7 8 9 10 11 12
2001: 1 2 3 4 5 6 7 8 9 10 11 12
2002: 1 2 3 4 5 6 7 8 9 10 11 12
2003: 1 2 3 4 5 6 7 8 9 10 11 12
2004: 1 2 3 4 5 6 7 8 9 10 11 12
2005: 1 2 3 4 5 6 7 8 9 10 11 12
2006: 1 2 3 4 5 6 7 8 9 10 11 12
2007: 1 2 3 4 5 6 7 8 9 10 11 12
2008: 1 2 3 4 5 6 7 8 9 10 11 12
2009: 1 2 3 4 5 6 7 8 9 10 11 12
2010: 1 2 3 4 5 6 7 8 9 10 11 12
2011: 1 2 3 4 5 6 7 8 9 10 11 12
2012: 1 2 3 4 5 6 7 8 9 10 11 12
2013: 1 2 3 4 5 6 7 8 9 10 11 12
2014: 1 2 3 4 5 6 7 8 9 10 11 12
2015: 1 2 3 4 5 6 7 8 9 10 11 12
2016: 1 2 3 4 5 6 7 8 9 10 11 12
2017: 1 2 3 4 5 6 7 8 9

最近のキーワード


+音箱

玄箱をDebian(sarge/testing)化して、jukeboxにしようとする計画。基礎的情報は「玄箱」の項を参照。woody/stableでも音は鳴るのだが、alsaplayerのパッケージが古くて、あとからコマンドで制御できないので、sarge化してalsaplayerの新しいパッケージに対応しようということ。


+ ■ 目標と達成度

(2004/08/31 14:14:00)


+ ■ sarge化

かぐやさんとこのやつでDebian(woody)化するところまでは「玄箱」の項を参照。

(2004/08/31 14:15:00)


+ ■ sambaとか

○ntpdate

apt-get install ntpdate

国内のntpサーバ:http://plamo.minidns.net/ntpsites.shtml

○localeの設定

apt-get install locales

○samba 3

apt-get install samba swat

/etc/inetd.conf のswatの行を有効にする。inetdをHUP

[global]
  unix charset = EUCJP-MS 
  dos charset = CP932
  display charset = CP932 
  security = SHARE
[share]
  comment = share
  path = /mnt/share
  force user = hoge
  force group = hoge
  read only = No
  guest ok = Yes

(2004/08/31 14:18:00)


+ ■ Xとvncserver

○X-Window

apt-get install x-window-system

/etc/fstabの書き換え→mountでもにょもにょ(http://www.mlb.co.jp/linux/support-mld6/ext2pts.html)これをしないと、root以外でterminalが動かない。

○vncserver

http://surf.ap.seikei.ac.jp/‾nakano/linux/init.d.html)

(2004/08/31 14:19:00)


+ ■ alsaplayer

○alsaplayer
○設定結果

(2004/08/31 14:19:00)


+ ■ joystick

○daemonとして起動時実行
○Xの起動条件設定

‾/.xinitrcと‾/.twmrcの設定。

○joystick

なるべく小さいのがいいと思って、「JY-PMUW」をJ&P京都寺町店で購入。

http://www.sanwa.co.jp/product/syohin.asp?code=JY-PMUBK&cate=1

黒いのもあったのならそっちの方が良かったなあ…。

バスパワーを使うHUBにはつなげられないということだったのだが、小さいものだしとりあえず100mAあれば大丈夫だろ、と思ったら案の定大丈夫だった。

○モジュールの読み込み

modprobe input

modprobe hid

modprobe joydev

○jslaunchd

(2004/08/31 14:34:00)


+ ■ 制御方法の検討

○日本語コードをどうするか
○アルバムリスト化
○曲の選び方

<インターフェース>

<機能>

○やることの順番

 ・teratermから手動でアレするスクリプトを書く

 ・ファイルシステムのコードを決定(EUCがよさげ)

 ・「送る」の部分をアレする。(出来合を使いまわす。)

なかなか8ビットコードを受け付けてくれなかったが、以下で解決。

http://plaza.rakuten.co.jp/search/diary/200404250000/

(2004/08/31 14:22:00)


+ ■ 起動時実行

○daemonとして起動時実行

/etc/init.d/vncserver

#! /bin/sh

set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/vncserver
NAME=vncserver
USER=ura
DESC="vncserver daemon"

PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

test -x $DAEMON || exit 0

case "$1" in
  start)
        echo -n "Starting $DESC: $NAME"
        su $USER -c "/sbin/start-stop-daemon --start --quiet ¥
                --pidfile $PIDFILE --user $USER ¥
                --exec $DAEMON -- :1"
        echo "."
        ;;
  stop)
        echo -n "Stopping $DESC: $NAME"
        su $USER -c "/sbin/start-stop-daemon --stop --quiet ¥
                --pidfile $PIDFILE --user $USER ¥
                --exec $DAEMON -- -kill :1"
        echo "."
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0

/etc/init.d/jslaunchd

#! /bin/sh
set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/jslaunchd
NAME=jslaunchd
DESC="jslaunchd "

PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

test -x $DAEMON || exit 0

case "$1" in
  start)
        echo -n "Starting $DESC: $NAME"
        start-stop-daemon --start --quiet --pidfile $PIDFILE ¥
                --exec $DAEMON
        echo "."
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0
○Xの起動条件設定

‾/.xinitrcと‾/.twmrcの設定。

(2004/08/31 17:11:00)


▼ <11>jukebox用のスクリプト

#!/bin/sh
JUKE_NUM=$1
if [ -r '/mnt/share/mp3/jukeno' ]
then
JUKE_AL_NO=`cat '/mnt/share/mp3/jukeno' `
if [ -r '/mnt/share/mp3/jukebox' ]
then
MAX_JUKE_NUM=`wc -l /mnt/share/mp3/jukebox | awk '{ print $1 }' `
#echo $MAX_JUKE_NUM
case $JUKE_NUM in
        next)   JUKE_AL_NO=$[$JUKE_AL_NO + 1]
                if [ $JUKE_AL_NO -gt $MAX_JUKE_NUM ]
                then JUKE_AL_NO=1
                fi
                JUKE_NUM=`awk "NR==$JUKE_AL_NO { print }" /mnt/share/mp3/jukebox
`
                echo $JUKE_AL_NO > /mnt/share/mp3/jukeno
                ;;
        prev)   JUKE_AL_NO=$[$JUKE_AL_NO - 1]
                if [ $JUKE_AL_NO -lt 1 ]
                then JUKE_AL_NO=$MAX_JUKE_NUM
                fi
                JUKE_NUM=`awk "NR==$JUKE_AL_NO { print } " /mnt/share/mp3/jukebo
x`
                echo $JUKE_AL_NO > /mnt/share/mp3/jukeno
                ;;
esac
fi
fi
echo $JUKE_NUM
if [ -d "$JUKE_NUM" ]
then cd "$JUKE_NUM"
alsaplayer -o oss -E *.mp3
elif [ -f "$JUKE_NUM" ]
#then DIST_DIR=`echo $JUKE_NUM | sed 's/[ ]/¥¥¥¥ /g' | sed 's/¥/[^/]*$//' | sed
's/[/]/¥¥¥¥¥//g' `¥¥/
then DIST_DIR=`echo $JUKE_NUM | sed 's/¥/[^/]*$//' `/
cd "$DIST_DIR"
MAX_LINE=`wc -l "$JUKE_NUM" | awk '{ print $1 }'`
C_LINE=1
alsaplayer --clear
while [ $C_LINE -le $MAX_LINE ]
do
        C_FILE=`cat "$JUKE_NUM" | tr -d '¥¥r' | nkf -e | sed $C_LINE!d `
        alsaplayer -o oss -e "$C_FILE"
        C_LINE=$[ $C_LINE + 1 ]
done
#DIST_FILE=`cat "$JUKE_NUM" | tr -d '¥¥r' | nkf -e | tr '¥¥¥¥' '/' | sed -e 's/^
/"/' -e 's/$/"/' | tr '¥¥n' ' ' `
#echo $DIST_FILE
#alsaplayer -o oss -E "$DIST_FILE"
fi

(2004/09/06 01:01:00)

/▼


2004/08/31 作成


[Top] [Homepage] [Diary]