星期四, 11月 18, 2004

台灣小吃篇

早 餐?
燒餅     Clay oven rolls
油條     Fried bread stick
韭菜盒    Fried leek dumplings
水餃     Boiled dumplings
蒸餃     Steamed dumplings
饅頭     Steamed buns
割包     Steamed sandwich
飯糰     Rice and vegetable roll
蛋餅     Egg cakes
皮蛋     100-year egg
鹹鴨蛋    Salted duck egg
豆漿     Soybean milk
米漿     Rice & peanut milk
飯 類?
稀飯     Rice porridge
白飯     Plain white rice
油飯     Glutinous oil rice
糯米飯    Glutinous rice
滷肉飯    Braised pork rice
蛋炒飯    Fried rice with egg
地瓜粥    Sweet potato congee

麵 類?
餛飩麵    Wonton & noodles
刀削麵    Sliced noodles
麻辣麵    Spicy hot noodles
麻醬麵    Sesame paste noodles
鴨肉麵    Duck with noodles
鵝肉麵    Goose with noodles
鱔魚麵    Eel noodles
烏龍麵    Seafood noodles
榨菜肉絲麵  Pork , pickled mustard green noodles
蚵仔麵線   Oyster thin noodles
板條     Flat noodles
米粉     Rice noodles
炒米粉    Fried rice noodles
冬粉     Green bean noodle

湯 類?
魚丸湯    Fish ball soup
貢丸湯    Meat ball soup
蛋花湯    Egg & vegetable soup
蛤蜊湯    Clams soup
蚵仔湯    Oyster soup
紫菜湯    Seaweed soup
酸辣湯    Sweet & sour soup
餛飩湯    Wonton soup
豬腸湯    Pork intestine soup
肉羹湯    Pork thick soup
花枝湯    Squid soup
花枝羹    Squid thick soup

甜 點?
愛玉     Vegetarian gelatin
糖葫蘆    Tomatoes on sticks
長壽桃    Longevity Peaches
芝麻球    Glutinous rice sesame balls
麻花     Hemp flowers
雙胞胎    Horse hooves

冰 類?
綿綿冰    Mein mein ice
麥角冰    Oatmeal ice
地瓜冰    Sweet potato ice
紅豆牛奶冰  Red bean with milk ice
八寶冰    Eight treasures ice
豆花     Tofu pudding

果 汁?
甘蔗汁    Sugar cane juice
酸梅汁    Plum juice
楊桃汁    Star fruit juice
青草茶    Herb juice

點 心?
蚵仔煎    Oyster omelet
棺材板    Coffin
臭豆腐    Stinky tofu
油豆腐    Oily bean curd
麻辣豆腐   Spicy hot bean curd
天婦羅    Tenpura
蝦片     Prawn cracker
蝦球     Shrimp balls
春捲     Spring rolls
雞捲     Chicken rolls
碗糕     Salty rice pudding
筒仔米糕   Rice tube pudding
紅豆糕    Red bean cake
綠豆糕    Bean paste cake
豬血糕    Pig's blood cake
糯米糕    Glutinous rice cakes
蘿蔔糕    Fried white radish patty
芋頭糕    Taro cake
肉圓     Taiwanese Meatballs
水晶餃    Pyramid dumplings
肉丸     Rice-meat dumplings
豆干     Dried tofu

其他:
當歸鴨    Angelica duck
檳榔     Betel nut

星期日, 11月 14, 2004

泰平天國



這是我, 拍攝時間2004/05

星期四, 11月 11, 2004

Daneel's Blog: rsync: ��賊�����隞�

Daneel's Blog: rsync: ��賊�����隞�

���銝���拙予蝛箸除���鞈芣芋撘�銝剖��蝬脤��������鞈���������啣�啣����湧�其遢���暺����憿�嚗�摮賊�瑞�潛�曄��嚗����瑼X�乩��銝�銝�嚗����靘踹����嗅�����閮剖�������喳��閮����銝�靘����

������鞈����������隞賭蜓閬���臬�拍�� rsync 韏� ssh tunnel ��脰�����甇乓��

��游����寞活雿�璆剖�����嚗�

#!/bin/sh
rsync -rvlHpogDtSc --delete --exclude mrtg -e ssh remote_machine:/remote_dir /local_dir | mail -s "WEB SYNC REPORT : `date`" admin1@email.address1 admin2@email.address2
���韏瑚�����隞文����瘀��銝����銝餉����臬�����銝������其遢嚗�

rsync -rvlHpogDtSc --delete --exclude mrtg

��嗡葉�����������豢��蝢拙�����嚗�
-r: recurse into directories
-v: increase verbosity
-l: copy symlinks as symlinks
-H: preserve hard links
-p: preserve permissions
-o: preserve owner
-g: preserve group
-D: preserve devices
-t: preserve times
-S: handle sparse files efficiently
-c: always checksum
--delete: delete files that don't exist on the sending side
--exclude: exclude patterns listed in FILE


�����詨��憭�嚗�銝����憭扯�港��撠望�舐�桅�����餈渲��銝�靽����瑼�獢�������嚗�靘�皞�������瑼�獢�撌脣�芷�文�����甇亙�芷�歹��銝虫�������� mrtg ��桅��銝���脰�����甇乓��


-e ssh remote_machine:/remote_dir /local_dir

蝚砌����其遢嚗�隞���� rsync ���隞斤�������賂�������舀��摰�蝬���� ssh tunnel ���甇仿��蝡舐�� /remote_dir ��唳�砍�啁垢��� /local_dir ������


mail -s "WEB SYNC REPORT : `date`" admin1@email.address1 admin2@email.address2

���敺����蝬���� pipe嚗�撖���� mail 蝯衣恣���������


��箔�����隞賢極雿���質�芸�����嚗����隞仿�����銝�甈∠�� Trusted SSH Authorized嚗�撱箇�����蝡舫�餉�血����砍�圈�餉�衣��靽∩遙���靽�嚗���� crontab 瘥���仿�脰��銝�甈∪��甇乓��

閮鳴�����銝�甈∠�����甇亙仃���嚗�銝餉����臬�����蝡� Trusted SSH Authorized ��� authorized_keys2 瑼�鋡怠�芷�扎��

閮鳴�����甇亦����寞活瑼���舀�曉�� /etc/cron.daily/rsync-web���

閮鳴����喃��銝�銝�嚗�銝����閰� preserve hard links�����嗅����� man嚗���渲死��� preserve �����賊��撠望��摰������脖��嚗�銝����蝝����隞賣��������閬� preserve hard links嚗���������������桃����航����拚�冽����典��甇亙��蝷箏��銝�隞質��������

星期一, 7月 19, 2004

��肓ince銝�憒�雿�摰���嗆����a�����

��餅�酬HELL銝����*���REG���隞�

獢���V�������暹�� My Computer��� Recycle Bin��臬�究hell銝����shell.reg銝哨��獢���V�����IE��暹����沉E銝����ie.dat���隞嗡葉嚗���嗡�����憭折�典����臬�究hell銝����shell.dat 銝哨��Media play��暹����牡irectx銝哨��

撘�憪����������隞餃�⊥�∠��靽格�對��靽格�� \WINCE420\PUBLIC\SHELL\OAK\HPC\EXPLORER\TASKBAR 銝����stmenu.cpp taskbar.cpp���隞�1���stmenu.cpp      static STMENUDATA const stmenuData[] = {//    {IDM_START_PROGRAMS,  IDS_MENUPROGRAMS,   IDI_STPROGS,        CSIDL_PROGRAMS, 0, 0, 0},//    {IDM_START_FAVORITES, IDS_MENUFAVORITES,  IDI_STFAVORITES,  CSIDL_FAVORITES, 0, 0, 0},//    {IDM_START_DOCUMENTS, IDS_MENUDOCUMENTS,  IDI_STDOCS,        CSIDL_RECENT, 0, 0, 0},//    {IDM_START_SETTINGS,  IDS_MENUSETTING,    IDI_STSETNGS,        STATIC_ITEM, 0, 0, 0},//    {IDM_START_HELP,      IDS_MENUHELP,       IDI_STHELP,        STATIC_ITEM, 0, 0, 0},//    {IDM_START_RUN,       IDS_MENURUN,        IDI_STRUN,        STATIC_ITEM, 0, 0, 0},    {0,                   IDS_NULL,           0,                STATIC_ITEM, 0, 0, 0},//    {IDM_START_SUSPEND,   IDS_MENUSUSPEND,    IDI_STSUSPD,        STATIC_ITEM, 0, 0, 0},};     撠�static STMENUDATA const stmenuData[] 摰�銋����憒�銝�靽格�對��2���taskbar.cpp     撠�BOOL  CTaskBar::Register(HINSTANCE hInstance)��賣�啣��摰寞釣������嚗���湔�叵eturn TRUE;3�����遁B������ Build->Open Build ReleaseDirectory嚗�餈���功WINCE420\PUBLIC\SHELL\OAK\HPC\EXPLORER\TASKBAR 銝����stmenu.cpp taskbar.cpp��桀��嚗���扯��嚗�set wincedebug=retail ���頧佗��build /c嚗�4��������啁��霂�撟喳�啣�喳�胯��

WINCE憒�雿�靽�摮�霈曄蔭嚗�

��每E銝�嚗���湔�嫣��IP��啣��嚗������臬��霈曄蔭�����潔腺憭晞��
Use Hived-base Registry

��支�������� hive-base registry support 銋�憭�������閬����撠望�臬�� boot phase ���閬���賣��雿���� External Storage 蝯� mount 銝�靘�銝虫����芸��撠���� registry path

��賊�� document ��臬�����help index 銝剜�� hive-based registries, setup
boot phase ��� registry �����曉�� boot.hv 銝剝����� boot time �����函��default registry��單�潸��憒�雿������梯正��曉�� boot.hv 銝剖神瘜�憭扳��������; HIVE BOOT SECTION; END HIVE BOOT SECTION

hive base registry 撠望�盍egistry ���隞卯ile ������ storage ��� ��������唳��
 
1. 蝣箄��雿����摰����瑼�獢���臬�行��摮���剁��default at: \Hard disk\Documents and Settings\System.hv2. OS�����芸��摮���亦�嗡����豢��"Start" -- "Stand by"�����賊�������乩�����璈����瘝�������������雿�嚗�撠望��lose���靽格�寧��registry閮剖�����雿���臭誑蝣箄��瑼�獢���交����臬�行����湔��
 
��嗆�航����� save ��������支��銝�餈啁�� suspend 憭�銋���臭誑��其����� registry ���銝� PersiXXX 敹�鈭� ��� key ��臭誑霈�雿���� RegCloseKey ���銋���� flush
 
隢����憒�雿������磕INCE���������嚗���湔�仿��銵�IE瘚�閬賢�具�������牢ommon.reg嚗���沍HKEY_LOCAL_MACHINE\init]畾菜溶���憒�銝�憿�隡澆�批捆: "Launch80"="iesample.exe" "Depend80"=hex:14,00 雿���荔��銝�韏瑚����具��
 
I've built a setup-box project boot with ie browser on wince 4.1.I'm sorry to make a mistake about the launch id of the explorer shell, it's 50(0x32) not 60(0x3c).Try this,

"Launch100"="iesample.exe" "Depend100"=hex:32,00
 
銝���亙��雿������脫����∟岫�����汾inCE.NET銝�, 閮剖��PCI隞���Y��Multi-Serial Card,��������劬indows CE.NET 4.2 Documents��抒��PCI Serial Driver Loading, 閮剖��������OxFord OX16PCI954, 雿�銝虫����賡��雿�, ��沈KEY_LOCAL_MACHINE\Drivers\Active銝�, ��曆����衹ame, ���隞亦��韏瑚�����閰脫�舀�����撽����, �����沌latform.reg銝剔��閮剖��憒�銝�:; ------------------------------ BEGIN PCI DEVICES ---------------------------------[HKEY_LOCAL_MACHINE\Drivers\PCI\Template\Serial]    "Dll"="Com16550.Dll"    "Class"=dword:07    "SubClass"=dword:00    "ProgIF"=dword:02    "VendorID"=multi_sz:"1415"    "DeviceID"=multi_sz:"9501"    "Prefix"="COM"

[HKEY_LOCAL_MACHINE\Drivers\PCI\Template\Serial\Unimodem]    "Tsp"="Unimodem.dll"    "DeviceType"=dword:0    "FriendlyName"="Serial Cable on PCI"    "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,00,00
[HKEY_LOCAL_MACHINE\Drivers\PCI\Instance\Serial1\Unimodem]    "FriendlyName"="Serial Cable on COM3:"; ------------------------------ END PCI DEVICES -----------------------------------
[HKEY_LOCAL_MACHINE\Drivers\PCI\Instance\Serial1]    "InstanceIndex"=dword:1    "Dll"="Com16550.Dll"    "Prefix"="COM"    "Priority"=dword:0    "Class"=dword:7    "SubClass"=dword:0    "ProgIF"=dword:2    "VendorID"=dword:1415    "DeviceID"=dword:9501    "RevisionID"=dword:00    "SubVendorID"=dword:1415    "SubSystemID"=dword:0    "InterfaceType"=dword:5    "BusNumber"=dword:0    "DeviceNumber"=dword:15    "FunctionNumber"=dword:0    "IoBase"=dword:D000    "IoLen"=dword:8    "Irq"=dword:7    "SysIntr"=dword:17
[HKEY_LOCAL_MACHINE\Drivers\PCI\Instance\Serial1\Unimodem]    "Tsp"="Unimodem.dll"    "DeviceType"=dword:0    "FriendlyName"="Serial Cable on COM3:"    "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,00,00
雿���臬�沈KEY_LOCAL_MACHINE\Drivers\Active銝剖停��舀�曆����蚓OM3������Name,���銋�瘝�閰阡����亙振������, �����箸�������唳�涉ll in one���璈����, 銝���亙��雿������脰����箏�芾ㄐ������憿�
���閮颱��銝�:��箸�砌�����璅�閮剖����舀��������憿����, �����箸����臭誑��其�������孵��,
IF BSP_SERIAL3[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial3]   "SysIntr"=dword:17   "IoBase"=dword:D000   "IoLen"=dword:8   "DeviceArrayIndex"=dword:2   "Prefix"="COM"   "Dll"="Com16550.Dll"   "Order"=dword:0
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial3\Unimodem]   "Tsp"="Unimodem.dll"   "DeviceType"=dword:0   "FriendlyName"=LOC_FRIENDLYNAME_SERIAL3   "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,00,00, 00,00, 08, 00, 00, 00,00,00,00ENDIF BSP_SERIAL3
...
閮剖�箏�血��4���Serial ports, COM3-COM6, 雿������箸�舐�典��銝����IRQ, ���隞乩��甈∪�芾�賡�����銝����Serial port, 雿������曉�刻��������雿輻��6���Serial ports, ���隞亙�����閬���沌CI��孵��撽����, 銝���亙��雿����雿�撱箄降, 銝���嗆��撠梯�������啣神銝����Multi Serial Port���撽����.

CE銝����撌脩����賢�����128MB���摮�嚗�雿�憒�瘜���桀��256MB���摮���港����賣迤撣詨�臬�剁�����瘜�憒�銝�嚗�

1. modify pc.h,set CEPC_EXTRA_RAM_SIZE = 0x0E4000002. modify _OEMAddressTable in oeminit.asm, set dd  80000000h, 0, 0F000000h;3. build -cf4. rebuild NK.bin
�����啣�潮�賣�舀�寞�株秩�����寧��嚗�銝���仿����航挽蝵桃����桅��嚗�餈���浚E撠望�舀��憭批��摮������塚��
���雿�憭扯�曇窈撣桀��嚗�
 
������憿�憟賢����� platbuilder newsgroup ������撌脩��������蝑�鈭�撠望�痂apping range閬�閮剜�� 010000000h
 
��血�� pc.h 銋�閬���遊EPC_EXTRA_RAM_SIZE = 0x0E400000;

kshuang憭批之嚗������賢歇蝏���嫣��嚗�

1. modify pc.h,set CEPC_EXTRA_RAM_SIZE = 0x0E4000002. modify _OEMAddressTable in oeminit.asm, set dd  80000000h, 0, 010000000h;3. build -cf4. rebuild NK.bin
餈���臭��銵������圈�餌�����銋���乩��嚗�瘝⊥����亙�啁�詨�唾悄霈箏�����銝箔��銋�閬�霈曆蛹010000000h�����嫣��憭芣����賬��餈�鈭�銝�銝�靚�霂������嗅��銋�瘝∪��瘜���亦��嚗�敺���虫犖������
������ OEMAddressTable ��舀捱摰� Virtual Memory Mapping ��� table��� config.bib ��芣��static mapping ��� ��� 28mb敺���Y�� 228 = 0xE4 ��賣�臬�� run-time ��� mapping ������隞仿��璅����韏瑚��撠梯����� 256 銋�撠望�� 0x1000_00000

��血��雿���函��銝餅����� 閰脖�������舫��蝔� FrameBuffer 頝� Main Memory ��梁�函��?? 敺�憭�build in Display ��� MB ��賣�舫��璅�������敺���� 雿�撠曹����賢�其����蹂����刻�����������敺���������踹�餃�� FrameBuffer ���

星期四, 7月 15, 2004

shout-icecast-mp3.pl

#!/usr/bin/perl -w

use strict;
use Shout;
use bytes;

# start the connection
my $conn = new Shout;

if ( $ARGV[0] eq "" ) {
printf ("Usage: shout-icecast-mp3.pl channel_title mount_name play_list\n");
exit(1);
}
else {
printf ("Channel Title:$ARGV[0]\nMount: $ARGV[1]\nPlaylist: $ARGV[1]\n");
}

# setup all the params
$conn->host('localhost');
$conn->port(8000);
$conn->mount("/$ARGV[1]");
$conn->password('xxxxxx');
$conn->public(0);
$conn->format(SHOUT_FORMAT_MP3);
$conn->protocol(SHOUT_PROTOCOL_HTTP);
$conn->set_audio_info(SHOUT_AI_BITRATE => 128, SHOUT_AI_SAMPLERATE => 44100);
$conn->name($ARGV[0]);
$conn->description("This music streaming station just for DEMO only");

my @BUF;
my $fn;
my $title;

# try to connect
if ($conn->open) {
print "connected...\n";
#$conn->set_metadata("song" => "Streaming from standard in");
while ( 1 ) {
open(m3uLIST, $ARGV[2]);
@BUF=;
close(m3uLIST);

my $tmp;
my $i;
my $j;
for ($i = @BUF; --$i;) {
my $j = int rand ($i+1);
next if $i == $j;
#print "$i <--> $j\n";
$tmp = $BUF[$j];
$BUF[$j] = $BUF[$i];
$BUF[$i] = $tmp;
}

my ($s1, $s2, $s3, $s4);
foreach $fn(@BUF) {
$title = $fn;
$title =~ s/\/var\/www\/html//g;
$title =~ s/\.mp3//g;
($s1, $s2, $s3, $s4)=split('\/', $title);
$conn->set_metadata("song" => "playing $s3 -- $s4 ($s2) now...");
# if we connect, grab data from stdin and shoot it to the server
my ($buff, $len);
printf("playing $fn now");
open (MP3, $fn);
while (($len = sysread(MP3, $buff, 4096)) > 0) {
unless ($conn->send($buff)) {
print "Error while sending: " . $conn->get_error . "\n";
last;
}

# must be careful not to send the data too fast :)
$conn->sync;
}
close(MP3);
}
}
# all done
$conn->close;
} else {
print "couldn't connect...\n";
}

icecast installation history

1005 ls -l
1006 cd test
1007 ls
1008 cd ..
1009 ls -l
1010 cd iso
1011 cd iso2
1012 ls
1013 cd ..
1014 umount rh9
1015 mount -t smbfs -o username=stan,password=1123 //192.168.1.48/kids rh9
1016 df
1017 cd rh9
1018 ls
1019 cd iso
1020 ls
1021 ls -la
1022 cd ..
1023 ls
1024 cd iso
1025 ls
1026 ls -l
1027 sync
1028 ls -l
1029 cd ..
1030 ls -l
1031 sync
1032 cd /mnt
1033 ls
1034 mv cdrom cdrom.phy
1035 ls -l
1036 df
1037 umount cdrom
1038 mv cdrom cdrom.phy
1039 ls -l
1040 mkdir cdrom
1041 ls -l
1042 mount /mnt/rh9/iso/Mandrake90-cd1-inst.i586.iso cdrom -o loop
1043 df
1044 cd cdrom
1045 ls
1046 ls -l
1047 cd ..
1048 umount cdrom
1049 df
1050 cd /etc
1051 cat fstab
1052 cd /mnt
1053 vi /etc/fstab
1054 df
1055 cd /etc
1056 cat exports
1057 cd /var
1058 ls
1059 cd www
1060 ls
1061 ls -l
1062 cd html
1063 ls
1064 ls -l
1065 cd ..
1066 ls -l
1067 mount /dev/hda1 html -r
1068 df
1069 cd html
1070 ls
1071 ls -la
1072 cd ..
1073 umount html
1074 ls
1075 mount /dev/hda1 html -r -t ext2
1076 cd html
1077 ls
1078 cd ..
1079 ls -l
1080 df
1081 cd /mnt
1082 ls
1083 cd cdrom.phy/
1084 ls
1085 cd ..
1086 ls
1087 ls -l
1088 mount /mnt/rh9/iso/Mandrake90-cd1-inst.i586.iso cdrom -o loop -t cd9660
1089 mount /mnt/rh9/iso/Mandrake90-cd1-inst.i586.iso cdrom -o loop -t iso9660
1090 df
1091 cd cdrom
1092 ls -l
1093 df
1094 ls
1095 cd Mandrake/
1096 ls
1097 cd RPMS/
1098 ls
1099 ls xslt*
1100 ls libxml*
1101 ls libxslt*
1102 ls libxml*
1103 rpm -i libxml2-devel-2.4.23-4mdk.i586.rpm
1104 rpm -i libxml2*
1105 rpm -i libxml2-devel-2.4.23-4mdk.i586.rpm
1106 rpm -i libxml2*
1107 cd /etc/rc.d
1108 grep "Mandrake" * | more
1109 grep "9.1" * | more
1110 echo $PRODUCT
1111 vi rc.sysinit
1112 cat /etc/mandrake-release
1113 cd /mnt
1114 umount cdrom
1115 ls
1116 cd /etc
1117 vi /etc/fstab
1118 cd /etc/apt/
1119 cat sources.list
1120 cd /tmp
1121 ftp 140.112.8.138
1122 ls
1123 cd /mnt/8G
1124 ls
1125 ls -lh Mandrake91-cd1-inst.i586.iso
1126 rm Mandrake91-cd1-inst.i586.iso
1127 ls
1128 sync
1129 cd /tmp
1130 ls libxml*
1131 rpm -i libxml-devel-1.8.17-3mdk.i586.rpm
1132 ls libxslt*
1133 rpm -i libxslt-proc-1.0.27-1mdk.i586.rpm
1134 rpm -i libxslt1-devel-1.0.27-1mdk.i586.rpm
1135 ls libxslt*
1136 rpm libxslt1-1.0.27-1mdk.i586.rpm
1137 rpm -i libxslt1-1.0.27-1mdk.i586.rpm
1138 rpm -i libxslt1-devel-1.0.27-1mdk.i586.rpm
1139 ls libxml2*
1140 rpm -i libxml2-devel-2.5.4-1mdk.i586.rpm
1141 rpm -i libxslt1-devel-1.0.27-1mdk.i586.rpm
1142 sync
1143 cd /home/stan
1144 cd icecast-2.0.1
1145 ./configure
1146 cd /tmp
1147 ls
1148 rpm -i *ogg*
1149 rpm -i libflac++2-devel* libflac4-devel* perl-MP3-Info* perl-String-ShellQuote*
1150 rpm -i libflac++2* libflac4* perl-MP3-Info* perl-String-ShellQuote*
1151 sync
1152 cd /home/stan/icecast-2.0.1
1153 ./configure
1154 ./configure --help
1155 ./configure --help | more
1156 make
1157 ./configure
1158 cd /tmp
1159 ls ls *ogg*
1160 rpm -i libogg0*
1161 ls *vorbis*
1162 mv /mnt/8G/*vorbis* .
1163 ls *vorbis*
1164 rpm -i libvorbis0-devel-1.0-6mdk.i586.rpm
1165 ls libogg-deve;
1166 ls libogg-devel
1167 ls libogg-devel*
1168 ls *devel*
1169 rpm -i libogg0-devel-1.0-3mdk.i586.rpm
1170 rpm -i libvorbis0-devel-1.0-6mdk.i586.rpm
1171 ls *vorbis0*
1172 rpm -i libvorbis0-1.0-6mdk.i586.rpm
1173 rpm -i vorbis-tools-1.0-2mdk.i586.rpm
1174 sync

星期三, 7月 14, 2004

Shout to ICECAST

#!/usr/bin/perl -w

use strict;
use Shout;
use bytes;

# start the connection
my $conn = new Shout;

# setup all the params
$conn->host('localhost');
$conn->port(8000);
$conn->mount('/example');
$conn->password('your_passswd');
$conn->public(0);
$conn->format(SHOUT_FORMAT_MP3);
$conn->protocol(SHOUT_PROTOCOL_HTTP);
$conn->set_audio_info(SHOUT_AI_BITRATE => 128, SHOUT_AI_SAMPLERATE => 44100);

# try to connect
if ($conn->open) {
print "connected...\n";
$conn->set_metadata("song" => "Streaming from standard in");

# if we connect, grab data from stdin and shoot it to the server
my ($buff, $len);
while (($len = sysread(STDIN, $buff, 4096)) > 0) {
unless ($conn->send($buff)) {
print "Error while sending: " . $conn->get_error . "\n";
last;
}

# must be careful not to send the data too fast :)
$conn->sync;
}

# all done
$conn->close;
} else {
print "couldn't connect...\n";
}

mandrake 9.1 apache is trash

mandrake 9.1 apache is trash

it's hard to config for httpd.conf and commhttpd.conf

TRASH!

星期二, 7月 13, 2004

about apt in mandark 9

1.whereis apt
edit /etc/apt/source.list

2.using "pkglist.cooker" keyword to search from google

3.using ftp to try first, it's worked then
edit /etc/apt/source.list

# Package repository URLs
#
# See http://www.linux-mandrake.com/en/cookerdevel.php3 for a full list
# of mirrors.

#rpm ftp://ftp.sunet.se/pub/Linux/distributions/mandrake-devel/i586 Mandrake cooker

#rpm ftp://sunsite.uio.no/pub/unix/Linux/Mandrake-devel/i586 Mandrake cooker
rpm ftp://sunsite.bilkent.edu.tr/pub/linux/mandrake/9.1/i586 Mandrake cooker
#rpm ftp://ftp.free.fr/pub/Distributions_Linux/Mandrake-devel/cooker/i586 Mandrake cooker

��方帘���銋�擐�

��方帘���銋�擐� 銋�銝�
銵�銵����銵�銵�
�����������仿��
��詨�餉�祇�����
�����典予銝�瘨�
���頝舫�颱�����
�����W����舐��
��⊿收靘����憸�
頞�曈亙楷������
��詨�餅�亙歇���
銵�撣嗆�亙歇蝺�
瘚桅�脰�賜�賣��
���摮�銝�憿扯��
������隞支犖���
甇脫��敹賢歇���
璉������踹儔���
��芸�������阡ㄞ

��方帘���銋�擐� 銋�鈭�
������瘝喟�����
擛梢炳���銝剜��
������璅�銝�憟�
��������嗥�����
憡亙言蝝�蝎�憒�
蝥�蝥���箇�����
�����箏�∪振憟�
隞���箄�拙��憭�
��拙��銵�銝�甇�
蝛箏�������典��

��方帘���銋�擐� 銋�銝�
��������萎�����
蝤�蝤�瞉�銝剔��
鈭箇��憭拙�圈��
敹賢�����銵�摰�
��������詨��璅�
������銝���箄��
撽�頠�蝑�擏�擐�
皜豢�脣�����瘣�
瘣�銝凋��擛梢炳
���撣嗉�芰�貊揣
��瑁﹜蝢�憭曉毽
������憭�蝚砍��
��拙悅�����豢��
��������暸��撠�
璆萄捎憡�敹����
������雿����餈�

��方帘���銋�擐� 銋����
隞���亥�臬捎���
甇⊥�������琿��
敶�蝞�憟桅�賊��
��啗�脣����亦��
隞文噸��梢��閮�
霅���脰�賢�嗥��
朣�敹�������憿�
��急��靽望�芯撓
鈭箇��撖�銝�銝�
憟�敹質�仿��憛�
雿�銝�蝑�擃�頞�
������閬�頝舀揖
��∠�箏��鞎扯酗
頧�頠駁�瑁�西��

paragraph 5 :
��方帘���銋�擐� 銋�鈭�
镼踹�����擃�璅�
銝����瘚桅�脤��
鈭斤��蝯�蝬箇��
��輸��銝�������
銝����蝯�甇����
��喲�蹂��雿����
隤啗�賜�箸迨���
��∩�����璇�憒�
皜������券◢���
銝剜�脫迤敺�敺�
銝�敶����銝�甇�
��瑟�冽��擗����
銝����甇�������
雿���瑞�仿�喟��
憿���粹��暾駁��
憟桃��韏琿��憌�

paragraph 6 :
��方帘���銋�擐� 銋����
瘨�瘙����������
��剜黎憭���唾��
���銋�甈脤�箄狐
��������券�����
���憿扳��������
��瑁楝瞍急筒瘚�
���敹������W��
�����瑚誑蝯����

paragraph 7 :
��方帘���銋�擐� 銋�銝�
���������憭����
靽�蝜�曈湔�勗��
���銵⊥��摮����
��暹��雿�甇瑟風
��賡�脤��������
���蝭�敹賢儔���
蝘���祇陷璅寥��
���曈仿��摰����
���������������
擃������臬�剔耨
銝�敹菜�����憟�
璉����憒���箄楚
���蝞����������
��賜��銝�鞎�頠�
��舐�∠�斤�喳��
������敺拐�����

paragraph 8 :
��方帘���銋�擐� 銋����
������������蝡�
蝯���寞陸撅梢��
��������箸�啣��
���蝯脤��憟唾��
���蝯脩��������
憭怠岫������摰�
���������蝯�憍�
���������撅梢��
������隞支犖���
頠�頠�靘�雿����
��瑕蝦�����剛��
��怨�望�����頛�
���������銝����
撠���函��������
���鈭桀�琿��蝭�
鞈文汙鈭虫�����

paragraph 9 :
��方帘���銋�擐� 銋�銋�
摨凋葉���憟�璅�
��������潸�舀��
���璇������嗆旨
撠�隞仿�箸�����
擐券�������瑁��
頝舫����怨�港��
甇斤�拐��頞唾眼
雿������亦�����

paragraph 10 :
��方帘���銋�擐� 銋����
餈Z縈��賜�����
������瘝單慰憟�
蝥�蝥���Y�����
��剜�剖��璈����
蝯���乩�����蝡�
瘜�瘨���嗅�����
瘝單慰皜�銝�瘛�
��詨�餃儔撟曇迂
������銝�瘞湧��
������銝�敺�隤�

paragraph 11 :
��方帘���銋�擐� 銋����銝�
餈渲��擏�閮����
������瘨���琿��
���憿找����怨��
��梢◢�����曇��
��������⊥�����
���敺�銝�������
���銵啣��������
蝡�頨怨�虫�����
鈭箇�����������
鞊���賡�瑕ˊ���
憟�敹賡�函�拙��
璁桀��隞亦�箏窄

paragraph 12 :
��方帘���銋�擐� 銋����鈭�
��勗��擃�銝����
��嗉縣��芰�詨惇
餈湧◢�����啗絲
蝘�������撌脩��
��������渲�����
甇脫�桐��雿����
��券◢��瑁�血��
��������瑕��靽�
��拇����暹��敹�
雿���箄�芰�����
���頞�憭�雿喃犖
蝢����憿�憒����
鋡急��蝢�鋆唾﹝
��嗆�嗥��皜����
��喲�蹂��雿����
蝯���亦�交�曹��
擐單����游溝撣�
瘝�������頨�頨�
�����粹��憌����
���瘜亙楷���撅�

paragraph 13 :
��方帘���銋�擐� 銋����銝�
撽�頠�銝���梢��
��������剖��憓�
��賣��雿���剛��
��暹��憭曉誨頝�
銝������單香鈭�
��單�喳�喲�瑟��
瞏�撖�暺�瘜�銝�
���頛�瘞訾��撖�
瘚拇筒��圈�賜宏
撟游�賢��������
鈭箇��敹賢��撖�
憯賜�⊿����喳��
��祆革��渡�賊��
鞈Z����怨�賢漲
���憌�瘙�蟡�隞�
憭���箄�交��隤�
銝�憒�憌脩�����
鋡急��蝝����蝝�

paragraph 14 :
��方帘���銋�擐� 銋�������
��餉����乩誑���
靘������亙歇閬�
��粹�剝����渲��
雿�閬�銝����憓�
��文�������箇��
��暹����抒�箄��
��賣��憭���脤◢
��剛�剜��畾箔犖
���������������
甈脫飛�����∪��

paragraph 15 :
��方帘���銋�擐� 銋����鈭�
���撟港��皛輻��
撣豢�瑕��甇脫��
�����剛�血�����
雿�銝�蝘���剝��
��箸����嗅�����
雿���賢��靘����
������������鞎�
雿���箏����文��
隞�鈭箇��摮����
�����航��蝑����

paragraph 16 :
��方帘���銋�擐� 銋�������
������甇脖�����
��餉��憭�曈湔��
瘨潮◢���撌脣��
���摮�撖���∟﹝
��西▽��箸��瘚�
���鋡����������
��典挪蝝舫�瑕��
憭X�唾��摰寡��
��臭犖�����斗迭
���擏�������蝬�
憿�敺�撣詨概蝚�
���������頠�甇�
��V��銝�������
���銝����������
鈭桃�⊥�券◢蝧�
�����賢��憸券��
������隞仿�拇��
撘���������貊��
敺������瑟�����
���瘨�瘝暸�����

paragraph 17 :
��方帘���銋�擐� 銋����銝�
摮���砍��瘞����
���憸其��������
���憭���亙�����
隞啗����暹�����
銝�鈭�������皛�
���鈭���曉��蝻�
摰W�������嫣��
��箸��銝���豢��
銝�閮���瑞�豢��
銝�閮�銋���W��
蝵格�豢�瑁��銝�
銝�甇脣��銝�皛�
銝�敹���勗�����
��澆��銝�霅�撖�

paragraph 18 :
��方帘���銋�擐� 銋�������
摰W�������嫣��
��箸��銝�蝡舐飯
��詨�餉�祇�����
���鈭箏��撠����
���敶拚��暾�暾�
鋆���箏��甇∟◤
���隞仿�瑞�豢��
蝺�隞亦��銝�閫�
隞亥�����瞍�銝�
隤啗�賢�仿�X迨

paragraph 19 :
��方帘���銋�擐� 銋����銋�
������雿�������
��扳��蝢�摨�蝺�
������銝���賢��
��祈﹝韏瑕��敺�
摰Z�����鈭�璅�
銝�憒���拇��甇�
��箸�嗥�典冀敺�
��������嗅��隤�
撘���������交��
瘛�銝�瘝曇ㄢ銵�

蝑�閮�:Linux MP3撌亙�瑞��璆菜�Y弦 (������)

Linux MP3撌亙�瑞��璆菜�Y弦
��祆��銋�敺����Linux��典振���Vol.8���������蝡�銝剜�瑕�������典����批捆������������隢����MP3���敶V����Zˊ雿�撌亙�瑞��隞�蝝孵��雿輻�冽�寞��嚗�������銝西�����



蝔�撘�撌亙�瑚��蝝�

MP3瑼�憯�蝮桃��撘�-LAME
Audio-CD��瑕��撌亙��-CDDA2WAV���CDDA Paranoia


鋆賭��甇仿��撖虫��蝷箇��
��瑕��Audio-CD
鋆賭��MP3瑼�
��芸�������游��撌亙��-ripit


蝬脖��撱���胞P3
閮剖��icecast
���蝥���剜�醃P3甇����-shout

鋆賭����剜�暹�����

���MP3��������啣��蝣�
鋆賭�����蝣���澆��瑼�

��亦�����蝣���澆��瑼���批捆
���������蝣�

敺�MP3鋆賭��Audio CD甇仿��撖虫��
鋆賭��Audio CD甇仿�������游��撌亙�搶p3munch



蝑����撠���萄ㄚ璅���������券�橘��摰嗡葉��嗉��鈭�銝�銝���詨�����銝����憸冽�潛����萄ㄚ璅���莎��蝔桅��敺�Blues���Swing��蚪osa Nova��賣�����璅������寥�g����脣ㄚ憸典之撣青harlie Parker���Stan Getz嚗���潛�游之撣雨ill Evans嚗�甇����Louis Armstrong���Ella Fitzgerald蝑�撠�������撅祉����������嗉��銋�銝�[瘜其��]���

��W�����������撠����嚗�閬�甈�鞈�銝����甇�������瞍�霅荔��靘輯�����撣豢��蝣�嚗�憟賭����剔�押��www.radioeastwest.com蝬脖����餃�圈�����閮凋��Jazz��駁��嚗�銝������剜�曉��蝔桅◢��潛����萄ㄚ��單��嚗���嗅�嗆�脩�桐蒂銝�憭�嚗���賢��銋�鈭�銝����������銴�銴�嚗���嗆����剜��蝔桐漲�����函�箇����������暹��嚗�憪�蝯���芾�賢�����蝑����敹�銝剜����喋��

���閬����甇歹��蝑������拇��蝞������������嗉�����撠������券�刻ˊ���MP3嚗�銝西��Shoutcast雿���典予�����剜�橘�����璅�嚗�靘輯�賭��雿萄����斗�湔�����蝣�嚗����蝬脖����餃�唳�脩�桃��撠���拙�����憿����銝����嚗�蝑����������撣詨��蝬脖��銝�頛�MP3嚗�雿�撠�鋆賭��MP3��餅�����蝬�撽�嚗�撠�MS Windows銝���箇�曉歇銋����蝔桃車MP3鋆賭��撌亙�瑚漲銝���⊥����乓����拚�Y����������汪inux蝟餌絞��冽��嚗����靘踵��蝞���典�嗡����脰��銝�������雿����

shout���icecast server
���蝬脩窗���隞����Vol. 23��曆��蝝孵�拍�沒houtcast鋆賭�����鈭箇雯銝���餃�啁����寞��嚗������汾inamp��剜�曄��MP3������靘�蝬脣����嗉�賬�������找漲���������shout���Linux�����研��蝑����撠望�舀��蝞�隞叫hout���Linux�����砌����箸�剜�醃P3���銝餉��撌亙�瑯��銝����嚗�甇方��������瘜�������蝬脩窗���隞���������扳��������銝���∠�詨��������蝬脩窗���隞�������隞�蝝寧����寞��嚗���臬�汾inamp���鋆����隞嗡誑�����典�嗆�剜�曄��MP3敺�隞仿��銝�蝬脩窗嚗�蝑����������瘜������航�芾����汪inux��嗅遣銝�icecast���MP3 Server嚗����隞叫hout���MP3�����迺cecast��剜�橘����游�����蝔�銝虫��瘨����MS Windows蝟餌絞(��嗉�賡�文��)���

��汪inux鋆賭��MP3蝬脖����餃�啣�臬����孟cripting蝑������賢��甇仿����芸�����嚗�蝬脖��鈭行��銝�撠���暹�����撌亙�瑞陛�����游��鋆賭��甇仿�������望�潮��鈭�撌亙�琿�賢�舐�冽��隞斗芋撘���瑁��嚗���舐����餃��敶V����X��雿���函��鞈�皞�嚗����敹俑P3���鋆賭��甇仿�����

��游�����蝔����擐�閬�甇仿����嗥�嗆�臬�����撠������賢��甇���莎��銝血��蝮格��MP3���鈭�撖虫��嚗����Linux憟�隞嗆�拙歇��瑕��鈭�鋆賭��MP3������蝔桀極��瘀����喃蝙瘝����鈭血�航�����敺�Internet���鞎颱��頛����敺������芰�梯��擃�蝷曄黎鈭血神憟賭�����撘����璅����Script瑼�隞亦陛������蝔�撘����雿輻�剁��銝虫誘鋆賭��甇仿��瘚���W�����隞乩��蝑�������銝�銝�隞�蝝寥��鈭�撌亙�瑯��

���隞文極��瑚��蝝�
MP3瑼�憯�蝮桃��撘�-LAME
Linux撟喳�唬�����憭�������璆剖�����鞎餌��MP3 Encoder嚗���嗡葉���������������閬���碌AME���LAME��烊AME Ain't an MP3 Encoder���蝮桀神嚗���臬�啣�嗅之��祉��銝�頛����敺����蝑�������鋆������拍�甸ame 3.70蝛拙�������砌��蝷箇�����

閫�憯�LAME���tarball銋�敺�嚗���芷����瑁��make靘踵�������拍楊霅臬��������

��支��LAME嚗�蝬脩窗銝������舀�曉�唬��撠����鞎餌��MP3 Encoder������頞����霈����隢���芾�����閬踝��

BladeEnc

GOGO

MP3ENC(���璆剛��隞�)

Audio-CD��瑕��撌亙��
CDDA2WAV���CDDA Paranoia
Rippers��臬����單�����蝣���賢��甇���脩��銝餉��撌亙�瑯�����鈭�撌亙�瑚����祆�������賢����箔�������脩�桀�����wav��澆��嚗�隞乩��敺�蝥����������甇斗�寥�X����箏�����Linux撌亙�瑁����睜DDA2WAV���CDDA Paranoia���雿輻�典�芰車Rippers���瘝�������憿�嚗�蝑����鈭行��隞�蝝嫣��������雿輻�冽�孵�����

CDDA2WAV���CDDA Paranoia嚗�Red Hat 6.2������蝣���批歇��瑕��鈭�������RPM瑼�嚗������亙����構dda2wav-1.8-2.i386.rpm���cdparanoia-alpha9.6-2.i386.rpm���

銝���g��蝑����������餈啣�拍�每DDA2WAV���CDDA Paranoia��瑕��Audio-CD��脩�桀����汪AME鋆賭��MP3瑼������琿����孵�����

��瑕��Audio-CD
隞乩����浚DDA2WAV撣貊�函����瑁����孵��嚗�

cdda2wav -D /dev/cdrom -s -x -O wav -B -t 1+10

��嗡葉嚗�

-D /dev/cdrom ���摰�閬�霈����������蝣�璈�

-s �����瑕����箔�������唾��瑼�摮����stereo��澆��

-x ��∠�杗udio-CD��唾釭

-O wav �����唾��瑼�摮����wav��澆��

-B 銝�擐�甇�隞乩�����瑼�獢���脣��

-t 1+10 ���摰���瑕����芷����脩��

CDDA2WAV���閰喟敦�����貊�冽��隢���������鄉anual page���

隞乩�����CDDA Paranoia���隞文�臬����唬����$DDA2WAV���璅����撌乩��嚗�

cdparanoia -d /dev/cdrom -w -B "1-"

��嗡葉嚗�

-d /dev/cdrom ���摰�閬�霈����������蝣�璈�

-w �����唾��瑼�摮����wav��澆��

-B 銝�擐�甇�隞乩�����瑼�獢���脣��

"1-" ��梁洵銝�擐���脩�桅��憪���瑕����唳��撠曆��擐�

CDDA Paranoia���閰喟敦�����貊�冽��隢���������鄉anual page���

鋆賭��MP3瑼�
隞乩�������烊AME撣貊�函����瑁�����隞歹��

lame -h -b 160 -m stereo wavname.wav mp3name.mp3

��嗡葉嚗�

-h 隞仿��鞈芰����孵��憯�蝮�

-b 160 雿輻��160雿���箏��蝮桃��bitrate嚗�銝���映P3瑼� ��賣�臭蝙���160 bitrate鋆賭��

-m stereo 雿輻�究tereo��剜��

wavname.wav 鋆賭��MP3���WAV瑼�

mp3name.mp3 鋆賭��憟賜��MP3瑼����

頛詨�召ame --help��臬����追ame���摰���游����詨��銵具��

敺���瑕����啣��蝮桃����游��撌亙��

��芸�������游��撌亙��-ripit
��拍�汪inux蝟餌絞鋆賭��MP3嚗�瘥�銝�甇仿����賣��撠�撅砍極��瑁��鞎穿����訾縑瘝����憭芸��鈭粹��������閮����鈭����隞文����詻�����鋆�蝑�������隞�蝝嫣�������氳ipit���撌亙�瘀��摰���斗�游��鈭�銝�餈啁��MP3 Encoder���Ripper憭�嚗���������脖��CDDB鞈����摨怨岷��������踝����航�芸����啁雯銝���曉�粹�單�����蝣���抒��甇�������甇����嚗�銝血����衽P3���璅�蝐文�扼��ripit��港��雿菔ˊ雿���箄府��單�����蝣������剜�暹�����(隞叮3u��箏�舀�����)��嫣噶winamp蝑���豢����剜�整��ripit�����冽�賢�����蝣���脩�桃�����������撌脫�賢�����wav瑼�憯����MP3��澆��嚗�蝭������游��鋆賭�����蝔�銝�撠����������

ripit��啁阮��������啁�������祉��1.8���銝�頛���鈣ar瑼�閫�憯�敺���喳�臭蝙��具��鈭�撖虫��嚗�ripit��芣�臭�������沌erl撖急�����蝔�摨�瑼�嚗����鋆賭��MP3�����游��撌亙��瘚�瘞港��璆剖��嚗�銝行��靘�蝪⊥����������貉��������雿�摨西澈���閮剖����������亥店嚗���������舐�湔�乩誑���摮�蝺刻摩��券�����銝虫耨��孵�嗡葉�����批捆���

ripit��X�臭����曉極��瑞����游��隞���g��閬�雿輻�禿ipit蝟餌絞敹������瑕��隞乩��撌亙�瘀��

xmcd��單�����蝣���剜�曉�� ��其����亦��CDDB鞈����摨怒��ripit ��芣����典�啣�嗡葉���cda蝔�撘����

cdparanoia���cdda2wav ��其����賢����單�����蝣���脩�殷����芷����嗡葉銝�蝔桀�喳�胯��ripit���閮凋蝙 ��牢dparanoia���

lame���bladeenc���gogo ��其��憯�蝮格�脩�株�蛉P3��澆��嚗���� �����嗡葉銝�甈曉�喳�胯��ripit���閮凋蝙��甸ame���

摰�鋆�xmcd
��航����砌��靽勗��嚗���芣��xmcd���蝡���喃��頛�xmcd������隞�蝣�(蝑����銝�頛�������2.6���)���xmcd���閬�Motif蝔�撘�摨急����賡����拍楊霅荔��蝑����雿輻�沖ed Hat PowerTools 6.2銝���園�����lesstif RPM��蹂誨���

xmcd���蝺刻陌��寞��嚗�

cd xmcd-2.6

xmkmf

make Makefiles

make

make install

��函楊霅舫��銝軍mcd銝餌��撘���������曆����衽otif蝔�撘����蝺刻陌憭望����������氳ipit��芣����典�軏da�����舐��撘�嚗�������憿�銝�憭扼����典�瑁��make install敺�嚗�蝔�撘����閰W��銝�鈭�蝔�撘�摨怎��摮���曆��蝵殷�����閬�撠�xmcd�����舐��撘�摰�鋆���啣�芾�����摰�鋆�蝔�撘�鈭行����菜葫��釗mcd��芾�賜楊霅舀�����嚗�銝西��雿�瘙箏����臬�衣匱蝥�摰�鋆�(��嗥�嗆�����)������������憿���賢�臭蝙��券��閮剖�潘����園����芾��蝣箔��cda������摰�鋆����/usr/bin嚗�霈�ripit������霈����雿輻�典�喳�胯��

摰�鋆�蝔�撘���典��鋆�摰�xmcd������隞嗅��蝔�撘�摨怠��嚗�������雿�閮剖��憒�雿�摮����蝬脩窗銝����CDDB鞈����摨怒�����撣豢����������睜DDB���摰�嚗�隞亙����唳��������������摮������寞����������仿����啣��憿�嚗���舫�碎TTP���摰���蹂誨�����亥��摰�鋆�蝔�撘���������箏��憭低DDB鞈����摨怎��雿����嚗����鋆���臬�券�券�豢��嚗�摰����������c���蝯�������

摰�鋆�蝔�撘���唳��敺���航�賣����箇�暸�航炊蝔�撘�嚗����撠���������舀��憭批蔣��踴��

��箔����������������芸振蝟餌絞���閮剖��嚗�ripit撠������W�箔��銝���������貉身摰�������霈���������豢��雿輻�典�芯��MP3 Encoder���Ripper嚗����CD-ROM���雿�蝵桃�������拍�冽��摮�蝺刻摩��券�����ripit.pl瑼�嚗�銝行�曉�託ser configuration variables銝�蝭�嚗���臭耨��嫣誑銝�������(��祈����抒�����摮���箏����貉牧���)嚗�

$cddev = "/dev/cdrom";

(閮剖�����蝣�璈����閮剖��瑼�)

$outputdir = "/dosc/cdrip";

(���摰�鋆賭��憟瞎P3���摮���曄�桅��嚗����鈭����撱箇��)

$bitrate = 160;

(閮剖��MP3���bitrate嚗����閮剔��160��臬虜��券�賊��)

$encoder = 1;

(閬�雿輻�典�芯��MP3 Encoder���0��慷ladeenc嚗�1��摔ame嚗�2��慘ogo)

$encopt = "";

(憒�������摰�憿�憭������貊策MP3 Encoder嚗���冽迨頛詨�伐��憒����餈啁��-h蝑�)

$cdripper = 0;

(閬�雿輻�典�芣狡Ripper���0��構dparanoia嚗�1��構dda2wav嚗�2��演osha嚗�3��構dd)

$cdopt = "";

(憒�������摰�憿�憭������貊策Ripper嚗���冽迨頛詨��)

$use_underscore = 0;

(1雿輻�罕nderscore隞���輻征��賢�����嚗�0���靽����甇�������蝛箇�賢�����)

��券��鋆�閮剖��憟賣����������訾蒂摮�瑼�敺�嚗���芷����曉�仿�單�����蝣���蚓D-ROM(瘥������芾�����頛�)嚗���瑁��嚗�

ripit.pl

Ripit靘踵����芸����賢����單�����蝣���抒����脩�殷��鋆賣��MP3��澆��嚗�敺�CDDB鞈����摨怠��敺���脩�桀��甇����鞈����嚗�銝血��銋�摮���衽P3瑼����璅�蝐支葉嚗����鋆賭��m3u��剜�暹����柴��

蝬脖��撱���胞P3
鋆賣�������貊�暸��MP3嚗���嗥�嗆�舐�其����剜�整��蝑����銝���喳�芷����澆�汪inux銝������賣派鞈����鈭�雿����嚗�������鈭血�������典�虫����券��蝬脩��Win98��肓inamp��嗉�賬��隞乩��蝑���������拍�甬cecast���shout��拙��MP3��剜�曆撩�����券����圈�����閬�瘙����

icecast���shout��賣����暹�����RPM靘�������蝡���喳��鋆�雿輻�具�������買ed Hat 6.2 PowerTools��找漲��園�����shout���RPM瑼�嚗�雿�甇卜PM��批�餌撩撠�鈭�shout������閬����閮剖��瑼�嚗�蝑����撱箄降���雿���訌PM Repository��芾��銝�頛����

閮剖��icecast.conf
icecast���閮剜�����閮剖��瑼�摮���曉��/etc/icecast��桅��銝����icecast.conf閮����鈭�icecast���������閮剖�������賂����支��隞乩�������殷����嗅��瘝輻�券��閮剖�澆�喳��(��祈����抒�箄牧������摮�)���

encoder_password hackme

(閮剖��憯�蝮格�剜�曆蝙��函��撖�蝣�)

admin_password hackme

(閮剖��蝞∠��icecast雿輻�函��撖�蝣�)

oper_password hackme

(閮剖��雿輻�甬cecast雿輻�函��撖�蝣潦��敺����閮剖��shout���閬����甇文��蝣澆����酒hout���閮剖��瑼�銝哨��霈�shout敺�隞乩蝙��甬cecast���)

hostname 192.168.1.1

(���摰�蝟餌絞���蝔�)

port 8000

(icecast���閮剜��雿輻��8000������Network port雿�蝬脩窗摮����嚗�������雿輻�券��閮剖��)

server_name linux

(閮剖��icecast��函雯蝯∩����砍��������蝔梧��銝���祈身��箄��蝟餌絞��詨��������蝔�)

staticdir /usr/share/icecast/static

(���摰�MP3���摮���曆��蝵�)

銝�銝�閮剖��憟賭誑銝���賊��敺�嚗�靘踹�臬�瑁��icecast���蝑�������霈�icecast��刻����臬�瑁��嚗�

icecast -b

��圈��鋆�嚗�������靘踹�臬�其遙雿����雿�蝟餌絞嚗���拍�決P3��剜�曉�其����嗉�賣�曉�汪inux蝟餌絞���MP3瑼����靘�憒�閬���肓inamp��嗉�編hino3.mp3嚗���臬�肓inamp���[Ctrl]-[L]嚗�頛詨�乩誑銝�蝬脣��

http://192.168.1.1:8000/file/shino3.mp3

192.168.0.1��烊inux���蝬脣�����憒����嚗���嗥�嗡漲��臭蝙��求omain Name�����望�履cecast��臭蝙���8000��箇雯蝯∠垢���(network port)嚗������������孵�交��摰����file��疳cecast������閮胞P3瑼�摮���曇楝敺�嚗�蝑������潔����W�究taticdir�����詨�������桅��雿�蝵柴����單�廣hino3.mp3嚗���芰�嗆�臭����唾�賜��MP3瑼����鈭����

���蝥���剜�醃P3甇����-shout
銝����嚗�閬����璅�������瑼�獢���嗉�踝����芸��憭芷獄��押�����鋆����������憭�銝�甇伐����拍�究hout������摰����銝�蝯�MP3瑼���芸�������迺cecast��剜�橘��������撠勗末�����賣�園�單����穿����芾�����play靘輯�賣��皞�銝�蝯���賢�衽P3甇���脯��

閮剖��shout.conf
���璅�嚗�shout.conf鈭血�臬��/etc/icecast銝���曉�啜����������芷����典�嗅�扯身摰�隞乩��銝餉����������詨�喳��(��祈����抒�箄牧������摮�)���

server_name localhost

(雿輻�甸ocalhost���閮剖��)

port 8000

(雿輻��8000���閮剖��)

password letmein

(撖�蝣澆����������甬cecast閮剖�����encoder_password銝�璅�嚗�憒���砌�����閮剜��hackme嚗�銝���鈕hout��������餃�亙仃���������蝯���瑁��)

mount default

閮剖��雿輻�刻��摮���������桅�����蝔晞����������臬停銝���������脩�株身���憭������桅��嚗�憒�pop���jazz蝑�嚗����������憭����shout蝔�撘�靘���剜�曉����亦����桅��[瘜其��]���

playlist shout.playlist

(���摰���剜�暹����桃��瑼����嚗�������敺�������鋆賭��甇支��皜����)

loop yes

yes��粹��蝥���剜�橘��no�����剜�暹����桐��甈∪�����甇U��

shuffle no

yes��粹�冽����剜�橘��no������皜���桅��摨���剜�整��

daemon yes

yes隞山hout隞亥����舐��撘���瑁��

verbose no

yes憿舐內閰喟敦��瑁��閮���荔��摰�������deamon��槃o���皜�瘜�雿輻�具��閮���舀����劍onsole銝�憿舐內���

鋆賭����剜�暹�����
閮剖��憟編hout.conf瑼�敺�嚗�靘踵�航ˊ雿���剜�暹����峴hout.playlist���隞乩�����隞文�舀��icecast���閮胞P3瑼�摮���曄�桅��/usr/share/icecast/static銝����������MP3瑼�摮���唳����桐葉(隞乩����粹��蝥�銝�銵�������隞�)嚗�

find /usr/share/icecast/static -name "*.mp3" > /etc/icecast/shout.playlist

���璅�嚗���剜�暹����桐噶鋡急�曉�酒hout���摰������箸�曆��蝵柴�����敺�靘踵�臬�瑁��shout���隞文�����shout���

��肓inamp嚗����銝�[Ctrl]-[L]敺�頛詨�乩誑銝�蝬脣����喳�舀�嗉�賬��MP3��餃�啜��嚗�

http://192.168.1.1:8000/default

���MP3��������啣��蝣�
��亦′蝣�憭�憭改����嗥�嗅�臭誑雿���撤P3瑼������脣��摨恬��雿����MP3瑼���������蚓DR��找撮銋���渡�箸����箝��Linux銝���拙歇���������蝣�������蝔�撘�嚗�蝟餌絞��芾����瑕��CD-R���CD-RW璈�嚗�靘輯�賣��MP3瑼�鋆賣�����蝣���嗉�����Linux���������蝣������拙��銝餉��蝔�撘������榦kisofs���cdrecord嚗������乩�����Linux蝟餌絞銝���曆����圈����拇�舐��撘�嚗���臬�沖ed Hat 6.2���蝣�銝�摰�鋆������買PM瑼����

鋆賭�����蝣���澆��瑼�
��汪inux銝����������蝣������箏�拙��甇仿��嚗������舀��甈脩��������瑼�獢���桅��鋆賣��銋�������蝣����ISO9660瑼�獢���澆��(蝔梁�截SO瑼�)嚗�������ISO瑼������蚓D-R��改����拙��甇仿��雿���典�啁�����隞文����交�痂kisofs���cdrecord���隞乩��������隞文�舀��/usr/share/icecast/static��桅��銝����������瑼�獢�鋆賭����������榦p3.iso������蝣���澆��瑼�嚗�靘�cdrecord雿���箇��������靘�皞�瑼�嚗�

mkisofs -J -T mp3.iso /usr/share/icecast/static

��嗡葉嚗�

-J ��航ˊ雿�Microsoft Joliet Format������蝣���澆��嚗���汾in9x銝�霈����甇文��蝣���賡*蝷粹�瑟��������

-T ��航ˊ雿�tbl瑼������嗥頂蝯曹����舀�尋icrosoft Joliet Format���嚗���舫��甇斗����抒��閮���舀����瑟�����頧�������8.3���瑼����憿舐內���

mp3.iso��痂kisofs���鋆賣�����ISO9660���蝣�瑼�獢���澆��瑼�嚗�銝���砌誑iso���raw雿���箏�舀�����嚗�鈭�撖虫����臭遙�����賢�����

��亦�����蝣���澆��瑼���批捆
��������臬�冽��iso瑼���������蚓D-R�����亦����嗅�批捆嚗����璅�嚗�憒���潸死瞍�鈭�隞�暻潭��獢�嚗������嗡��������嚗�靘輯�賡�������潛�橘�����銵�鋆賭����啁��iso瑼�嚗���踹��瘚芾祥鈭�銝�撘湣D-R蝣������亦����寞����臬�拍�皂ount���隞斗��iso瑼������唬����桅��銝�(隞乩����箔��銵����隞�)嚗�

mount -t iso9660 -o ro,loop=/dev/loop0 mp3.iso /mnt/cdrom

���璅�嚗�mp3.iso瑼������批捆靘輯◤���頛����/mnt/cdrom��桅��銝�嚗���亦��甇斤�桅�������批捆靘輻����潭�亦��mp3.iso�����批捆�����亦��摰���W�舐�罕mount���隞文�賊�斗��頛������桅��嚗�

umount /mnt/cdrom

���������蝣�
銋�敺�靘踵�舐�牢drecord���iso瑼������蚓D-R��扼��cdrecord��瑕��������鞈����瑼������唾����蚓D-R���CD-RW�����賢��嚗�銝行�舀�惴ulti-session���disc-at-once蝑���������孵��[瘜其��]���

蝑����雿輻�函����烈hilips CCD-2600 2x SCSI CD-R������璈�������������隞乩����X��隞斗�曉�慢D-R���閮剖�����蝣潘��

cdrecord -scanbus

Cdrecord 1.8 (i686-pc-linux-gnu) Copyright (C) 1995-2000 Jorg Schilling

Using libscg version 'schily-0.1'

scsibus0:

0,0,0 0) *

0,1,0 1) *

0,2,0 2) *

0,3,0 3) *

0,4,0 4) 'PHILIPS ' 'CDD2600 ' '1.07'

0,5,0 5) *

0,6,0 6) *

0,7,0 7) *

蝔�撘���亙�箇��������Philips CDD2600������璈����閮剖�����蝣澆�潭��0,4,0嚗����撠�甇斗�詨�澆�喟策cdrecord嚗�雿���箄身���瑼����蝣潘��

cdrecord -v speed=2 dev=0,4,0 -data mp3.iso

隞乩�����隞歹��-v��臬�函��������銝剝*蝷箄底蝝啗����荔��speed������摰�������������摨佗��-data������摰�������鞈����瑼�嚗�mp3.iso��芣�臬�����鋆賭�����ISO��澆��瑼����

敺�MP3鋆賭��Audio CD
�����乩�����蝑����銝�璅�嚗���刻ˊ雿�憟瞎P3瑼�敺�靘踵��������CD鞈���唬�����撣���湛����亙�������喃誑��桅��CD璈�甈�鞈���單��嚗����������璅���舀��MP3瑼�頧����Audio CD��澆�����������撌亙�瘀��鈭行�拐漲��園����汪inux蝟餌絞��扼��

���鋆�������閬���典�唬�����撌亙�瑕�餅��MP3瑼�鋆賣��Audio CD嚗������交�痂pg123���sox���cdrecord�����琿�����瘜���荔�������臭誑mpg123��������每onsole���銵����MP3��剜�曄��撘�嚗����MP3���閮���航撓��箸��raw���憪���澆��嚗����撠�頛詨�箄����臬����酒ox������撌亙�瑕��雿����������sox��航�����銝������單��瑼���澆�����撠����撌亙�瑯����������拍�典��靘����mpg123���頛詨�箏�����wav��澆�������單��瑼�嚗�靘�cdrecord���������Audio CD���隞乩����臬�琿�����隞�(���������隞斗�臭誑銝�銵�摰����)嚗�

mpg123 -q -s *.mp3 | sox -t raw -c 2 -w -s -r 44100 - -t wav *.wav

-q��其��憯���鄉pg123���憿舐內���閮���荔����踹��憭�擗�閮���臬����酒ox���鋆����嚗�-s�����舀��mpg123���閮剔��撠�MP3瑼�頛詨�箏�啣����剜�寞��頛詨�箏�啁��撟�嚗������箸����������湔�交��閮���舫��撠�蝯存ox���������

sox���-t raw�����豢�舀��摰�頛詨�亦��鞈����蝔桅����氳aw���憪���澆��(��軛pg123頛詨�箇����澆��)嚗�-c 2��箔蝙��究tereo��嗅��嚗�-r 44100��臭蝙���44100�����剜�暸�餌��嚗���箔����祆����脖蝙��剁��-w���摰�隞�16-bit word��脣��鞈����嚗�-s�����臭誑���蝺���扳�湔�詻��(signed linear)��孵��������閮����嚗������拙�������訾蜓閬���舐Ⅱ靽�cdrecord��賣迤蝣箄�����鋆賭����箔�����WAV瑼�嚗�-t wav������摰����頛詨�亥ˊ雿����WAV��澆��嚗�*.wav�����舀��鋆賣�����瑼�獢�隞叱av��舀�������賢�����

隞乩�����隞文�����敺�嚗����銝���桅��銝�靘踵��摮���曉�����瘥�擐�MP3瑼����WAV��澆����單��瑼�������鈭�WAV瑼�憭批��銝���砍��30-40 MB撌血�喉��閬�銋�甇���脤�瑕漲���摰����銝�銝�甇乩噶��舐�牢drecord���蝣�������撌亙�瑟�����鈭�WAV瑼�鋆賣��Audio-CD���隞乩����臬�琿�����隞�(���������隞斗�臭誑銝�銵�摰����)嚗�

cdrecord -v dev=0,4,0 speed=2 -pad -swab -audio ./*.wav

-pad銝餉����舐Ⅱ靽���單��瑼�蝚血��璅�皞����Audio-CD��澆��嚗�霈�銝���祉��CD璈���賣迤撣豢�剜�橘��-swab���蝣箔��CD-R璈���賣迤蝣箄�����WAV瑼������唾��嚗�-audio������摰���舐�����Audio-CD嚗�./*.wav��舐�������嗅����桅��銝�������WAV瑼����

鋆賭��Audio CD甇仿�������游��撌亙�搶p3munch
�����������瑕��Audio-CD鋆賣��MP3甇仿����詨��������蝔�嚗�蝬脩窗銝����璅���舀�曉�唳�游����抒��script瑼�隞亦陛���鋆賭��甇仿�����蝑����雿輻�函��嚗���臭����������榦p3munch���撌亙�瑯��

mp3munch��支��撠�銝�餈啣極摨���芸�����憭�嚗���渲�質�芸����菜葫閬����鋆賣����脩��蝮賢捆�����臬�西�����CD-R 74���������摰寥�����摰�鈭行����芸����菜葫��撤P3瑼������剜�暸�餌����喟策sox������嚗���踹��頧�������蝔���箇�曉��憿����憒�MP3瑼������急��銝�鈭�ISO9660璅�皞����蝣���澆��銝���舀�渡��摮�銝�(憒���祈��������������蝑�)嚗�mp3munch鈭行�����銵�雿���箄�����嚗�蝣箔����������賣�������瑁�����

mp3munch銋���臭����舐�沌erl撖怎��script瑼�嚗�摰������典�衽P3:Info������Perl璅∠��靘���瑕��MP3瑼���抒��鞈�閮������嗥�軼drecord嚗�mpg123���sox蝑�蝔�撘���芣�臭����舐撩撠����

閫�憯�MP3-Info-0.80.tar.gz銝阡�脣�亥圾憯���桅��嚗���瑁��隞乩�����隞文��鋆�MP3:Info璅∠��嚗�

perl Makefile.PL

make

make test

make install

雿輻�皂p3munch���閬����������嚗���舐�望�潭����每D-R璈�������dev���������speed��� �����賊�賭�����嚗������������拍�冽��摮�蝺刻摩��券�����mp3munch嚗���曉�唬誑銝�銝�銵�嚗�

$cdrecord = "cdrecord -v -eject dev=0,6,0 speed=2 -pad -swab -audio";

銝虫耨��鉅ev���speed�����詨�潔誑銋������芾澈CD-R璈������詨�潦����������舫��������餈啁��cdrecord -scanbus���隞文����仿�������詨�潦��靘�憒�蝑����靘輯�����dev=0,6,0��寞��dev=0,4,0���靽格�孵��閮�敺�摮�瑼����

mp3munch���雿輻�冽�寞��������蝪∪�殷�����������CD-R蝣���曉�丘D-R璈�嚗���脣�亙����醃P3瑼������桅��嚗����隞叵oot頨怠����瑁��mp3munch.pl��喳�胯�������亙�箇�曉��憿�嚗���航岫閰虫誑銝����隞�(���閮凋�����mp3munch.pl摮����/usr/src��桅��銝�)嚗�

perl /usr/src/mp3munch.pl

��������芸����芷�上AV瑼�������
mp3munch��冽����������芾����芷�方��������蝔����銝剜�������箔�����WAV瑼������������舀����芸����芷�文����賢����烯p3munch��改����芷����潭��摮�蝺刻摩��券�����瑼�獢�嚗�銝血�冽��摨����銝�隞乩����貉����喳��(��祈����抒�箸��隞方牧���)嚗�

system "$cdecord $LocalDir/*.wav";

(��皂p3munch瑼���扳�曉�唳迨銵�嚗���典�嗅�����銝�銝���Y�����隞�)

#### Delete WAV file #### 甇支��瘜刻圾嚗�

print "Deleteing temporary WAV fles...";

(憿舐內��芷�上AV瑼�閮����)

system "rm -rf $LocalDir/*.wav";

(撖阡����芷�上AV瑼�������隞�)

print "Done.";

(憿舐內摰����閮����)

��皂p3munch���銝餌雯�����改�������舀�曉�唬��鈭�������MP3瑼����憟賜�典極��瘀�������寡��MP3瑼�bitrate���mp3recode.pl嚗������撤P3瑼���剜�暹��������mp3time.pl蝑�嚗�������頞����霈������航�芾��閰西岫���

銝����蝥�隢�MP3蝞∠��蝔�撘�
蝑���������砍�芣�唾����祆�����憭批振���鈭思��銝���汪inux銝�鋆賭��MP3���敹�敺������������冽�啣神������蝛嗥�����蝔�銝剔�潭��鈭�銝�撠�憿�憭�鞈�閮�嚗����鋆賭��MP3���撠�鞈����摨怎�������潭�舫��蝞���芣�賊��蝭�撟�������鈭怠��敺�嚗���喳�������詨��摮�������鋆賭�����������嚗���踵�潛��撟����������嚗�蝑����������敺�銝����蝥�隢�蝞∠��MP3瑼����蝔�撘�嚗���嗥�園�����敺�憭����璅�撌亙�瑯��Script蝔�撘�������敶V����X��敺����閰艾��霈����隢���剔�桐誑敺����

暾����[2000/lu092305]


--------------------------------------------------------------------------------

瘜其��嚗���喃��閫���游�������潛�萄ㄚ璅����蝔桃車嚗����雿���臬�迴azzhut.hamusic.com���閬賬�������臭�����撠����撖怎策��萄ㄚ璅���仿��������蝬脩��嚗���批捆�����祉�萄ㄚ璅�隞�蝝嫘����萄ㄚ璅���脩陛隞������萄ㄚ憭批葦蝪⊥風�����萄ㄚ��單����曄��蝑�蝑�嚗���航��霅���萄ㄚ璅����銝����敺�憟賜��蝬脩�����

瘜其��嚗�shout.conf��批�芾�賣��摰�銝����mount��桅��嚗�憒�閬���剜�曉�����銝������桅��嚗�������敹������瑁��憭����shout蝔�撘�嚗������芯��銝�������閮剖��瑼���瑁�����shout���靘�-C�����������訾�����摰�雿輻�其��������閮剖��瑼����靘�憒�嚗�

shout -C shout.conf.pop

shout -C shout.conf.jazz

��芾����究hout.conf.pop���shout.conf.jazz���mount�����豢��摰�銝������桅��嚗���嗉�質��靘踹�舫�豢��銝����蝔桅�����甇���脫�嗉�賬����嗥�塚�����������閬���典����桅��銝�鋆賭��shout.playlist��剜�暹����株��shout霈����(閬�銝�銝���������貉牧���)���

瘜其��嚗������嬈drecord���閰喟敦雿輻�冽�寞�����閫�隤迎����肓ww.linuxdoc.org銝����CD Writing HOWTO撌脖��鈭�皜�璆�隤芣�����憒�霈����撠���汪inux銝����������蝣������脖��甇亥��閮�嚗�甇支遢���隞嗡����臬��霈�雿���������啁�����LUG鈭血歇���甇支遢���隞嗉陌���銝剜�����嚗����雿���臬�針ww.linux.org.tw/CLDP/CD-Writing-HOWTO.html銝����閬賬��

星期一, 7月 12, 2004

VB win32 API for COM Port

'
' Edit by stan wu 2004/07/12
' stan at stanserv.com
'
'
Public Const GENERIC_WRITE = &H40000000
Public Const GENERIC_READ = &H80000000
Const FILE_ATTRIBUTE_NORMAL = &H80
Const CREATE_ALWAYS = 2
Const OPEN_ALWAYS = 4
Const OPEN_EXISTING = 3
Const INVALID_HANDLE_VALUE = -1


Type MyType
value As Integer
End Type

Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, _
lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, _
lpNumberOfBytesRead As Long, ByVal lpOverlapped As Long) As Long

Private Declare Function CloseHandle Lib "kernel32" ( _
ByVal hObject As Long) As Long

Private Declare Function WriteFile Lib "kernel32" ( _
ByVal hFile As Long, lpBuffer As Any, _
ByVal nNumberOfBytesToWrite As Long, _
lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Long) As Long

Private Declare Function CreateFile Lib "kernel32" _
Alias "CreateFileA" (ByVal lpFileName As String, _
ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, _
ByVal lpSecurityAttributes As Long, _
ByVal dwCreationDisposition As Long, _
ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) _
As Long

Declare Function FlushFileBuffers Lib "kernel32" ( _
ByVal hFile As Long) As Long



'
'VB programing for COM Port controls with Win32 API
'Those modules found from http://www.mev.co.uk/vbbaud.htm
'
'
' COMM declarations
Declare Function BuildCommDCB Lib "kernel32" Alias "BuildCommDCBA" (ByVal lpDef As String, lpDCB As dcb) As Long
Declare Function BuildCommDCBAndTimeouts Lib "kernel32" Alias "BuildCommDCBAndTimeoutsA" (ByVal lpDef As String, lpDCB As dcb, lpCommTimeouts As COMMTIMEOUTS) As Long

Declare Function ClearCommBreak Lib "kernel32" (ByVal nCid As Long) As Long
Declare Function ClearCommError Lib "kernel32" (ByVal hFile As Long, lpErrors As Long, lpStat As COMSTAT) As Long

Declare Function EscapeCommFunction Lib "kernel32" (ByVal nCid As Long, ByVal nFunc As Long) As Long

Declare Function SetCommState Lib "kernel32" (ByVal hCommDev As Long, lpDCB As dcb) As Long
Declare Function SetCommTimeouts Lib "kernel32" (ByVal hFile As Long, lpCommTimeouts As COMMTIMEOUTS) As Long
Declare Function SetCommBreak Lib "kernel32" (ByVal nCid As Long) As Long
Declare Function SetCommMask Lib "kernel32" (ByVal hFile As Long, ByVal dwEvtMask As Long) As Long
Declare Function SetupComm Lib "kernel32" (ByVal hFile As Long, ByVal dwInQueue As Long, ByVal dwOutQueue As Long) As Long

Declare Function GetCommState Lib "kernel32" (ByVal nCid As Long, lpDCB As dcb) As Long
Declare Function GetCommTimeouts Lib "kernel32" (ByVal hFile As Long, lpCommTimeouts As COMMTIMEOUTS) As Long
Declare Function GetCommMask Lib "kernel32" (ByVal hFile As Long, lpEvtMask As Long) As Long
Declare Function GetCommProperties Lib "kernel32" (ByVal hFile As Long, lpCommProp As COMMPROP) As Long
Declare Function GetCommModemStatus Lib "kernel32" (ByVal hFile As Long, lpModemStat As Long) As Long

Declare Function PurgeComm Lib "kernel32" (ByVal hFile As Long, ByVal dwFlags As Long) As Long

Declare Function TransmitCommChar Lib "kernel32" (ByVal nCid As Long, ByVal cChar As Byte) As Long
'Declare Function WaitCommEvent Lib "kernel32" (ByVal hFile As Long, lpEvtMask As Long, lpOverlapped As OVERLAPPED) As Long


' COMM stuff from WIN32API.TXT

' Serial provider type.
Const SP_SERIALCOMM = &H1&

' Provider SubTypes
Const PST_UNSPECIFIED = &H0&
Const PST_RS232 = &H1&
Const PST_PARALLELPORT = &H2&
Const PST_RS422 = &H3&
Const PST_RS423 = &H4&
Const PST_RS449 = &H5&
Const PST_FAX = &H21&
Const PST_SCANNER = &H22&
Const PST_NETWORK_BRIDGE = &H100&
Const PST_LAT = &H101&
Const PST_TCPIP_TELNET = &H102&
Const PST_X25 = &H103&

' Provider capabilities flags.
Const PCF_DTRDSR = &H1&
Const PCF_RTSCTS = &H2&
Const PCF_RLSD = &H4&
Const PCF_PARITY_CHECK = &H8&
Const PCF_XONXOFF = &H10&
Const PCF_SETXCHAR = &H20&
Const PCF_TOTALTIMEOUTS = &H40&
Const PCF_INTTIMEOUTS = &H80&
Const PCF_SPECIALCHARS = &H100&
Const PCF_16BITMODE = &H200&

' Comm provider settable parameters.
Const SP_PARITY = &H1&
Const SP_BAUD = &H2&
Const SP_DATABITS = &H4&
Const SP_STOPBITS = &H8&
Const SP_HANDSHAKING = &H10&
Const SP_PARITY_CHECK = &H20&
Const SP_RLSD = &H40&

' Settable baud rates in the provider.
Const BAUD_075 = &H1&
Const BAUD_110 = &H2&
Const BAUD_134_5 = &H4&
Const BAUD_150 = &H8&
Const BAUD_300 = &H10&
Const BAUD_600 = &H20&
Const BAUD_1200 = &H40&
Const BAUD_1800 = &H80&
Const BAUD_2400 = &H100&
Const BAUD_4800 = &H200&
Const BAUD_7200 = &H400&
Const BAUD_9600 = &H800&
Const BAUD_14400 = &H1000&
Const BAUD_19200 = &H2000&
Const BAUD_38400 = &H4000&
Const BAUD_56K = &H8000&
Const BAUD_128K = &H10000
Const BAUD_115200 = &H20000
Const BAUD_57600 = &H40000
Const BAUD_USER = &H10000000

' Settable Data Bits
Const DATABITS_5 = &H1&
Const DATABITS_6 = &H2&
Const DATABITS_7 = &H4&
Const DATABITS_8 = &H8&
Const DATABITS_16 = &H10&
Const DATABITS_16X = &H20&

' Settable Stop and Parity bits.
Const STOPBITS_10 = &H1&
Const STOPBITS_15 = &H2&
Const STOPBITS_20 = &H4&
Const PARITY_NONE = &H100&
Const PARITY_ODD = &H200&
Const PARITY_EVEN = &H400&
Const PARITY_MARK = &H800&
Const PARITY_SPACE = &H1000&

Type COMMPROP
wPacketLength As Integer
wPacketVersion As Integer
dwServiceMask As Long
dwReserved1 As Long
dwMaxTxQueue As Long
dwMaxRxQueue As Long
dwMaxBaud As Long
dwProvSubType As Long
dwProvCapabilities As Long
dwSettableParams As Long
dwSettableBaud As Long
wSettableData As Integer
wSettableStopParity As Integer
dwCurrentTxQueue As Long
dwCurrentRxQueue As Long
dwProvSpec1 As Long
dwProvSpec2 As Long
wcProvChar(1) As Integer
End Type

'Type COMSTAT
' fCtsHold As Long
' fDsrHold As Long
' fRlsdHold As Long
' fXoffHold As Long
' fXoffSent As Long
' fEof As Long
' fTxim As Long
' fReserved As Long
' cbInQue As Long
' cbOutQue As Long
'End Type

Type COMSTAT
fBitFields As Long 'See Comment in Win32API.Txt
cbInQue As Long
cbOutQue As Long
End Type
' The eight actual COMSTAT bit-sized data fields within the four bytes of fBitFields can be manipulated by bitwise logical And/Or operations.
' FieldName Bit # Description
' --------- ----- ---------------------------
' fCtsHold 1 Tx waiting for CTS signal
' fDsrHold 2 Tx waiting for DSR signal
' fRlsdHold 3 Tx waiting for RLSD signal
' fXoffHold 4 Tx waiting, XOFF char rec'd
' fXoffSent 5 Tx waiting, XOFF char sent
' fEof 6 EOF character sent
' fTxim 7 character waiting for Tx
' fReserved 8 reserved (25 bits)

' DTR Control Flow Values.
Const DTR_CONTROL_DISABLE = &H0
Const DTR_CONTROL_ENABLE = &H1
Const DTR_CONTROL_HANDSHAKE = &H2

' RTS Control Flow Values
Const RTS_CONTROL_DISABLE = &H0
Const RTS_CONTROL_ENABLE = &H1
Const RTS_CONTROL_HANDSHAKE = &H2
Const RTS_CONTROL_TOGGLE = &H3

'Type DCB
' DCBlength As Long
' BaudRate As Long
' fBinary As Long
' fParity As Long
' fOutxCtsFlow As Long
' fOutxDsrFlow As Long
' fDtrControl As Long
' fDsrSensitivity As Long
' fTXContinueOnXoff As Long
' fOutX As Long
' fInX As Long
' fErrorChar As Long
' fNull As Long
' fRtsControl As Long
' fAbortOnError As Long
' fDummy2 As Long
' wReserved As Integer
' XonLim As Integer
' XoffLim As Integer
' ByteSize As Byte
' Parity As Byte
' StopBits As Byte
' XonChar As Byte
' XoffChar As Byte
' ErrorChar As Byte
' EofChar As Byte
' EvtChar As Byte
'End Type

Type dcb
DCBlength As Long
BaudRate As Long
fBitFields As Long 'See Comments in Win32API.Txt
wReserved As Integer
XonLim As Integer
XoffLim As Integer
ByteSize As Byte
Parity As Byte
StopBits As Byte
XonChar As Byte
XoffChar As Byte
ErrorChar As Byte
EofChar As Byte
EvtChar As Byte
wReserved1 As Integer 'Reserved; Do Not Use
End Type
' The fourteen actual DCB bit-sized data fields within the four bytes of fBitFields can be manipulated by bitwise logical And/Or operations.
' FieldName Bit # Description
' ----------------- ----- ------------------------------
' fBinary 1 binary mode, no EOF check
' fParity 2 enable parity checking
' fOutxCtsFlow 3 CTS output flow control
' fOutxDsrFlow 4 DSR output flow control
' fDtrControl 5 DTR flow control type (2 bits)
' fDsrSensitivity 7 DSR sensitivity
' fTXContinueOnXoff 8 XOFF continues Tx
' fOutX 9 XON/XOFF out flow control
' fInX 10 XON/XOFF in flow control
' fErrorChar 11 enable error replacement
' fNull 12 enable null stripping
' fRtsControl 13 RTS flow control (2 bits)
' fAbortOnError 15 abort reads/writes on error
' fDummy2 16 reserved

Type COMMTIMEOUTS
ReadIntervalTimeout As Long
ReadTotalTimeoutMultiplier As Long
ReadTotalTimeoutConstant As Long
WriteTotalTimeoutMultiplier As Long
WriteTotalTimeoutConstant As Long
End Type


Sub Main()

Dim fHandle As Long
Dim fSuccess As Long
Dim sTest As String
Dim lBytesWritten As Long
Dim BytesToWrite As Long

Dim ComDcb As dcb
Dim ret As Long

Dim myByte() As Byte
Dim AT_CMD As String

'撱箇��COM1���蝺�
fHandle = CreateFile("COM1", GENERIC_WRITE Or GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)
If fHandle <> INVALID_HANDLE_VALUE Then
'���敺�COM Port������憪�閮剖�����
ret = GetCommState(fHandle, ComDcb)
If ret = 0 Then
MsgBox "GetCommState error!"
End If
'��湔�孵�喲����� 9600
'��嗡����������貉����湔�亙����低omDcb������銵�
ComDcb.BaudRate = 9600
'閮剖��COM Port
ret = SetCommState(fHandle, ComDcb)
If ret = 0 Then
MsgBox "SetCommState error!"
End If


'��函�����隞文����券�����
'�����曉�冽�舐�皂odem���at��賭誘

MsgBox "Press OK to send ATA"

AT_CMD = "ata" & vbCrLf

'��喲����賭誘
myByte = StrConv(AT_CMD, vbFromUnicode)
fSuccess = WriteFile(fHandle, myByte(0), Len(AT_CMD), lBytesWritten, 0)
If fSuccess <> 0 Then fSuccess = FlushFileBuffers(fHandle)

MsgBox "Press OK to send ATH"

AT_CMD = "ath" & vbCrLf

'��喲����賭誘
myByte = StrConv(AT_CMD, vbFromUnicode)
fSuccess = WriteFile(fHandle, myByte(0), Len(AT_CMD), lBytesWritten, 0)
If fSuccess <> 0 Then fSuccess = FlushFileBuffers(fHandle)

MsgBox "Press OK to close COM Port"

fSuccess = CloseHandle(fHandle)

Else

MsgBox "Error calling CreateFile API function"

End If

End Sub

星期日, 7月 11, 2004

Using COM Port API with VB

COM1 => OPEN_EXISTING

http://www.yesky.com/SoftChannel/72342371928637440/20040417/1788826_1.shtml

long hfile= CreateFile("c:\\test.txt", GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_
WRITE,NULL, OPEN_EXISTING,FILE_ELAG_OVERLAPPED,NULL)

OPEN"COM1:2400,N,8,1,BIN"FOR RANDOM AS #1

http://support.microsoft.com/default.aspx?scid=kb;en-us;823179&Product=vb6

API define:

Private Declare Function CreateFile Lib "kernel32.dll" Alias "CreateFileA" _
(ByVal lpFileName As String, ByVal dwDesiredAccess As Long, _
ByVal dwShareMode As Long, lpSecurityAttributes As Any, _
ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, _
ByVal hTemplateFile As Long) As Long

Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As
Long) _
As Long

Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long,ByVal lpBuffer As String, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, lpOverlapped As Any) As Long

' CreateFile dwDesiredAccess Konstanten
Private Const GENERIC_READ = &H80000000 ' Nur Lesen
Private Const GENERIC_WRITE = &H40000000 ' Nur Schreiben

' CreateFile dwShareMode Konstanten
Private Const FILE_SHARE_READ = &H1
Private Const FILE_SHARE_WRITE = &H2

' CreateFile dwCreationDisposition Konstanten
' ===========================================
' Erstellt eine neue Datei und uberschreibt eine bereits vorhandene
Private Const CREATE_ALWAYS = 2
' Erstellt eine neue Datei nur, wenn sie noch nicht existiert
Private Const CREATE_NEW = 1
' Offnet eine bereits vorhande Datei bzw. erstellt diese,
' wenn sie noch nicht existiert
Private Const OPEN_ALWAYS = 4
' Offnet eine bereits vorhandene Datei
Private Const OPEN_EXISTING = 3
' Offnet eine bereits vorhandene Datei und loscht den Inhalt
Private Const TRUNCATE_EXISTING = 5


Private Sub Command1_Click()

'On Error Resume Next
'Open "COM1:9600,N,8,1" For Output As #1
'If Err > 0 Then
' MsgBox "Oen error"
'Else
' Print #1, "atz"
' Print #1, "atz"
' Print #1, "atz"
' Print #1, "atz"
' Close #1
'End If

Dim hCOM As Long
Dim r As Long
Dim COM_Cmd As String
Dim slen As Long

COM_Cmd = "atz" & vbCrLf

hCOM = CreateFile("COM1", GENERIC_WRITE, 0, 0&, OPEN_EXISTING, 0, 0)
r = WriteFile(hCOM, COM_Cmd, LenB(COM_Cmd), slen, ByVal 0&)
r = CloseHandle(hCOM)

End Sub