diff -Nru alsa-utils-1.0.15/alsaconf/po/ja.po alsa-utils-1.0.16/alsaconf/po/ja.po --- alsa-utils-1.0.15/alsaconf/po/ja.po 2008-08-14 15:36:10.000000000 +0100 +++ alsa-utils-1.0.16/alsaconf/po/ja.po 2008-02-05 09:25:23.000000000 +0000 @@ -51,18 +51,15 @@ " -m|--modinfo カード DB を読む代わりにモジュール記述を読み込み\n" " -s|--sound WAVファイル\n" " 指定の WAV ファイルをテスト音として用いる\n" -" -u|--uid uid ALSA デバイスの uid (デフォルト = 0) [旧オプション・無視され" -"ます]\n" +" -u|--uid uid ALSA デバイスの uid (デフォルト = 0) [旧オプション・無視されます]\n" " -g|--gid gid ALSA デバイスの gid (デフォルト = 0) [旧]\\n\"\n" " -d|--devmode モード\n" " ALSA デバイスのパーミッション(デフォルト = 0666) [旧]\n" " -r|--strict 厳格なモード (-g 17 -d 0660 と同等) [旧]\n" " -L|--log file 指定のファイルにログを記録する (デバッグ用途)\n" " -p|--probe カード名\n" -" 指定の 非IsaPnP カードを検索しモジュールオプションを表示す" -"る\n" -" -P|--listprobe サポートされている旧式の(非isapnp)カードのモジュール一覧表" -"示\n" +" 指定の 非IsaPnP カードを検索しモジュールオプションを表示する\n" +" -P|--listprobe サポートされている旧式の(非isapnp)カードのモジュール一覧表示\n" " -c|--config ファイル\n" " 指定のモジュール設定ファイルを用いる\n" " -R|--resources レガシーデバイスのデバッグ用: 可能な DMA と IRQ を表示する\n" @@ -363,62 +360,3 @@ " PnP または PCI カードが検出されませんでした。\n" "\n" " 旧式の ISA サウンドカードの検出を行いますか?\n" - -#: ../alsaconf.in:74 -msgid "" -"usage: alsaconf [options]\n" -" -l|--legacy check only legacy non-isapnp cards\n" -" -m|--modinfo read module descriptions instead of reading card db\n" -" -s|--sound wav-file\n" -" use the specified wav file as a test sound\n" -" -u|--uid uid set the uid for the ALSA devices (default = 0) [obsoleted]\n" -" -g|--gid gid set the gid for the ALSA devices (default = 0) [obsoleted]\n" -" -d|--devmode mode\n" -" set the permission for ALSA devices (default = 0666) " -"[obs.]\n" -" -r|--strict set strict device mode (equiv. with -g 17 -d 0660) " -"[obsoleted]\n" -" -L|--log file logging on the specified file (for debugging purpose only)\n" -" -p|--probe card-name\n" -" probe a legacy non-isapnp card and print module options\n" -" -P|--listprobe list the supported legacy card modules\n" -" -c|--config file\n" -" specify the module config file\n" -" -h|--help what you're reading" -msgstr "" -"使用法: alsaconf [オプション]\n" -" -l|--legacy 非 ISAPnP カードのみチェックする\n" -" -m|--modinfo カード DB を読む代わりにモジュール記述を読み込み\n" -" -s|--sound WAVファイル\n" -" 指定の WAV ファイルをテスト音として用いる\n" -" -u|--uid uid ALSA デバイスの uid (デフォルト = 0) [旧オプション・無視され" -"ます]\n" -" -g|--gid gid ALSA デバイスの gid (デフォルト = 0) [旧]\\n\"\n" -" -d|--devmode モード\n" -" ALSA デバイスのパーミッション(デフォルト = 0666) [旧]\n" -" -r|--strict 厳格なモード (-g 17 -d 0660 と同等) [旧]\n" -" -L|--log file 指定のファイルにログを記録する (デバッグ用途)\n" -" -p|--probe カード名\n" -" 指定の 非IsaPnP カードを検索しモジュールオプションを表示す" -"る\n" -" -P|--listprobe サポートされている旧式の(非isapnp)カードのモジュール一覧表" -"示\n" -" -c|--config ファイル\n" -" 指定のモジュール設定ファイルを用いる\n" -" -h|--help 今見ています" - -#: ../alsaconf.in:1045 -msgid "" -"\n" -" Probing legacy ISA cards might make\n" -" your system unstable.\n" -"\n" -" Are you sure to proceed?\n" -"\n" -msgstr "" -"\n" -" 旧式の ISA カードの検索を行うと\n" -" システムが不安定になる場合があります。\n" -"\n" -" このまま続けますか?\n" -"\n" diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/alsaconf/po/ru.po /tmp/iwhLheC4Qp/alsa-utils-1.0.16/alsaconf/po/ru.po --- alsa-utils-1.0.15/alsaconf/po/ru.po 2008-08-14 15:36:10.000000000 +0100 +++ alsa-utils-1.0.16/alsaconf/po/ru.po 2008-02-05 09:25:23.000000000 +0000 @@ -371,61 +371,3 @@ "\n" " Желаете проверить ISA звуковые карты/чипы?\n" "\n" - -#: ../alsaconf.in:74 -msgid "" -"usage: alsaconf [options]\n" -" -l|--legacy check only legacy non-isapnp cards\n" -" -m|--modinfo read module descriptions instead of reading card db\n" -" -s|--sound wav-file\n" -" use the specified wav file as a test sound\n" -" -u|--uid uid set the uid for the ALSA devices (default = 0) [obsoleted]\n" -" -g|--gid gid set the gid for the ALSA devices (default = 0) [obsoleted]\n" -" -d|--devmode mode\n" -" set the permission for ALSA devices (default = 0666) " -"[obs.]\n" -" -r|--strict set strict device mode (equiv. with -g 17 -d 0660) " -"[obsoleted]\n" -" -L|--log file logging on the specified file (for debugging purpose only)\n" -" -p|--probe card-name\n" -" probe a legacy non-isapnp card and print module options\n" -" -P|--listprobe list the supported legacy card modules\n" -" -c|--config file\n" -" specify the module config file\n" -" -h|--help what you're reading" -msgstr "" -"использование: alsaconf [опции]\n" -" -l|--legacy проверять только не ISAPnP карты\n" -" -m|--modinfo читать описание модулей вместо чтения бызы данных карт\n" -" -s|--sound WAV файл\n" -" использовать указанный WAV файл в качестве тестового\n" -" -u|--uid uid устанавливает uid для ALSA(по умолчанию = 0) [устарело]\n" -" -g|--gid gid устанавливает gid для ALSA(по умолчанию = 0) [устарело]\n" -" -d|--devmode режим\n" -" устанавливает права доступа для ALSA (по умолчанию = 0666) " -"[уст.]\n" -" -r|--strict устанавливает строгие права для ALSA (экв. -g 17 -d 0660) " -"[уст.]\n" -" -L|--log файл записывать события в определенный файл (в целях отладки)\n" -" -p|--probe имя звуковой карты\n" -" проверить обычную не IsaPnP карту и вывести опции модуля\n" -" -P|--listprobe вывести список поддерживаемых не IsaPnP карт\n" -" -c|--config файл\n" -" указывает файл с настройками модуля\n" -" -h|--help вывести это сообщение" - -#: ../alsaconf.in:1045 -msgid "" -"\n" -" Probing legacy ISA cards might make\n" -" your system unstable.\n" -"\n" -" Are you sure to proceed?\n" -"\n" -msgstr "" -"\n" -" Поиск ISA звуковых карточек может сделать\n" -" вашу систему нестабильной.\n" -"\n" -" Вы уверены?\n" -"\n" diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/alsactl/alsactl.1 /tmp/iwhLheC4Qp/alsa-utils-1.0.16/alsactl/alsactl.1 --- alsa-utils-1.0.15/alsactl/alsactl.1 2007-10-15 09:46:57.000000000 +0100 +++ alsa-utils-1.0.16/alsactl/alsactl.1 2008-02-05 09:25:23.000000000 +0000 @@ -41,7 +41,12 @@ .TP \fI\-F, \-\-force\fP Used with restore command. Try to restore the matching control elements -as much as possible. +as much as possible. This option is set as default now. + +.TP +\fI\-P, \-\-pedantic\fP +Used with restore command. Don't restore mismatching control elements. +This option was the old default behavior. .TP \fI\-d, \-\-debug\fP diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/alsactl/alsactl.c /tmp/iwhLheC4Qp/alsa-utils-1.0.16/alsactl/alsactl.c --- alsa-utils-1.0.15/alsactl/alsactl.c 2007-10-15 09:46:57.000000000 +0100 +++ alsa-utils-1.0.16/alsactl/alsactl.c 2008-02-05 09:25:23.000000000 +0000 @@ -34,7 +34,7 @@ #define SYS_ASOUNDNAMES "/etc/asound.names" int debugflag = 0; -int force_restore = 0; +int force_restore = 1; char *command; static void help(void) @@ -44,6 +44,8 @@ printf(" -h,--help this help\n"); printf(" -f,--file # configuration file (default " SYS_ASOUNDRC " or " SYS_ASOUNDNAMES ")\n"); printf(" -F,--force try to restore the matching controls as much as possible\n"); + printf(" (default mode)\n"); + printf(" -P,--pedantic don't restore mismatching controls (old default)\n"); printf(" -d,--debug debug mode\n"); printf(" -v,--version print version of this program\n"); printf("\nAvailable commands:\n"); @@ -62,6 +64,7 @@ {"help", 0, NULL, 'h'}, {"file", 1, NULL, 'f'}, {"force", 0, NULL, 'F'}, + {"pedantic", 0, NULL, 'P'}, {"debug", 0, NULL, 'd'}, {"version", 0, NULL, 'v'}, {NULL, 0, NULL, 0}, @@ -85,6 +88,9 @@ case 'F': force_restore = 1; break; + case 'P': + force_restore = 0; + break; case 'd': debugflag = 1; break; diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/alsactl/state.c /tmp/iwhLheC4Qp/alsa-utils-1.0.16/alsactl/state.c --- alsa-utils-1.0.15/alsactl/state.c 2007-10-15 09:46:57.000000000 +0100 +++ alsa-utils-1.0.16/alsactl/state.c 2008-02-05 09:25:23.000000000 +0000 @@ -188,6 +188,46 @@ return tlv; } +/* + * add the TLV string and dB ranges to comment fields + */ +static int add_tlv_comments(snd_ctl_t *handle, snd_ctl_elem_id_t *id, + snd_ctl_elem_info_t *info, snd_config_t *comment) +{ + unsigned int tlv[MAX_USER_TLV_SIZE]; + unsigned int *db; + long dbmin, dbmax; + int err; + + if (snd_ctl_elem_tlv_read(handle, id, tlv, sizeof(tlv)) < 0) + return 0; /* ignore error */ + + if (snd_ctl_elem_info_is_tlv_writable(info)) { + char *s = tlv_to_str(tlv); + if (s) { + err = snd_config_string_add(comment, "tlv", s); + if (err < 0) { + error("snd_config_string_add: %s", snd_strerror(err)); + return err; + } + free(s); + } + } + + err = snd_tlv_parse_dB_info(tlv, sizeof(tlv), &db); + if (err <= 0) + return 0; + + snd_tlv_get_dB_range(db, snd_ctl_elem_info_get_min(info), + snd_ctl_elem_info_get_max(info), + &dbmin, &dbmax); + if (err < 0) + return err; + snd_config_integer_add(comment, "dbmin", dbmin); + snd_config_integer_add(comment, "dbmax", dbmax); + return 0; +} + static int get_control(snd_ctl_t *handle, snd_ctl_elem_id_t *id, snd_config_t *top) { snd_ctl_elem_value_t *ctl; @@ -210,7 +250,8 @@ return err; } - if (!snd_ctl_elem_info_is_readable(info)) + if (snd_ctl_elem_info_is_inactive(info) || + !snd_ctl_elem_info_is_readable(info)) return 0; snd_ctl_elem_value_set_id(ctl, id); err = snd_ctl_elem_read(handle, ctl); @@ -285,23 +326,11 @@ error("snd_config_string_add: %s", snd_strerror(err)); return err; } - if (snd_ctl_elem_info_is_tlv_readable(info) && - snd_ctl_elem_info_is_tlv_writable(info)) { - unsigned int tlv[MAX_USER_TLV_SIZE]; - err = snd_ctl_elem_tlv_read(handle, id, tlv, sizeof(tlv)); - if (err >= 0) { - char *s = tlv_to_str(tlv); - if (s) { - err = snd_config_string_add(comment, "tlv", s); - if (err < 0) { - error("snd_config_string_add: %s", snd_strerror(err)); - return err; - } - free(s); - } - } + if (snd_ctl_elem_info_is_tlv_readable(info)) { + err = add_tlv_comments(handle, id, info, comment); + if (err < 0) + return err; } - break; } case SND_CTL_ELEM_TYPE_INTEGER64: @@ -651,6 +680,7 @@ const char *str; long val; long long lval; + switch (snd_config_get_type(n)) { case SND_CONFIG_TYPE_INTEGER: snd_config_get_integer(n, &val); @@ -665,6 +695,11 @@ case SND_CONFIG_TYPE_STRING: snd_config_get_string(n, &str); break; + case SND_CONFIG_TYPE_COMPOUND: + if (!force_restore) + return -1; + n = snd_config_iterator_entry(snd_config_iterator_first(n)); + return config_bool(n); default: return -1; } @@ -682,6 +717,7 @@ long val; long long lval; unsigned int idx, items; + switch (snd_config_get_type(n)) { case SND_CONFIG_TYPE_INTEGER: snd_config_get_integer(n, &val); @@ -692,6 +728,11 @@ case SND_CONFIG_TYPE_STRING: snd_config_get_string(n, &str); break; + case SND_CONFIG_TYPE_COMPOUND: + if (!force_restore) + return -1; + n = snd_config_iterator_entry(snd_config_iterator_first(n)); + return config_enumerated(n, handle, info); default: return -1; } @@ -710,6 +751,30 @@ return -1; } +static int config_integer(snd_config_t *n, long *val) +{ + int err = snd_config_get_integer(n, val); + if (err < 0 && force_restore) { + if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) + return err; + n = snd_config_iterator_entry(snd_config_iterator_first(n)); + return config_integer(n, val); + } + return err; +} + +static int config_integer64(snd_config_t *n, long long *val) +{ + int err = snd_config_get_integer64(n, val); + if (err < 0 && force_restore) { + if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) + return err; + n = snd_config_iterator_entry(snd_config_iterator_first(n)); + return config_integer64(n, val); + } + return err; +} + static int is_user_control(snd_config_t *conf) { snd_config_iterator_t i, next; @@ -729,6 +794,56 @@ return 0; } +/* + * get the item type from the given comment config + */ +static int get_comment_type(snd_config_t *n) +{ + const char *type; + + if (snd_config_get_string(n, &type) < 0) + return -EINVAL; + if (strcmp(type, "BOOLEAN") == 0) + return SND_CTL_ELEM_TYPE_BOOLEAN; + else if (strcmp(type, "INTEGER") == 0) + return SND_CTL_ELEM_TYPE_INTEGER; + else if (strcmp(type, "ENUMERATED") == 0) + return SND_CTL_ELEM_TYPE_ENUMERATED; + else if (strcmp(type, "INTEGER64") == 0) + return SND_CTL_ELEM_TYPE_INTEGER; + else if (strcmp(type, "IEC958") == 0) + return SND_CTL_ELEM_TYPE_IEC958; + else + return -EINVAL; +} + +/* + * get the value range from the given comment config + */ +static int get_comment_range(snd_config_t *n, int ctype, + long *imin, long *imax, long *istep) +{ + const char *s; + int err; + + if (snd_config_get_string(n, &s) < 0) + return -EINVAL; + switch (ctype) { + case SND_CTL_ELEM_TYPE_INTEGER: + err = sscanf(s, "%li - %li (step %li)", imin, imax, istep); + if (err != 3) { + istep = 0; + err = sscanf(s, "%li - %li", imin, imax); + if (err != 2) + return -EINVAL; + } + break; + default: + return -EINVAL; + } + return 0; +} + static int add_user_control(snd_ctl_t *handle, snd_ctl_elem_info_t *info, snd_config_t *conf) { snd_ctl_elem_id_t *id; @@ -745,39 +860,20 @@ tlv = NULL; snd_config_for_each(i, next, conf) { snd_config_t *n = snd_config_iterator_entry(i); - const char *id, *type; + const char *id; if (snd_config_get_id(n, &id) < 0) continue; if (strcmp(id, "type") == 0) { - if ((err = snd_config_get_string(n, &type)) < 0) - return -EINVAL; - if (strcmp(type, "BOOLEAN") == 0) - ctype = SND_CTL_ELEM_TYPE_BOOLEAN; - else if (strcmp(type, "INTEGER") == 0) - ctype = SND_CTL_ELEM_TYPE_INTEGER; - else if (strcmp(type, "IEC958") == 0) - ctype = SND_CTL_ELEM_TYPE_IEC958; - else - return -EINVAL; + err = get_comment_type(n); + if (err < 0) + return err; + ctype = err; continue; } if (strcmp(id, "range") == 0) { - const char *s; - if ((err = snd_config_get_string(n, &s)) < 0) - return -EINVAL; - switch (ctype) { - case SND_CTL_ELEM_TYPE_INTEGER: - err = sscanf(s, "%li - %li (step %li)", &imin, &imax, &istep); - if (err != 3) { - istep = 0; - err = sscanf(s, "%li - %li", &imin, &imax); - if (err != 2) - return -EINVAL; - } - break; - default: - return -EINVAL; - } + err = get_comment_range(n, ctype, &imin, &imax, &istep); + if (err < 0) + return err; continue; } if (strcmp(id, "count") == 0) { @@ -831,6 +927,213 @@ return snd_ctl_elem_info(handle, info); } +/* + * look for a config node with the given item name + */ +static snd_config_t *search_comment_item(snd_config_t *conf, const char *name) +{ + snd_config_iterator_t i, next; + snd_config_for_each(i, next, conf) { + snd_config_t *n = snd_config_iterator_entry(i); + const char *id; + if (snd_config_get_id(n, &id) < 0) + continue; + if (strcmp(id, name) == 0) + return n; + } + return NULL; +} + +/* + * check whether the config item has the same of compatible type + */ +static int check_comment_type(snd_config_t *conf, int type) +{ + snd_config_t *n = search_comment_item(conf, "type"); + int ctype; + + if (!n) + return 0; /* not defined */ + ctype = get_comment_type(n); + if (ctype == type) + return 0; + if ((ctype == SND_CTL_ELEM_TYPE_BOOLEAN || + ctype == SND_CTL_ELEM_TYPE_INTEGER || + ctype == SND_CTL_ELEM_TYPE_INTEGER64 || + ctype == SND_CTL_ELEM_TYPE_ENUMERATED) && + (type == SND_CTL_ELEM_TYPE_BOOLEAN || + type == SND_CTL_ELEM_TYPE_INTEGER || + type == SND_CTL_ELEM_TYPE_INTEGER64 || + type == SND_CTL_ELEM_TYPE_ENUMERATED)) + return 0; /* OK, compatible */ + return -EINVAL; +} + +/* + * convert from an old value to a new value with the same dB level + */ +static int convert_to_new_db(snd_config_t *value, long omin, long omax, + long nmin, long nmax, + long odbmin, long odbmax, + long ndbmin, long ndbmax) +{ + long val; + if (config_integer(value, &val) < 0) + return -EINVAL; + if (val < omin || val > omax) + return -EINVAL; + val = ((val - omin) * (odbmax - odbmin)) / (omax - omin) + odbmin; + if (val < ndbmin) + val = ndbmin; + else if (val > ndbmax) + val = ndbmax; + val = ((val - ndbmin) * (nmax - nmin)) / (ndbmax - ndbmin) + nmin; + return snd_config_set_integer(value, val); +} + +/* + * compare the current value range with the old range in comments. + * also, if dB information is available, try to compare them. + * if any change occurs, try to keep the same dB level. + */ +static int check_comment_range(snd_ctl_t *handle, snd_config_t *conf, + snd_ctl_elem_info_t *info, snd_config_t *value) +{ + snd_config_t *n; + long omin, omax, ostep; + long nmin, nmax; + long odbmin, odbmax; + long ndbmin, ndbmax; + snd_ctl_elem_id_t *id; + + n = search_comment_item(conf, "range"); + if (!n) + return 0; + if (get_comment_range(n, SND_CTL_ELEM_TYPE_INTEGER, + &omin, &omax, &ostep) < 0) + return 0; + nmin = snd_ctl_elem_info_get_min(info); + nmax = snd_ctl_elem_info_get_max(info); + if (omin != nmin && omax != nmax) { + /* Hey, the range mismatches */ + if (!force_restore) + return -EINVAL; + } + if (omin >= omax || nmin >= nmax) + return 0; /* invalid values */ + + n = search_comment_item(conf, "dbmin"); + if (!n) + return 0; + if (config_integer(n, &odbmin) < 0) + return 0; + n = search_comment_item(conf, "dbmax"); + if (!n) + return 0; + if (config_integer(n, &odbmax) < 0) + return 0; + if (odbmin >= odbmax) + return 0; /* invalid values */ + snd_ctl_elem_id_alloca(&id); + snd_ctl_elem_info_get_id(info, id); + if (snd_ctl_get_dB_range(handle, id, &ndbmin, &ndbmax) < 0) + return 0; + if (ndbmin >= ndbmax) + return 0; /* invalid values */ + if (omin == nmin && omax == nmax && + odbmin == ndbmin && odbmax == ndbmax) + return 0; /* OK, identical one */ + + /* Let's guess the current value from dB range */ + if (snd_config_get_type(value) == SND_CONFIG_TYPE_COMPOUND) { + snd_config_iterator_t i, next; + snd_config_for_each(i, next, value) { + snd_config_t *n = snd_config_iterator_entry(i); + convert_to_new_db(n, omin, omax, nmin, nmax, + odbmin, odbmax, ndbmin, ndbmax); + } + } else + convert_to_new_db(value, omin, omax, nmin, nmax, + odbmin, odbmax, ndbmin, ndbmax); + return 0; +} + +static int restore_config_value(snd_ctl_t *handle, snd_ctl_elem_info_t *info, + snd_ctl_elem_iface_t type, + snd_config_t *value, + snd_ctl_elem_value_t *ctl, int idx) +{ + long val; + long long lval; + int err; + + switch (type) { + case SND_CTL_ELEM_TYPE_BOOLEAN: + val = config_bool(value); + if (val >= 0) { + snd_ctl_elem_value_set_boolean(ctl, idx, val); + return 1; + } + break; + case SND_CTL_ELEM_TYPE_INTEGER: + err = config_integer(value, &val); + if (err == 0) { + snd_ctl_elem_value_set_integer(ctl, idx, val); + return 1; + } + break; + case SND_CTL_ELEM_TYPE_INTEGER64: + err = config_integer64(value, &lval); + if (err == 0) { + snd_ctl_elem_value_set_integer64(ctl, idx, lval); + return 1; + } + break; + case SND_CTL_ELEM_TYPE_ENUMERATED: + val = config_enumerated(value, handle, info); + if (val >= 0) { + snd_ctl_elem_value_set_enumerated(ctl, idx, val); + return 1; + } + break; + case SND_CTL_ELEM_TYPE_BYTES: + case SND_CTL_ELEM_TYPE_IEC958: + break; + default: + error("Unknow control type: %d", type); + return -EINVAL; + } + return 0; +} + +static int restore_config_value2(snd_ctl_t *handle, snd_ctl_elem_info_t *info, + snd_ctl_elem_iface_t type, + snd_config_t *value, + snd_ctl_elem_value_t *ctl, int idx, + unsigned int numid) +{ + int err = restore_config_value(handle, info, type, value, ctl, idx); + long val; + + if (err != 0) + return err; + switch (type) { + case SND_CTL_ELEM_TYPE_BYTES: + case SND_CTL_ELEM_TYPE_IEC958: + err = snd_config_get_integer(value, &val); + if (err < 0 || val < 0 || val > 255) { + error("bad control.%d.value.%d content", numid, idx); + return force_restore ? 0 : -EINVAL; + } + snd_ctl_elem_value_set_byte(ctl, idx, val); + return 1; + break; + default: + break; + } + return 0; +} + static int set_control(snd_ctl_t *handle, snd_config_t *control) { snd_ctl_elem_value_t *ctl; @@ -852,8 +1155,6 @@ long index = -1; snd_config_t *value = NULL; snd_config_t *comment = NULL; - long val; - long long lval; unsigned int idx; int err; char *set; @@ -994,56 +1295,29 @@ return -ENOENT; } -#if 0 if (comment) { - check_comment_type(comment, type); - if (type == SND_CTL_ELEM_TYPE_INTEGER || - type == SND_CTL_ELEM_TYPE_INTEGER64) - check_comment_range(comment, info); + if (check_comment_type(comment, type) < 0) + error("incompatible field type for control #%d", numid); + if (type == SND_CTL_ELEM_TYPE_INTEGER) { + if (check_comment_range(handle, comment, info, value) < 0) { + error("value range mismatch for control #%d", + numid); + return -EINVAL; + } + } } -#endif - if (!snd_ctl_elem_info_is_writable(info)) + if (snd_ctl_elem_info_is_inactive(info) || + !snd_ctl_elem_info_is_writable(info)) return 0; snd_ctl_elem_value_set_numid(ctl, numid1); if (count == 1) { - switch (type) { - case SND_CTL_ELEM_TYPE_BOOLEAN: - val = config_bool(value); - if (val >= 0) { - snd_ctl_elem_value_set_boolean(ctl, 0, val); - goto _ok; - } - break; - case SND_CTL_ELEM_TYPE_INTEGER: - err = snd_config_get_integer(value, &val); - if (err == 0) { - snd_ctl_elem_value_set_integer(ctl, 0, val); - goto _ok; - } - break; - case SND_CTL_ELEM_TYPE_INTEGER64: - err = snd_config_get_integer64(value, &lval); - if (err == 0) { - snd_ctl_elem_value_set_integer64(ctl, 0, lval); - goto _ok; - } - break; - case SND_CTL_ELEM_TYPE_ENUMERATED: - val = config_enumerated(value, handle, info); - if (val >= 0) { - snd_ctl_elem_value_set_enumerated(ctl, 0, val); - goto _ok; - } - break; - case SND_CTL_ELEM_TYPE_BYTES: - case SND_CTL_ELEM_TYPE_IEC958: - break; - default: - error("Unknow control type: %d", type); - return -EINVAL; - } + err = restore_config_value(handle, info, type, value, ctl, 0); + if (err < 0) + return err; + if (err > 0) + goto _ok; } switch (type) { case SND_CTL_ELEM_TYPE_BYTES: @@ -1080,8 +1354,17 @@ break; } if (snd_config_get_type(value) != SND_CONFIG_TYPE_COMPOUND) { - error("bad control.%d.value type", numid); - return -EINVAL; + if (!force_restore) { + error("bad control.%d.value type", numid); + return -EINVAL; + } + for (idx = 0; idx < count; ++idx) { + err = restore_config_value2(handle, info, type, value, + ctl, idx, numid); + if (err < 0) + return err; + } + goto _ok; } set = (char*) alloca(count); @@ -1095,59 +1378,22 @@ if (idx < 0 || idx >= count || set[idx]) { error("bad control.%d.value index", numid); - return -EINVAL; - } - switch (type) { - case SND_CTL_ELEM_TYPE_BOOLEAN: - val = config_bool(n); - if (val < 0) { - error("bad control.%d.value.%d content", numid, idx); - return -EINVAL; - } - snd_ctl_elem_value_set_boolean(ctl, idx, val); - break; - case SND_CTL_ELEM_TYPE_INTEGER: - err = snd_config_get_integer(n, &val); - if (err < 0) { - error("bad control.%d.value.%d content", numid, idx); + if (!force_restore) return -EINVAL; - } - snd_ctl_elem_value_set_integer(ctl, idx, val); - break; - case SND_CTL_ELEM_TYPE_INTEGER64: - err = snd_config_get_integer64(n, &lval); - if (err < 0) { - error("bad control.%d.value.%d content", numid, idx); - return -EINVAL; - } - snd_ctl_elem_value_set_integer64(ctl, idx, lval); - break; - case SND_CTL_ELEM_TYPE_ENUMERATED: - val = config_enumerated(n, handle, info); - if (val < 0) { - error("bad control.%d.value.%d content", numid, idx); - return -EINVAL; - } - snd_ctl_elem_value_set_enumerated(ctl, idx, val); - break; - case SND_CTL_ELEM_TYPE_BYTES: - case SND_CTL_ELEM_TYPE_IEC958: - err = snd_config_get_integer(n, &val); - if (err < 0 || val < 0 || val > 255) { - error("bad control.%d.value.%d content", numid, idx); - return -EINVAL; - } - snd_ctl_elem_value_set_byte(ctl, idx, val); - break; - default: - break; + continue; } - set[idx] = 1; + err = restore_config_value2(handle, info, type, n, + ctl, idx, numid); + if (err < 0) + return err; + if (err > 0) + set[idx] = 1; } for (idx = 0; idx < count; ++idx) { if (!set[idx]) { error("control.%d.value.%d is not specified", numid, idx); - return -EINVAL; + if (!force_restore) + return -EINVAL; } } diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/alsamixer/alsamixer.c /tmp/iwhLheC4Qp/alsa-utils-1.0.16/alsamixer/alsamixer.c --- alsa-utils-1.0.15/alsamixer/alsamixer.c 2007-10-15 09:46:57.000000000 +0100 +++ alsa-utils-1.0.16/alsamixer/alsamixer.c 2008-02-05 09:25:23.000000000 +0000 @@ -209,6 +209,7 @@ enum { MIXER_ELEM_FRONT, MIXER_ELEM_REAR, MIXER_ELEM_CENTER, MIXER_ELEM_WOOFER, + MIXER_ELEM_SIDE, MIXER_ELEM_CAPTURE, MIXER_ELEM_ENUM, MIXER_ELEM_CAPTURE_ENUM, MIXER_ELEM_END @@ -226,6 +227,7 @@ { SND_MIXER_SCHN_REAR_LEFT, SND_MIXER_SCHN_REAR_RIGHT }, { SND_MIXER_SCHN_FRONT_CENTER, SND_MIXER_SCHN_UNKNOWN }, { SND_MIXER_SCHN_WOOFER, SND_MIXER_SCHN_UNKNOWN }, + { SND_MIXER_SCHN_SIDE_LEFT, SND_MIXER_SCHN_SIDE_RIGHT }, { SND_MIXER_SCHN_FRONT_LEFT, SND_MIXER_SCHN_FRONT_RIGHT }, }; @@ -1752,7 +1754,7 @@ if (elem == NULL) CHECK_ABORT (ERR_FCN, "snd_mixer_find_selem()", -EINVAL); if ( (mixer_view == VIEW_PLAYBACK) || (mixer_view == VIEW_CHANNELS) ) { - for (i = MIXER_ELEM_FRONT; i <= MIXER_ELEM_WOOFER; i++) { + for (i = MIXER_ELEM_FRONT; i <= MIXER_ELEM_SIDE; i++) { int ok; for (j = ok = 0; j < 2; j++) { if (mixer_changed_state) diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/aplay/aplay.c /tmp/iwhLheC4Qp/alsa-utils-1.0.16/aplay/aplay.c --- alsa-utils-1.0.15/aplay/aplay.c 2007-10-15 09:46:57.000000000 +0100 +++ alsa-utils-1.0.16/aplay/aplay.c 2008-02-05 09:25:23.000000000 +0000 @@ -81,7 +81,6 @@ static int timelimit = 0; static int quiet_mode = 0; static int file_type = FORMAT_DEFAULT; -static unsigned int sleep_min = 0; static int open_mode = 0; static snd_pcm_stream_t stream = SND_PCM_STREAM_PLAYBACK; static int mmap_flag = 0; @@ -164,7 +163,6 @@ "-f, --format=FORMAT sample format (case insensitive)\n" "-r, --rate=# sample rate\n" "-d, --duration=# interrupt after # seconds\n" -"-s, --sleep-min=# min ticks to sleep\n" "-M, --mmap mmap stream\n" "-N, --nonblock nonblocking mode\n" "-F, --period-time=# distance between interrupts is # microseconds\n" @@ -176,7 +174,11 @@ " (relative to buffer size if <= 0)\n" "-T, --stop-delay=# delay for automatic PCM stop is # microseconds from xrun\n" "-v, --verbose show PCM structure and setup (accumulative)\n" -"-I, --separate-channels one file for each channel\n") +"-I, --separate-channels one file for each channel\n" +" --disable-resample disable automatic rate resample\n" +" --disable-channels disable automatic channel conversions\n" +" --disable-format disable automatic format conversions\n" +" --disable-softvol disable software volume control (softvol)\n") , command); printf(_("Recognized sample formats are:")); for (k = 0; k < SND_PCM_FORMAT_LAST; ++k) { @@ -333,13 +335,17 @@ enum { OPT_VERSION = 1, OPT_PERIOD_SIZE, - OPT_BUFFER_SIZE + OPT_BUFFER_SIZE, + OPT_DISABLE_RESAMPLE, + OPT_DISABLE_CHANNELS, + OPT_DISABLE_FORMAT, + OPT_DISABLE_SOFTVOL }; int main(int argc, char *argv[]) { int option_index; - char *short_options = "hnlLD:qt:c:f:r:d:s:MNF:A:R:T:B:vIPC"; + char *short_options = "hnlLD:qt:c:f:r:d:MNF:A:R:T:B:vIPC"; static struct option long_options[] = { {"help", 0, 0, 'h'}, {"version", 0, 0, OPT_VERSION}, @@ -353,7 +359,6 @@ {"format", 1, 0, 'f'}, {"rate", 1, 0, 'r'}, {"duration", 1, 0 ,'d'}, - {"sleep-min", 1, 0, 's'}, {"mmap", 0, 0, 'M'}, {"nonblock", 0, 0, 'N'}, {"period-time", 1, 0, 'F'}, @@ -367,6 +372,10 @@ {"separate-channels", 0, 0, 'I'}, {"playback", 0, 0, 'P'}, {"capture", 0, 0, 'C'}, + {"disable-resample", 0, 0, OPT_DISABLE_RESAMPLE}, + {"disable-channels", 0, 0, OPT_DISABLE_CHANNELS}, + {"disable-format", 0, 0, OPT_DISABLE_FORMAT}, + {"disable-softvol", 0, 0, OPT_DISABLE_SOFTVOL}, {0, 0, 0, 0} }; char *pcm_name = "default"; @@ -478,9 +487,6 @@ case 'd': timelimit = strtol(optarg, NULL, 0); break; - case 's': - sleep_min = strtol(optarg, NULL, 0); - break; case 'N': nonblock = 1; open_mode |= SND_PCM_NONBLOCK; @@ -526,6 +532,18 @@ if (file_type == FORMAT_DEFAULT) file_type = FORMAT_WAVE; break; + case OPT_DISABLE_RESAMPLE: + open_mode |= SND_PCM_NO_AUTO_RESAMPLE; + break; + case OPT_DISABLE_CHANNELS: + open_mode |= SND_PCM_NO_AUTO_CHANNELS; + break; + case OPT_DISABLE_FORMAT: + open_mode |= SND_PCM_NO_AUTO_FORMAT; + break; + case OPT_DISABLE_SOFTVOL: + open_mode |= SND_PCM_NO_SOFTVOL; + break; default: fprintf(stderr, _("Try `%s --help' for more information.\n"), command); return 1; @@ -869,7 +887,6 @@ snd_pcm_uframes_t buffer_size; int err; size_t n; - snd_pcm_uframes_t xfer_align; unsigned int rate; snd_pcm_uframes_t start_threshold, stop_threshold; snd_pcm_hw_params_alloca(¶ms); @@ -971,16 +988,6 @@ exit(EXIT_FAILURE); } snd_pcm_sw_params_current(handle, swparams); - err = snd_pcm_sw_params_get_xfer_align(swparams, &xfer_align); - if (err < 0) { - error(_("Unable to obtain xfer align\n")); - exit(EXIT_FAILURE); - } - if (sleep_min) - xfer_align = 1; - err = snd_pcm_sw_params_set_sleep_min(handle, swparams, - sleep_min); - assert(err >= 0); if (avail_min < 0) n = chunk_size; else @@ -988,7 +995,7 @@ err = snd_pcm_sw_params_set_avail_min(handle, swparams, n); /* round up to closest transfer boundary */ - n = (buffer_size / xfer_align) * xfer_align; + n = buffer_size; if (start_delay <= 0) { start_threshold = n + (double) rate * start_delay / 1000000; } else @@ -1006,9 +1013,6 @@ err = snd_pcm_sw_params_set_stop_threshold(handle, swparams, stop_threshold); assert(err >= 0); - err = snd_pcm_sw_params_set_xfer_align(handle, swparams, xfer_align); - assert(err >= 0); - if (snd_pcm_sw_params(handle, swparams) < 0) { error(_("unable to install sw params:")); snd_pcm_sw_params_dump(swparams, log); @@ -1249,8 +1253,7 @@ ssize_t r; ssize_t result = 0; - if (sleep_min == 0 && - count < chunk_size) { + if (count < chunk_size) { snd_pcm_format_set_silence(hwparams.format, data + count * bits_per_frame / 8, (chunk_size - count) * hwparams.channels); count = chunk_size; } @@ -1282,8 +1285,7 @@ ssize_t r; size_t result = 0; - if (sleep_min == 0 && - count != chunk_size) { + if (count != chunk_size) { unsigned int channel; size_t offset = count; size_t remaining = chunk_size - count; @@ -1330,8 +1332,7 @@ size_t result = 0; size_t count = rcount; - if (sleep_min == 0 && - count != chunk_size) { + if (count != chunk_size) { count = chunk_size; } @@ -1364,8 +1365,7 @@ size_t result = 0; size_t count = rcount; - if (sleep_min == 0 && - count != chunk_size) { + if (count != chunk_size) { count = chunk_size; } @@ -1452,17 +1452,15 @@ { if (buffer_pos > 0) { size_t b; - if (sleep_min == 0) { - if (snd_pcm_format_set_silence(hwparams.format, audiobuf + buffer_pos, chunk_bytes - buffer_pos * 8 / bits_per_sample) < 0) - fprintf(stderr, _("voc_pcm_flush - silence error")); - b = chunk_size; - } else { - b = buffer_pos * 8 / bits_per_frame; - } + if (snd_pcm_format_set_silence(hwparams.format, audiobuf + buffer_pos, chunk_bytes - buffer_pos * 8 / bits_per_sample) < 0) + fprintf(stderr, _("voc_pcm_flush - silence error")); + b = chunk_size; if (pcm_write(audiobuf, b) != (ssize_t)b) error(_("voc_pcm_flush error")); } + snd_pcm_nonblock(handle, 0); snd_pcm_drain(handle); + snd_pcm_nonblock(handle, nonblock); } static void voc_play(int fd, int ofs, char *name) @@ -1979,7 +1977,7 @@ if (r == 0) break; l += r; - } while (sleep_min == 0 && (size_t)l < chunk_bytes); + } while ((size_t)l < chunk_bytes); l = l * 8 / bits_per_frame; r = pcm_write(audiobuf, l); if (r != l) @@ -1988,7 +1986,9 @@ written += r; l = 0; } + snd_pcm_nonblock(handle, 0); snd_pcm_drain(handle); + snd_pcm_nonblock(handle, nonblock); } @@ -2219,7 +2219,7 @@ if (r == 0) break; c += r; - } while (sleep_min == 0 && c < expected); + } while (c < expected); c = c * 8 / bits_per_sample; r = pcm_writev(bufs, channels, c); if ((size_t)r != c) @@ -2227,7 +2227,9 @@ r = r * bits_per_frame / 8; count -= r; } + snd_pcm_nonblock(handle, 0); snd_pcm_drain(handle); + snd_pcm_nonblock(handle, nonblock); } void capturev_go(int* fds, unsigned int channels, off64_t count, int rtype, char **names) diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/configure /tmp/iwhLheC4Qp/alsa-utils-1.0.16/configure --- alsa-utils-1.0.15/configure 2007-10-15 09:47:04.000000000 +0100 +++ alsa-utils-1.0.16/configure 2008-02-05 09:25:29.000000000 +0000 @@ -2033,7 +2033,7 @@ # Define the identity of the package. PACKAGE=alsa-utils - VERSION=1.0.15 + VERSION=1.0.16 cat >>confdefs.h <<_ACEOF @@ -6429,7 +6429,7 @@ { echo "$as_me:$LINENO: result: $ALSA_LIBS" >&5 echo "${ECHO_T}$ALSA_LIBS" >&6; } -min_alsa_version=1.0.12 +min_alsa_version=1.0.15 { echo "$as_me:$LINENO: checking for libasound headers version >= $min_alsa_version" >&5 echo $ECHO_N "checking for libasound headers version >= $min_alsa_version... $ECHO_C" >&6; } no_alsa="" @@ -6667,6 +6667,111 @@ +{ echo "$as_me:$LINENO: checking for snd_tlv_get_dB_range" >&5 +echo $ECHO_N "checking for snd_tlv_get_dB_range... $ECHO_C" >&6; } +if test "${ac_cv_func_snd_tlv_get_dB_range+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define snd_tlv_get_dB_range to an innocuous variant, in case declares snd_tlv_get_dB_range. + For example, HP-UX 11i declares gettimeofday. */ +#define snd_tlv_get_dB_range innocuous_snd_tlv_get_dB_range + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char snd_tlv_get_dB_range (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef snd_tlv_get_dB_range + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char snd_tlv_get_dB_range (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_snd_tlv_get_dB_range || defined __stub___snd_tlv_get_dB_range +choke me +#endif + +int +main () +{ +return snd_tlv_get_dB_range (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_snd_tlv_get_dB_range=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_snd_tlv_get_dB_range=no +fi + +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_snd_tlv_get_dB_range" >&5 +echo "${ECHO_T}$ac_cv_func_snd_tlv_get_dB_range" >&6; } +if test $ac_cv_func_snd_tlv_get_dB_range = yes; then + : +else + { { echo "$as_me:$LINENO: error: No TLV support code in alsa-lib" >&5 +echo "$as_me: error: No TLV support code in alsa-lib" >&2;} + { (exit 1); exit 1; }; } +fi + # Check whether --enable-alsamixer was given. if test "${enable_alsamixer+set}" = set; then diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/configure.in /tmp/iwhLheC4Qp/alsa-utils-1.0.16/configure.in --- alsa-utils-1.0.15/configure.in 2007-10-15 09:46:59.000000000 +0100 +++ alsa-utils-1.0.16/configure.in 2008-02-05 09:25:25.000000000 +0000 @@ -2,7 +2,7 @@ AC_PREREQ(2.59) AC_INIT(alsamixer/alsamixer.c) AC_PREFIX_DEFAULT(/usr) -AM_INIT_AUTOMAKE(alsa-utils, 1.0.15) +AM_INIT_AUTOMAKE(alsa-utils, 1.0.16) AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT_VERSION([0.15]) @@ -27,7 +27,9 @@ dnl AC_PROG_CXX AC_PROG_INSTALL AC_PROG_LN_S -AM_PATH_ALSA(1.0.12) +AM_PATH_ALSA(1.0.15) +AC_CHECK_FUNC(snd_tlv_get_dB_range,, + AC_ERROR([No TLV support code in alsa-lib])) AC_ARG_ENABLE(alsamixer, [ --disable-alsamixer Disable alsamixer compilation], diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/debian/asoundconf /tmp/iwhLheC4Qp/alsa-utils-1.0.16/debian/asoundconf --- alsa-utils-1.0.15/debian/asoundconf 2008-08-14 15:36:10.000000000 +0100 +++ alsa-utils-1.0.16/debian/asoundconf 2008-08-14 15:36:10.000000000 +0100 @@ -41,27 +41,21 @@ asoundconf reset-default-card asoundconf set-pulseaudio asoundconf unset-pulseaudio +asoundconf set-oss PARAMETER +asoundconf unset-oss ''' -needs_param = '''You have omitted a necessary parameter. Please see the output from `asoundconf list`, and use one of those sound card(s) as the parameter. +needs_default_card = '''You have omitted a necessary parameter. Please see the output from `asoundconf list`, and use one of those sound card(s) as the parameter. ''' -superuser_warn = '''Please note that you are attempting to run asoundconf as a privileged superuser, which may have unintended consequences. +needs_oss_dev = '''You have omitted a necessary parameter. Please specify an OSS device (e.g., /dev/dsp). ''' -def missing_card_as_parameter(): - print needs_param - - -def help(): - print usage - - -def warn_superuser(): - print superuser_warn +superuser_warn = '''Please note that you are attempting to run asoundconf as a privileged superuser, which may have unintended consequences. +''' def get_default_predefs(): @@ -370,11 +364,22 @@ def set_pulseaudio(): return set('pcm.!default', '{ type pulse }') and \ - set('ctl.!default', '{ type pulse }') + set('ctl.!default', '{ type pulse }') and \ + set('pcm.pulse', '{ type pulse }') and \ + set('ctl.pulse', '{ type pulse }') def unset_pulseaudio(): return delete('pcm.!default') and \ - delete('ctl.!default') + delete('ctl.!default') and \ + delete('pcm.pulse') and \ + delete('ctl.pulse') + +def set_oss(device): + endbrace = ' }' + return set('pcm.!default { type oss device', device + endbrace) + +def unset_oss(): + return delete('pcm.!default') def exit_code(result): '''Exit program with code 0 if result is True, otherwise exit with code @@ -392,10 +397,10 @@ ## if os.geteuid() == 0: - warn_superuser() + print superuser_warn if len(sys.argv) < 2 or sys.argv[1] == '--help' or sys.argv[1] == '-h': - help() + print usage sys.exit(0) if sys.argv[1] == 'is-active': @@ -403,19 +408,19 @@ if sys.argv[1] == 'get': if len(sys.argv) != 3: - help() + print usage sys.exit(1) exit_code(get(sys.argv[2])) if sys.argv[1] == 'delete': if len(sys.argv) != 3: - help() + print usage sys.exit(1) exit_code(delete(sys.argv[2])) if sys.argv[1] == 'set': if len(sys.argv) != 4: - help() + print usage sys.exit(1) exit_code(set(sys.argv[2], sys.argv[3])) @@ -424,7 +429,7 @@ if sys.argv[1] == 'set-default-card': if len(sys.argv) != 3: - missing_card_as_parameter() + print needs_default_card sys.exit(1) exit_code(set_default_card(sys.argv[2])) @@ -437,6 +442,15 @@ if sys.argv[1] == 'unset-pulseaudio': exit_code(unset_pulseaudio()) -help() +if sys.argv[1] == 'set-oss': + if len(sys.argv) != 3: + print needs_oss_dev + sys.exit(1) + exit_code(set_oss(sys.argv[2])) + +if sys.argv[1] == 'unset-oss': + exit_code(unset_oss()) + +print usage sys.exit(1) diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/debian/asoundconf.1 /tmp/iwhLheC4Qp/alsa-utils-1.0.16/debian/asoundconf.1 --- alsa-utils-1.0.15/debian/asoundconf.1 2008-08-14 15:36:10.000000000 +0100 +++ alsa-utils-1.0.16/debian/asoundconf.1 2008-08-14 15:36:10.000000000 +0100 @@ -1,4 +1,4 @@ -.TH asoundconf "1" "01 Sep 2007" +.TH asoundconf "1" "06 May 2008" .SH NAME asoundconf \- utility to read and change the user's ALSA library configuration .SH SYNOPSIS @@ -19,6 +19,10 @@ \fBasoundconf\fR \fBset\-pulseaudio\fR .PP \fBasoundconf\fR \fBunset\-pulseaudio\fR +.PP +\fBasoundconf\fR \fBset\-oss\fR \fIPARAMETER\fR +.PP +\fBasoundconf\fR \fBunset\-oss\fR .SH DESCRIPTION .B asoundconf diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/debian/changelog /tmp/iwhLheC4Qp/alsa-utils-1.0.16/debian/changelog --- alsa-utils-1.0.15/debian/changelog 2008-08-14 15:36:10.000000000 +0100 +++ alsa-utils-1.0.16/debian/changelog 2008-08-14 15:36:10.000000000 +0100 @@ -1,3 +1,58 @@ +alsa-utils (1.0.16-1ubuntu3~ppa1) hardy; urgency=low + + * Backport from Intrepid to resolve PulseAudio issues. + * debian/asoundconf: expand 'set-pulseaudio' and 'unset-pulseaudio' + to include pcm.pulse and ctl.pulse definitions. + + -- Conn O Griofa Thu, 14 Aug 2008 15:16:30 +0100 + +alsa-utils (1.0.16-1ubuntu3) intrepid; urgency=low + + * Really make the change to the init script to mute the PC speaker + on initial start/reset. (LP: #242966) + + -- Luke Yelavich Mon, 04 Aug 2008 15:22:31 +1000 + +alsa-utils (1.0.16-1ubuntu2) intrepid; urgency=low + + [ Daniel T Chen ] + * debian/init: Mute 'Jack Detect' as per user request. + + [ Luke Yelavich ] + * debian/init: Mute the PC speaker card on initial level set/reset. + (LP: #242966) + + -- Luke Yelavich Mon, 04 Aug 2008 10:33:09 +1000 + +alsa-utils (1.0.16-1ubuntu1) intrepid; urgency=low + + * Merge from Debian unstable. + * Packaging: + - no alsaconf; + + lpia arch, maintainer and Vcs fields munging; + + toggle additional mixer elements in initscript; + + asoundconf{,.1}: Update asoundconf-trunk from bzr adding + {,un}set-oss convenience macros as per requests for OSSv4 + routing. + + -- Daniel T Chen Fri, 09 May 2008 16:17:32 -0400 + +alsa-utils (1.0.16-1) unstable; urgency=low + + * New upstream release (closes: #393686, #399223, #400499, #406738, #447898, + #422805) + + [ Elimar Riesebieter ] + * Tweaked asoundconf. (closes: #399623) + * Forgot to add Speaker to mute_and_zero_levels_on_card() in the init file. + Thanks Dan Chen for the hint. + + [ Jordi Mallach ] + * Bump libasound2-dev build dep to 1.0.16, as snd_tlv_get_dB_range is + needed. + + -- Jordi Mallach Tue, 26 Feb 2008 00:41:40 +0100 + alsa-utils (1.0.15-3ubuntu2) hardy; urgency=low * Default "Digital" capture mixer used on HDA-Intel cards to be at a diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/debian/changelog.ALSA /tmp/iwhLheC4Qp/alsa-utils-1.0.16/debian/changelog.ALSA --- alsa-utils-1.0.15/debian/changelog.ALSA 2008-08-14 15:36:10.000000000 +0100 +++ alsa-utils-1.0.16/debian/changelog.ALSA 2008-08-14 15:36:10.000000000 +0100 @@ -1,3 +1,34 @@ +Changelog between 1.0.15 and 1.0.16 releases +(http://www.alsa-project.org/main/index.php/Changes_v1.0.15_v1.0.16) +(Reformated as ASCII text) +******************************************** + +* alsa-utils + + Core + - alsactl - restore dB level + + ALSA Control (alsactl) + - alsactl - Fix wrong restore + - alsactl: skip inactive controls + - alsactl - fix double entry of comment.tlv + - alsactl - Set -F option as default + - Make alsactl restore a bit more robust + - alsactl - restore dB level + + Speaker Test + - speaker-test - Fix number of periods to play + - speaker-test - Put errors to stderr + - Remove xfer_align + + alsamixer + - alsamixer: add 8-channel support + + aplay/arecord + - aplay - Reset non-blocking flag before snd_pcm_drain() + - Remove sleep_min from aplay + - Remove xfer_align + + aseqnet + - Add missing inclusion of assert.h + + iecset + - iecset: fix card index check + - iecset - Add -n option + Changelog between 1.0.14 and 1.0.15 releases (http://www.alsa-project.org/main/index.php/Changes_v1.0.14_v1.0.15) (Reformated as ASCII text) diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/debian/control /tmp/iwhLheC4Qp/alsa-utils-1.0.16/debian/control --- alsa-utils-1.0.15/debian/control 2008-08-14 15:36:10.000000000 +0100 +++ alsa-utils-1.0.16/debian/control 2008-08-14 15:36:10.000000000 +0100 @@ -4,11 +4,11 @@ Maintainer: Ubuntu Core Developers XSBC-Original-Maintainer: Debian ALSA Maintainers Uploaders: Jordi Mallach , Elimar Riesebieter , Martin Pitt -Build-Depends: debhelper (>= 5.0.37), libncurses5-dev, autotools-dev, quilt (>=0.40), libasound2-dev (>= 1.0.12) +Build-Depends: debhelper (>= 6), libncurses5-dev, autotools-dev, quilt (>=0.40), libasound2-dev (>= 1.0.16) Standards-Version: 3.7.3 Homepage: http://www.alsa-project.org/ -Vcs-Svn: svn://svn.debian.org/pkg-alsa/trunk/alsa-utils -Vcs-Browser: http://svn.debian.org/wsvn/pkg-alsa/trunk/alsa-utils/ +XS-Debian-Vcs-Svn: svn://svn.debian.org/pkg-alsa/trunk/alsa-utils +XS-Debian-Vcs-Browser: http://svn.debian.org/wsvn/pkg-alsa/trunk/alsa-utils/ Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/alsa-utils/ubuntu.new Package: alsa-utils diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/debian/init /tmp/iwhLheC4Qp/alsa-utils-1.0.16/debian/init --- alsa-utils-1.0.15/debian/init 2008-08-14 15:36:10.000000000 +0100 +++ alsa-utils-1.0.16/debian/init 2008-08-14 15:36:10.000000000 +0100 @@ -221,6 +221,8 @@ for CARD in $(echo_card_indices) ; do sanify_levels_on_card "$CARD" || TTSDML_RETURNSTATUS=1 done + + mute_and_zero_levels_on_card "pcsp" ;; *) sanify_levels_on_card "$1" || TTSDML_RETURNSTATUS=1 @@ -281,8 +283,8 @@ "DAC,0" \ "DAC,1" \ Headphone \ - Playback \ - Speaker + Speaker \ + Playback do mute_and_zero_level "$CTL" done diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/iecset/iecset.1 /tmp/iwhLheC4Qp/alsa-utils-1.0.16/iecset/iecset.1 --- alsa-utils-1.0.15/iecset/iecset.1 2007-10-15 09:46:57.000000000 +0100 +++ alsa-utils-1.0.16/iecset/iecset.1 2008-02-05 09:25:23.000000000 +0000 @@ -42,6 +42,10 @@ \fI\-c\fP card Specifies the card index to open. Equivalent with \fI\-Dhw:x\fP. .TP +\fI\-n\fP index +Specifies the IEC958 control element index, in case you have multiple +IEC958 devices and need to choose one of them. +.TP \fI\-x\fP Dumps the status in the form of AESx bytes. .TP diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/iecset/iecset.c /tmp/iwhLheC4Qp/alsa-utils-1.0.16/iecset/iecset.c --- alsa-utils-1.0.15/iecset/iecset.c 2007-10-15 09:46:57.000000000 +0100 +++ alsa-utils-1.0.16/iecset/iecset.c 2008-02-05 09:25:23.000000000 +0000 @@ -286,6 +286,7 @@ { const char *dev = "default"; const char *spdif_str = SND_CTL_NAME_IEC958("", PLAYBACK, DEFAULT); + int spdif_index = -1; snd_ctl_t *ctl; snd_ctl_elem_list_t *clist; snd_ctl_elem_id_t *cid; @@ -301,20 +302,23 @@ for (i = 0; i < IDX_LAST; i++) parms[i] = -1; /* not set */ - while ((c = getopt(argc, argv, "D:c:xhi")) != -1) { + while ((c = getopt(argc, argv, "D:c:n:xhi")) != -1) { switch (c) { case 'D': dev = optarg; break; case 'c': i = atoi(optarg); - if (i < 0 || i >= 7) { + if (i < 0 || i >= 32) { fprintf(stderr, "invalid card index %d\n", i); return 1; } sprintf(tmpname, "hw:%d", i); dev = tmpname; break; + case 'n': + spdif_index = atoi(optarg); + break; case 'x': dumphex = 1; break; @@ -349,10 +353,13 @@ controls = snd_ctl_elem_list_get_used(clist); for (cidx = 0; cidx < controls; cidx++) { if (!strcmp(snd_ctl_elem_list_get_name(clist, cidx), spdif_str)) - break; + if (spdif_index < 0 || + snd_ctl_elem_list_get_index(clist, cidx) == spdif_index) + break; } if (cidx >= controls) { - fprintf(stderr, "control \"%s\" not found\n", spdif_str); + fprintf(stderr, "control \"%s\" (index %d) not found\n", + spdif_str, spdif_index); return 1; } diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/include/version.h /tmp/iwhLheC4Qp/alsa-utils-1.0.16/include/version.h --- alsa-utils-1.0.15/include/version.h 2007-10-15 09:47:08.000000000 +0100 +++ alsa-utils-1.0.16/include/version.h 2008-02-05 09:25:34.000000000 +0000 @@ -4,9 +4,9 @@ #define SND_UTIL_MAJOR 1 #define SND_UTIL_MINOR 0 -#define SND_UTIL_SUBMINOR 15 +#define SND_UTIL_SUBMINOR 16 #define SND_UTIL_VERSION ((SND_UTIL_MAJOR<<16)|\ (SND_UTIL_MINOR<<8)|\ SND_UTIL_SUBMINOR) -#define SND_UTIL_VERSION_STR "1.0.15" +#define SND_UTIL_VERSION_STR "1.0.16" diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/po/alsa-utils.pot /tmp/iwhLheC4Qp/alsa-utils-1.0.16/po/alsa-utils.pot --- alsa-utils-1.0.15/po/alsa-utils.pot 2008-08-14 15:36:10.000000000 +0100 +++ alsa-utils-1.0.16/po/alsa-utils.pot 2008-02-05 09:25:40.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-10-15 10:47+0200\n" +"POT-Creation-Date: 2008-02-05 10:25+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,23 +16,23 @@ "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: aplay/aplay.c:129 +#: aplay/aplay.c:128 msgid "raw data" msgstr "" -#: aplay/aplay.c:130 +#: aplay/aplay.c:129 msgid "VOC" msgstr "" -#: aplay/aplay.c:132 +#: aplay/aplay.c:131 msgid "WAVE" msgstr "" -#: aplay/aplay.c:133 +#: aplay/aplay.c:132 msgid "Sparc Audio" msgstr "" -#: aplay/aplay.c:154 +#: aplay/aplay.c:153 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" @@ -48,7 +48,6 @@ "-f, --format=FORMAT sample format (case insensitive)\n" "-r, --rate=# sample rate\n" "-d, --duration=# interrupt after # seconds\n" -"-s, --sleep-min=# min ticks to sleep\n" "-M, --mmap mmap stream\n" "-N, --nonblock nonblocking mode\n" "-F, --period-time=# distance between interrupts is # microseconds\n" @@ -62,324 +61,324 @@ "xrun\n" "-v, --verbose show PCM structure and setup (accumulative)\n" "-I, --separate-channels one file for each channel\n" +" --disable-resample disable automatic rate resample\n" +" --disable-channels disable automatic channel conversions\n" +" --disable-format disable automatic format conversions\n" +" --disable-softvol disable software volume control (softvol)\n" msgstr "" -#: aplay/aplay.c:181 speaker-test/speaker-test.c:725 +#: aplay/aplay.c:183 speaker-test/speaker-test.c:721 #, c-format msgid "Recognized sample formats are:" msgstr "" -#: aplay/aplay.c:187 +#: aplay/aplay.c:189 #, c-format msgid "" "\n" "Some of these may not be available on selected hardware\n" msgstr "" -#: aplay/aplay.c:188 +#: aplay/aplay.c:190 #, c-format msgid "The availabled format shortcuts are:\n" msgstr "" -#: aplay/aplay.c:189 +#: aplay/aplay.c:191 #, c-format msgid "-f cd (16 bit little endian, 44100, stereo)\n" msgstr "" -#: aplay/aplay.c:190 +#: aplay/aplay.c:192 #, c-format msgid "-f cdr (16 bit big endian, 44100, stereo)\n" msgstr "" -#: aplay/aplay.c:191 +#: aplay/aplay.c:193 #, c-format msgid "-f dat (16 bit little endian, 48000, stereo)\n" msgstr "" -#: aplay/aplay.c:205 +#: aplay/aplay.c:207 msgid "no soundcards found..." msgstr "" -#: aplay/aplay.c:208 +#: aplay/aplay.c:210 #, c-format msgid "**** List of %s Hardware Devices ****\n" msgstr "" -#: aplay/aplay.c:237 +#: aplay/aplay.c:239 #, c-format msgid "card %i: %s [%s], device %i: %s [%s]\n" msgstr "" -#: aplay/aplay.c:243 +#: aplay/aplay.c:245 #, c-format msgid " Subdevices: %i/%i\n" msgstr "" -#: aplay/aplay.c:250 +#: aplay/aplay.c:252 #, c-format msgid " Subdevice #%i: %s\n" msgstr "" -#: aplay/aplay.c:314 +#: aplay/aplay.c:316 #, c-format msgid "Aborted by signal %s...\n" msgstr "" -#: aplay/aplay.c:398 +#: aplay/aplay.c:407 msgid "command should be named either arecord or aplay" msgstr "" -#: aplay/aplay.c:437 +#: aplay/aplay.c:446 #, c-format msgid "unrecognized file format %s" msgstr "" -#: aplay/aplay.c:444 +#: aplay/aplay.c:453 #, c-format msgid "value %i for channels is invalid" msgstr "" -#: aplay/aplay.c:463 +#: aplay/aplay.c:472 #, c-format msgid "wrong extended format '%s'" msgstr "" -#: aplay/aplay.c:474 +#: aplay/aplay.c:483 #, c-format msgid "bad speed value %i" msgstr "" -#: aplay/aplay.c:530 +#: aplay/aplay.c:548 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" -#: aplay/aplay.c:546 +#: aplay/aplay.c:564 #, c-format msgid "audio open error: %s" msgstr "" -#: aplay/aplay.c:551 +#: aplay/aplay.c:569 #, c-format msgid "info error: %s" msgstr "" -#: aplay/aplay.c:558 +#: aplay/aplay.c:576 #, c-format msgid "nonblock setting error: %s" msgstr "" -#: aplay/aplay.c:568 aplay/aplay.c:675 aplay/aplay.c:1026 +#: aplay/aplay.c:586 aplay/aplay.c:693 aplay/aplay.c:1030 msgid "not enough memory" msgstr "" -#: aplay/aplay.c:665 +#: aplay/aplay.c:683 #, c-format msgid "read error (called from line %i)" msgstr "" -#: aplay/aplay.c:723 +#: aplay/aplay.c:741 #, c-format msgid "unknown length of 'fmt ' chunk (read %u, should be %u at least)" msgstr "" -#: aplay/aplay.c:731 +#: aplay/aplay.c:749 msgid "can't play not PCM-coded WAVE-files" msgstr "" -#: aplay/aplay.c:735 +#: aplay/aplay.c:753 #, c-format msgid "can't play WAVE-files with %d tracks" msgstr "" -#: aplay/aplay.c:743 aplay/aplay.c:840 +#: aplay/aplay.c:761 aplay/aplay.c:858 #, c-format msgid "Warning: format is changed to U8\n" msgstr "" -#: aplay/aplay.c:749 +#: aplay/aplay.c:767 #, c-format msgid "Warning: format is changed to S16_LE\n" msgstr "" -#: aplay/aplay.c:757 +#: aplay/aplay.c:775 #, c-format msgid "Warning: format is changed to S24_3LE\n" msgstr "" -#: aplay/aplay.c:763 +#: aplay/aplay.c:781 #, c-format msgid "Warning: format is changed to S24_LE\n" msgstr "" -#: aplay/aplay.c:767 +#: aplay/aplay.c:785 #, c-format msgid "" " can't play WAVE-files with sample %d bits in %d bytes wide (%d channels)" msgstr "" -#: aplay/aplay.c:776 +#: aplay/aplay.c:794 #, c-format msgid " can't play WAVE-files with sample %d bits wide" msgstr "" -#: aplay/aplay.c:834 +#: aplay/aplay.c:852 #, c-format msgid "Warning: format is changed to MU_LAW\n" msgstr "" -#: aplay/aplay.c:846 +#: aplay/aplay.c:864 #, c-format msgid "Warning: format is changed to S16_BE\n" msgstr "" -#: aplay/aplay.c:859 aplay/aplay.c:1496 aplay/aplay.c:1503 aplay/aplay.c:2019 +#: aplay/aplay.c:877 aplay/aplay.c:1494 aplay/aplay.c:1501 aplay/aplay.c:2019 #: aplay/aplay.c:2031 msgid "read error" msgstr "" -#: aplay/aplay.c:879 +#: aplay/aplay.c:896 msgid "Broken configuration for this PCM: no configurations available" msgstr "" -#: aplay/aplay.c:896 +#: aplay/aplay.c:913 msgid "Access type not available" msgstr "" -#: aplay/aplay.c:901 +#: aplay/aplay.c:918 msgid "Sample format non available" msgstr "" -#: aplay/aplay.c:906 +#: aplay/aplay.c:923 msgid "Channels count non available" msgstr "" -#: aplay/aplay.c:921 +#: aplay/aplay.c:938 #, c-format msgid "Warning: rate is not accurate (requested = %iHz, got = %iHz)\n" msgstr "" -#: aplay/aplay.c:927 +#: aplay/aplay.c:944 #, c-format msgid " please, try the plug plugin %s\n" msgstr "" -#: aplay/aplay.c:962 +#: aplay/aplay.c:979 msgid "Unable to install hw params:" msgstr "" -#: aplay/aplay.c:969 +#: aplay/aplay.c:986 #, c-format msgid "Can't use period equal to buffer size (%lu == %lu)" msgstr "" -#: aplay/aplay.c:976 -msgid "Unable to obtain xfer align\n" -msgstr "" - -#: aplay/aplay.c:1013 +#: aplay/aplay.c:1017 msgid "unable to install sw params:" msgstr "" -#: aplay/aplay.c:1052 +#: aplay/aplay.c:1056 #, c-format msgid "status error: %s" msgstr "" -#: aplay/aplay.c:1060 +#: aplay/aplay.c:1064 #, c-format msgid "%s!!! (at least %.3f ms long)\n" msgstr "" -#: aplay/aplay.c:1061 +#: aplay/aplay.c:1065 msgid "underrun" msgstr "" -#: aplay/aplay.c:1061 +#: aplay/aplay.c:1065 msgid "overrun" msgstr "" -#: aplay/aplay.c:1064 +#: aplay/aplay.c:1068 #, c-format msgid "Status:\n" msgstr "" -#: aplay/aplay.c:1068 +#: aplay/aplay.c:1072 #, c-format msgid "xrun: prepare error: %s" msgstr "" -#: aplay/aplay.c:1074 +#: aplay/aplay.c:1078 #, c-format msgid "Status(DRAINING):\n" msgstr "" -#: aplay/aplay.c:1078 +#: aplay/aplay.c:1082 #, c-format msgid "capture stream format change? attempting recover...\n" msgstr "" -#: aplay/aplay.c:1080 +#: aplay/aplay.c:1084 #, c-format msgid "xrun(DRAINING): prepare error: %s" msgstr "" -#: aplay/aplay.c:1087 +#: aplay/aplay.c:1091 #, c-format msgid "Status(R/W):\n" msgstr "" -#: aplay/aplay.c:1090 +#: aplay/aplay.c:1094 #, c-format msgid "read/write error, state = %s" msgstr "" -#: aplay/aplay.c:1100 +#: aplay/aplay.c:1104 #, c-format msgid "Suspended. Trying resume. " msgstr "" -#: aplay/aplay.c:1105 +#: aplay/aplay.c:1109 #, c-format msgid "Failed. Restarting stream. " msgstr "" -#: aplay/aplay.c:1107 +#: aplay/aplay.c:1111 #, c-format msgid "suspend: prepare error: %s" msgstr "" -#: aplay/aplay.c:1112 +#: aplay/aplay.c:1116 #, c-format msgid "Done.\n" msgstr "" -#: aplay/aplay.c:1191 +#: aplay/aplay.c:1195 #, c-format msgid "Unsupported bit size %d.\n" msgstr "" -#: aplay/aplay.c:1227 +#: aplay/aplay.c:1231 #, c-format msgid " !clip " msgstr "" -#: aplay/aplay.c:1232 +#: aplay/aplay.c:1236 #, c-format msgid "Max peak (%li samples): 0x%08x " msgstr "" -#: aplay/aplay.c:1266 +#: aplay/aplay.c:1269 #, c-format msgid "write error: %s" msgstr "" -#: aplay/aplay.c:1308 +#: aplay/aplay.c:1310 #, c-format msgid "writev error: %s" msgstr "" -#: aplay/aplay.c:1347 +#: aplay/aplay.c:1348 #, c-format msgid "read error: %s" msgstr "" @@ -393,83 +392,83 @@ msgid "can't allocate buffer for silence" msgstr "" -#: aplay/aplay.c:1443 aplay/aplay.c:1671 aplay/aplay.c:1676 aplay/aplay.c:1723 -#: aplay/aplay.c:1732 aplay/aplay.c:1739 aplay/aplay.c:1749 aplay/aplay.c:1755 -#: aplay/aplay.c:1823 aplay/aplay.c:1853 aplay/aplay.c:1867 +#: aplay/aplay.c:1443 aplay/aplay.c:1669 aplay/aplay.c:1674 aplay/aplay.c:1721 +#: aplay/aplay.c:1730 aplay/aplay.c:1737 aplay/aplay.c:1747 aplay/aplay.c:1753 +#: aplay/aplay.c:1821 aplay/aplay.c:1851 aplay/aplay.c:1865 msgid "write error" msgstr "" -#: aplay/aplay.c:1457 +#: aplay/aplay.c:1456 #, c-format msgid "voc_pcm_flush - silence error" msgstr "" -#: aplay/aplay.c:1463 +#: aplay/aplay.c:1459 msgid "voc_pcm_flush error" msgstr "" -#: aplay/aplay.c:1487 +#: aplay/aplay.c:1485 msgid "malloc error" msgstr "" -#: aplay/aplay.c:1491 +#: aplay/aplay.c:1489 #, c-format msgid "Playing Creative Labs Channel file '%s'...\n" msgstr "" -#: aplay/aplay.c:1559 aplay/aplay.c:1651 +#: aplay/aplay.c:1557 aplay/aplay.c:1649 msgid "can't play packed .voc files" msgstr "" -#: aplay/aplay.c:1611 +#: aplay/aplay.c:1609 #, c-format msgid "can't play loops; %s isn't seekable\n" msgstr "" -#: aplay/aplay.c:1660 +#: aplay/aplay.c:1658 #, c-format msgid "unknown blocktype %d. terminate." msgstr "" -#: aplay/aplay.c:1790 +#: aplay/aplay.c:1788 #, c-format msgid "Wave doesn't support %s format..." msgstr "" -#: aplay/aplay.c:1847 +#: aplay/aplay.c:1845 #, c-format msgid "Sparc Audio doesn't support %s format..." msgstr "" -#: aplay/aplay.c:1928 +#: aplay/aplay.c:1926 msgid "Playing" msgstr "" -#: aplay/aplay.c:1928 +#: aplay/aplay.c:1926 msgid "Recording" msgstr "" -#: aplay/aplay.c:1932 +#: aplay/aplay.c:1930 #, c-format msgid "Rate %d Hz, " msgstr "" -#: aplay/aplay.c:1934 +#: aplay/aplay.c:1932 #, c-format msgid "Mono" msgstr "" -#: aplay/aplay.c:1936 +#: aplay/aplay.c:1934 #, c-format msgid "Stereo" msgstr "" -#: aplay/aplay.c:1938 +#: aplay/aplay.c:1936 #, c-format msgid "Channels %i" msgstr "" -#: aplay/aplay.c:2293 aplay/aplay.c:2346 +#: aplay/aplay.c:2295 aplay/aplay.c:2348 #, c-format msgid "You need to specify %d files" msgstr "" @@ -600,7 +599,7 @@ msgid "invalid sender address %s\n" msgstr "" -#: seq/aconnect/aconnect.c:373 seq/aseqnet/aseqnet.c:289 +#: seq/aconnect/aconnect.c:373 seq/aseqnet/aseqnet.c:290 #, c-format msgid "invalid destination address %s\n" msgstr "" @@ -625,127 +624,127 @@ msgid "Connection failed (%s)\n" msgstr "" -#: seq/aseqnet/aseqnet.c:163 +#: seq/aseqnet/aseqnet.c:164 #, c-format msgid "aseqnet - network client/server on ALSA sequencer\n" msgstr "" -#: seq/aseqnet/aseqnet.c:164 +#: seq/aseqnet/aseqnet.c:165 #, c-format msgid " Copyright (C) 1999 Takashi Iwai\n" msgstr "" -#: seq/aseqnet/aseqnet.c:165 +#: seq/aseqnet/aseqnet.c:166 #, c-format msgid "usage:\n" msgstr "" -#: seq/aseqnet/aseqnet.c:166 +#: seq/aseqnet/aseqnet.c:167 #, c-format msgid " server mode: aseqnet [-options]\n" msgstr "" -#: seq/aseqnet/aseqnet.c:167 +#: seq/aseqnet/aseqnet.c:168 #, c-format msgid " client mode: aseqnet [-options] server_host\n" msgstr "" -#: seq/aseqnet/aseqnet.c:168 +#: seq/aseqnet/aseqnet.c:169 #, c-format msgid "options:\n" msgstr "" -#: seq/aseqnet/aseqnet.c:169 +#: seq/aseqnet/aseqnet.c:170 #, c-format msgid " -p,--port # : sepcify TCP port (digit or service name)\n" msgstr "" -#: seq/aseqnet/aseqnet.c:170 +#: seq/aseqnet/aseqnet.c:171 #, c-format msgid " -s,--source addr : read from given addr (client:port)\n" msgstr "" -#: seq/aseqnet/aseqnet.c:171 +#: seq/aseqnet/aseqnet.c:172 #, c-format msgid " -d,--dest addr : write to given addr (client:port)\n" msgstr "" -#: seq/aseqnet/aseqnet.c:172 +#: seq/aseqnet/aseqnet.c:173 #, c-format msgid " -v, --verbose : print verbose messages\n" msgstr "" -#: seq/aseqnet/aseqnet.c:173 +#: seq/aseqnet/aseqnet.c:174 #, c-format msgid " -i, --info : print certain received events\n" msgstr "" -#: seq/aseqnet/aseqnet.c:187 +#: seq/aseqnet/aseqnet.c:188 #, c-format msgid "can't malloc\n" msgstr "" -#: seq/aseqnet/aseqnet.c:212 +#: seq/aseqnet/aseqnet.c:213 #, c-format msgid "closing files..\n" msgstr "" -#: seq/aseqnet/aseqnet.c:271 +#: seq/aseqnet/aseqnet.c:272 #, c-format msgid "sequencer opened: %d:%d\n" msgstr "" -#: seq/aseqnet/aseqnet.c:278 +#: seq/aseqnet/aseqnet.c:279 #, c-format msgid "invalid source address %s\n" msgstr "" -#: seq/aseqnet/aseqnet.c:308 +#: seq/aseqnet/aseqnet.c:309 #, c-format msgid "service '%s' is not found in /etc/services\n" msgstr "" -#: seq/aseqnet/aseqnet.c:376 +#: seq/aseqnet/aseqnet.c:377 #, c-format msgid "too many connections!\n" msgstr "" -#: seq/aseqnet/aseqnet.c:387 +#: seq/aseqnet/aseqnet.c:388 #, c-format msgid "accepted[%d]\n" msgstr "" -#: seq/aseqnet/aseqnet.c:410 +#: seq/aseqnet/aseqnet.c:411 #, c-format msgid "can't get address %s\n" msgstr "" -#: seq/aseqnet/aseqnet.c:421 +#: seq/aseqnet/aseqnet.c:422 #, c-format msgid "ok.. connected\n" msgstr "" -#: seq/aseqnet/aseqnet.c:517 +#: seq/aseqnet/aseqnet.c:518 #, c-format msgid "Channel %2d: Control event : %5d\n" msgstr "" -#: seq/aseqnet/aseqnet.c:521 +#: seq/aseqnet/aseqnet.c:522 #, c-format msgid "Channel %2d: Pitchbender : %5d\n" msgstr "" -#: seq/aseqnet/aseqnet.c:525 +#: seq/aseqnet/aseqnet.c:526 #, c-format msgid "Channel %2d: Note On event : %5d\n" msgstr "" -#: seq/aseqnet/aseqnet.c:529 +#: seq/aseqnet/aseqnet.c:530 #, c-format msgid "Channel %2d: Note Off event: %5d\n" msgstr "" -#: seq/aseqnet/aseqnet.c:584 +#: seq/aseqnet/aseqnet.c:585 #, c-format msgid "disconnected\n" msgstr "" @@ -936,80 +935,75 @@ #: speaker-test/speaker-test.c:410 #, c-format -msgid "Unable to set transfer align for playback: %s\n" -msgstr "" - -#: speaker-test/speaker-test.c:417 -#, c-format msgid "Unable to set sw params for playback: %s\n" msgstr "" -#: speaker-test/speaker-test.c:432 +#: speaker-test/speaker-test.c:425 #, c-format msgid "Can't recovery from underrun, prepare failed: %s\n" msgstr "" -#: speaker-test/speaker-test.c:443 +#: speaker-test/speaker-test.c:436 #, c-format msgid "Can't recovery from suspend, prepare failed: %s\n" msgstr "" -#: speaker-test/speaker-test.c:517 speaker-test/speaker-test.c:911 +#: speaker-test/speaker-test.c:510 speaker-test/speaker-test.c:907 #, c-format msgid "No enough memory\n" msgstr "" -#: speaker-test/speaker-test.c:522 +#: speaker-test/speaker-test.c:515 #, c-format msgid "Cannot open WAV file %s\n" msgstr "" -#: speaker-test/speaker-test.c:526 speaker-test/speaker-test.c:555 +#: speaker-test/speaker-test.c:519 speaker-test/speaker-test.c:548 #, c-format msgid "Invalid WAV file %s\n" msgstr "" -#: speaker-test/speaker-test.c:531 +#: speaker-test/speaker-test.c:524 #, c-format msgid "Not a WAV file: %s\n" msgstr "" -#: speaker-test/speaker-test.c:535 +#: speaker-test/speaker-test.c:528 #, c-format msgid "Unsupported WAV format %d for %s\n" msgstr "" -#: speaker-test/speaker-test.c:540 +#: speaker-test/speaker-test.c:533 #, c-format msgid "%s is not a mono stream (%d channels)\n" msgstr "" -#: speaker-test/speaker-test.c:545 +#: speaker-test/speaker-test.c:538 #, c-format msgid "Sample rate doesn't match (%d) for %s\n" msgstr "" -#: speaker-test/speaker-test.c:550 +#: speaker-test/speaker-test.c:543 #, c-format msgid "Unsupported sample format bits %d for %s\n" msgstr "" -#: speaker-test/speaker-test.c:600 +#: speaker-test/speaker-test.c:593 #, c-format msgid "Undefined channel %d\n" msgstr "" -#: speaker-test/speaker-test.c:651 +#: speaker-test/speaker-test.c:644 #, c-format msgid "Write error: %d,%s\n" msgstr "" -#: speaker-test/speaker-test.c:653 +#: speaker-test/speaker-test.c:646 #, c-format msgid "xrun_recovery failed: %d,%s\n" msgstr "" -#: speaker-test/speaker-test.c:708 +#: speaker-test/speaker-test.c:704 #, c-format msgid "" "Usage: speaker-test [OPTION]... \n" @@ -1030,210 +1024,72 @@ "\n" msgstr "" -#: speaker-test/speaker-test.c:820 +#: speaker-test/speaker-test.c:816 #, c-format msgid "Invalid number of periods %d\n" msgstr "" -#: speaker-test/speaker-test.c:834 speaker-test/speaker-test.c:838 +#: speaker-test/speaker-test.c:830 speaker-test/speaker-test.c:834 #, c-format msgid "Invalid test type %s\n" msgstr "" -#: speaker-test/speaker-test.c:850 +#: speaker-test/speaker-test.c:846 #, c-format msgid "Invalid parameter for -s option.\n" msgstr "" -#: speaker-test/speaker-test.c:861 +#: speaker-test/speaker-test.c:857 #, c-format msgid "Unknown option '%c'\n" msgstr "" -#: speaker-test/speaker-test.c:875 +#: speaker-test/speaker-test.c:871 #, c-format msgid "Playback device is %s\n" msgstr "" -#: speaker-test/speaker-test.c:876 +#: speaker-test/speaker-test.c:872 #, c-format msgid "Stream parameters are %iHz, %s, %i channels\n" msgstr "" -#: speaker-test/speaker-test.c:879 +#: speaker-test/speaker-test.c:875 #, c-format msgid "Using 16 octaves of pink noise\n" msgstr "" -#: speaker-test/speaker-test.c:882 +#: speaker-test/speaker-test.c:878 #, c-format msgid "Sine wave rate is %.4fHz\n" msgstr "" -#: speaker-test/speaker-test.c:885 +#: speaker-test/speaker-test.c:881 #, c-format msgid "WAV file(s)\n" msgstr "" -#: speaker-test/speaker-test.c:891 +#: speaker-test/speaker-test.c:887 #, c-format msgid "Playback open error: %d,%s\n" msgstr "" -#: speaker-test/speaker-test.c:896 +#: speaker-test/speaker-test.c:892 #, c-format msgid "Setting of hwparams failed: %s\n" msgstr "" -#: speaker-test/speaker-test.c:901 +#: speaker-test/speaker-test.c:897 #, c-format msgid "Setting of swparams failed: %s\n" msgstr "" -#: speaker-test/speaker-test.c:942 speaker-test/speaker-test.c:964 +#: speaker-test/speaker-test.c:938 speaker-test/speaker-test.c:960 #, c-format msgid "Transfer failed: %s\n" msgstr "" -#: speaker-test/speaker-test.c:952 +#: speaker-test/speaker-test.c:948 #, c-format msgid "Time per period = %lf\n" msgstr "" - -#: aplay/aplay.c:153 -#, c-format -msgid "" -"Usage: %s [OPTION]... [FILE]...\n" -"\n" -"-h, --help help\n" -" --version print current version\n" -"-l, --list-devices list all soundcards and digital audio devices\n" -"-L, --list-pcms list all PCMs defined\n" -"-D, --device=NAME select PCM by name\n" -"-q, --quiet quiet mode\n" -"-t, --file-type TYPE file type (voc, wav, raw or au)\n" -"-c, --channels=# channels\n" -"-f, --format=FORMAT sample format (case insensitive)\n" -"-r, --rate=# sample rate\n" -"-d, --duration=# interrupt after # seconds\n" -"-s, --sleep-min=# min ticks to sleep\n" -"-M, --mmap mmap stream\n" -"-N, --nonblock nonblocking mode\n" -"-F, --period-time=# distance between interrupts is # microseconds\n" -"-B, --buffer-time=# buffer duration is # microseconds\n" -" --period-size=# distance between interrupts is # frames\n" -" --buffer-size=# buffer duration is # frames\n" -"-A, --avail-min=# min available space for wakeup is # microseconds\n" -"-R, --start-delay=# delay for automatic PCM start is # microseconds \n" -" (relative to buffer size if <= 0)\n" -"-T, --stop-delay=# delay for automatic PCM stop is # microseconds from " -"xrun\n" -"-v, --verbose show PCM structure and setup (accumulative)\n" -"-I, --separate-channels one file for each channel\n" -msgstr "" - -#: aplay/aplay.c:200 -#, c-format -msgid "snd_names_list error: %s" -msgstr "" - -#: aplay/aplay.c:295 -#, c-format -msgid "PCM list:\n" -msgstr "" - -#: aplay/aplay.c:915 -#, c-format -msgid " please, try the plug plugin (-Dplug:%s)\n" -msgstr "" - -#: speaker-test/speaker-test.c:80 -msgid "8" -msgstr "" - -#: speaker-test/speaker-test.c:81 -msgid "9" -msgstr "" - -#: speaker-test/speaker-test.c:82 -msgid "10" -msgstr "" - -#: speaker-test/speaker-test.c:83 -msgid "11" -msgstr "" - -#: speaker-test/speaker-test.c:84 -msgid "12" -msgstr "" - -#: speaker-test/speaker-test.c:85 -msgid "13" -msgstr "" - -#: speaker-test/speaker-test.c:86 -msgid "14" -msgstr "" - -#: speaker-test/speaker-test.c:87 -msgid "15" -msgstr "" - -#: speaker-test/speaker-test.c:88 -msgid "16" -msgstr "" - -#: speaker-test/speaker-test.c:317 -#, c-format -msgid "Periods = %d\n" -msgstr "" - -#: speaker-test/speaker-test.c:318 -#, c-format -msgid "Buffer time size %lu\n" -msgstr "" - -#: speaker-test/speaker-test.c:330 -#, c-format -msgid "To choose buffer_size = %lu\n" -msgstr "" - -#: speaker-test/speaker-test.c:331 -#, c-format -msgid "To choose period_size = %lu\n" -msgstr "" - -#: speaker-test/speaker-test.c:335 -#, c-format -msgid "Unable to set period size %lu for playback: %s\n" -msgstr "" - -#: speaker-test/speaker-test.c:340 -#, c-format -msgid "Unable to get period size for playback: %s\n" -msgstr "" - -#: speaker-test/speaker-test.c:484 -msgid "" -"Usage: speaker-test [OPTION]... \n" -"-h,--help\thelp\n" -"-D,--device\tplayback device\n" -"-r,--rate\tstream rate in Hz\n" -"-c,--channels\tcount of channels in stream\n" -"-f,--frequency\tsine wave frequency in Hz\n" -"-F,--format\tsample format\n" -"-b,--buffer\tring buffer size in us\n" -"-p,--period\tperiod size in us\n" -"-t,--test\t1=use pink noise, 2=use sine wave\n" -"-s,--speaker\tsingle speaker test. Values 1=Left or 2=right\n" -"\n" -msgstr "" - -#: speaker-test/speaker-test.c:613 -#, c-format -msgid "Output failed: %s\n" -msgstr "" - -#: speaker-test/speaker-test.c:675 -msgid "Pausing\n" -msgstr "" Binary files /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/po/ja.gmo and /tmp/iwhLheC4Qp/alsa-utils-1.0.16/po/ja.gmo differ diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/po/ja.po /tmp/iwhLheC4Qp/alsa-utils-1.0.16/po/ja.po --- alsa-utils-1.0.15/po/ja.po 2008-08-14 15:36:10.000000000 +0100 +++ alsa-utils-1.0.16/po/ja.po 2008-02-05 09:25:41.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: alsa-utils 1.0.9a\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-10-15 10:47+0200\n" +"POT-Creation-Date: 2008-02-05 10:25+0100\n" "PO-Revision-Date: 2006-04-18 15:51+0200\n" "Last-Translator: Takashi Iwai \n" "Language-Team: Japanese\n" @@ -17,23 +17,23 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: aplay/aplay.c:129 +#: aplay/aplay.c:128 msgid "raw data" msgstr "raw データ" -#: aplay/aplay.c:130 +#: aplay/aplay.c:129 msgid "VOC" msgstr "VOC" -#: aplay/aplay.c:132 +#: aplay/aplay.c:131 msgid "WAVE" msgstr "WAVE" -#: aplay/aplay.c:133 +#: aplay/aplay.c:132 msgid "Sparc Audio" msgstr "Sparc オーディオ" -#: aplay/aplay.c:154 +#: aplay/aplay.c:153 #, fuzzy, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" @@ -49,7 +49,6 @@ "-f, --format=FORMAT sample format (case insensitive)\n" "-r, --rate=# sample rate\n" "-d, --duration=# interrupt after # seconds\n" -"-s, --sleep-min=# min ticks to sleep\n" "-M, --mmap mmap stream\n" "-N, --nonblock nonblocking mode\n" "-F, --period-time=# distance between interrupts is # microseconds\n" @@ -63,6 +62,10 @@ "xrun\n" "-v, --verbose show PCM structure and setup (accumulative)\n" "-I, --separate-channels one file for each channel\n" +" --disable-resample disable automatic rate resample\n" +" --disable-channels disable automatic channel conversions\n" +" --disable-format disable automatic format conversions\n" +" --disable-softvol disable software volume control (softvol)\n" msgstr "" "使用法: %s [オプション]... [ファイル]...\n" "\n" @@ -91,12 +94,12 @@ "-v, --verbose PCM の設定を表示 (複数指定可能)\n" "-I, --separate-channels 各チャネルに一つのファイルを用いる\n" -#: aplay/aplay.c:181 speaker-test/speaker-test.c:725 +#: aplay/aplay.c:183 speaker-test/speaker-test.c:721 #, c-format msgid "Recognized sample formats are:" msgstr "認識されるサンプルフォーマット:" -#: aplay/aplay.c:187 +#: aplay/aplay.c:189 #, c-format msgid "" "\n" @@ -105,143 +108,143 @@ "\n" "これらのいくつかは指定のハードウェアで使用不可能な場合があります\n" -#: aplay/aplay.c:188 +#: aplay/aplay.c:190 #, c-format msgid "The availabled format shortcuts are:\n" msgstr "可能なフォーマットの省略形:\n" -#: aplay/aplay.c:189 +#: aplay/aplay.c:191 #, c-format msgid "-f cd (16 bit little endian, 44100, stereo)\n" msgstr "-f cd (16 ビット、リトルエンディアン、44100、ステレオ)\n" -#: aplay/aplay.c:190 +#: aplay/aplay.c:192 #, c-format msgid "-f cdr (16 bit big endian, 44100, stereo)\n" msgstr "-f cdr (16 ビット、ビッグエンディアン、44100、ステレオ)\n" -#: aplay/aplay.c:191 +#: aplay/aplay.c:193 #, c-format msgid "-f dat (16 bit little endian, 48000, stereo)\n" msgstr "-f dat (16 ビット、リトルエンディアン、48000、ステレオ)\n" -#: aplay/aplay.c:205 +#: aplay/aplay.c:207 msgid "no soundcards found..." msgstr "サウンドカードが見つかりません..." -#: aplay/aplay.c:208 +#: aplay/aplay.c:210 #, c-format msgid "**** List of %s Hardware Devices ****\n" msgstr "**** ハードウェアデバイス %s のリスト ****\n" -#: aplay/aplay.c:237 +#: aplay/aplay.c:239 #, c-format msgid "card %i: %s [%s], device %i: %s [%s]\n" msgstr "カード %i: %s [%s], デバイス %i: %s [%s]\n" -#: aplay/aplay.c:243 +#: aplay/aplay.c:245 #, c-format msgid " Subdevices: %i/%i\n" msgstr " サブデバイス: %i/%i\n" -#: aplay/aplay.c:250 +#: aplay/aplay.c:252 #, c-format msgid " Subdevice #%i: %s\n" msgstr " サブデバイス #%i: %s\n" -#: aplay/aplay.c:314 +#: aplay/aplay.c:316 #, c-format msgid "Aborted by signal %s...\n" msgstr "シグナル %s で中断...\n" -#: aplay/aplay.c:398 +#: aplay/aplay.c:407 msgid "command should be named either arecord or aplay" msgstr "arecord または aplay コマンドのみ可能" -#: aplay/aplay.c:437 +#: aplay/aplay.c:446 #, c-format msgid "unrecognized file format %s" msgstr "不正なファイルフォーマット %s" -#: aplay/aplay.c:444 +#: aplay/aplay.c:453 #, c-format msgid "value %i for channels is invalid" msgstr "不正なチャネル数 %i" -#: aplay/aplay.c:463 +#: aplay/aplay.c:472 #, c-format msgid "wrong extended format '%s'" msgstr "不正な拡張フォーマット '%s'" -#: aplay/aplay.c:474 +#: aplay/aplay.c:483 #, c-format msgid "bad speed value %i" msgstr "不正なレート値 %i" -#: aplay/aplay.c:530 +#: aplay/aplay.c:548 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "より詳しい情報は「%s --help」を実行してください\n" -#: aplay/aplay.c:546 +#: aplay/aplay.c:564 #, c-format msgid "audio open error: %s" msgstr "" -#: aplay/aplay.c:551 +#: aplay/aplay.c:569 #, c-format msgid "info error: %s" msgstr "" -#: aplay/aplay.c:558 +#: aplay/aplay.c:576 #, c-format msgid "nonblock setting error: %s" msgstr "" -#: aplay/aplay.c:568 aplay/aplay.c:675 aplay/aplay.c:1026 +#: aplay/aplay.c:586 aplay/aplay.c:693 aplay/aplay.c:1030 msgid "not enough memory" msgstr "メモリが足りません" -#: aplay/aplay.c:665 +#: aplay/aplay.c:683 #, c-format msgid "read error (called from line %i)" msgstr "リードエラー (%i 行)" -#: aplay/aplay.c:723 +#: aplay/aplay.c:741 #, c-format msgid "unknown length of 'fmt ' chunk (read %u, should be %u at least)" msgstr "" -#: aplay/aplay.c:731 +#: aplay/aplay.c:749 msgid "can't play not PCM-coded WAVE-files" msgstr "PCM 以外の WAVE ファイルは再生できません" -#: aplay/aplay.c:735 +#: aplay/aplay.c:753 #, c-format msgid "can't play WAVE-files with %d tracks" msgstr "%d トラックを含む WAVE ファイルは再生できません" -#: aplay/aplay.c:743 aplay/aplay.c:840 +#: aplay/aplay.c:761 aplay/aplay.c:858 #, c-format msgid "Warning: format is changed to U8\n" msgstr "警告: フォーマットは U8 に変更されます\n" -#: aplay/aplay.c:749 +#: aplay/aplay.c:767 #, c-format msgid "Warning: format is changed to S16_LE\n" msgstr "警告: フォーマットは S16_LE に変更されます\n" -#: aplay/aplay.c:757 +#: aplay/aplay.c:775 #, c-format msgid "Warning: format is changed to S24_3LE\n" msgstr "警告: フォーマットは S24_3LE に変更されます\n" -#: aplay/aplay.c:763 +#: aplay/aplay.c:781 #, c-format msgid "Warning: format is changed to S24_LE\n" msgstr "警告: フォーマットは S24_LE に変更されます\n" -#: aplay/aplay.c:767 +#: aplay/aplay.c:785 #, c-format msgid "" " can't play WAVE-files with sample %d bits in %d bytes wide (%d channels)" @@ -249,168 +252,164 @@ "%2$d バイト長 %1$d サンプルビット (%3$d チャネル) の WAVE ファイルは再生でき" "ません" -#: aplay/aplay.c:776 +#: aplay/aplay.c:794 #, c-format msgid " can't play WAVE-files with sample %d bits wide" msgstr "%d ビット長のサンプルの WAVE ファイルは再生できません" -#: aplay/aplay.c:834 +#: aplay/aplay.c:852 #, c-format msgid "Warning: format is changed to MU_LAW\n" msgstr "警告: フォーマットは MU_LAW に変更されます\n" -#: aplay/aplay.c:846 +#: aplay/aplay.c:864 #, c-format msgid "Warning: format is changed to S16_BE\n" msgstr "警告: フォーマットは S16_BE に変更されます\n" -#: aplay/aplay.c:859 aplay/aplay.c:1496 aplay/aplay.c:1503 aplay/aplay.c:2019 +#: aplay/aplay.c:877 aplay/aplay.c:1494 aplay/aplay.c:1501 aplay/aplay.c:2019 #: aplay/aplay.c:2031 msgid "read error" msgstr "リードエラー" -#: aplay/aplay.c:879 +#: aplay/aplay.c:896 msgid "Broken configuration for this PCM: no configurations available" msgstr "指定の PCM を使用できません: 設定がありません" -#: aplay/aplay.c:896 +#: aplay/aplay.c:913 msgid "Access type not available" msgstr "アクセスタイプが使用不可能" -#: aplay/aplay.c:901 +#: aplay/aplay.c:918 msgid "Sample format non available" msgstr "サンプルフォーマットが使用不可能" -#: aplay/aplay.c:906 +#: aplay/aplay.c:923 msgid "Channels count non available" msgstr "チャネル数が使用不可能" -#: aplay/aplay.c:921 +#: aplay/aplay.c:938 #, c-format msgid "Warning: rate is not accurate (requested = %iHz, got = %iHz)\n" msgstr "警告: レートが不正確です (要求値 = %iHz, 使用値 = %iHz)\n" -#: aplay/aplay.c:927 +#: aplay/aplay.c:944 #, c-format msgid " please, try the plug plugin %s\n" msgstr " plug プラグイン%s を使用してください\n" -#: aplay/aplay.c:962 +#: aplay/aplay.c:979 msgid "Unable to install hw params:" msgstr "hw params のインストールに失敗しました:" -#: aplay/aplay.c:969 +#: aplay/aplay.c:986 #, c-format msgid "Can't use period equal to buffer size (%lu == %lu)" msgstr "period と buffer サイズには同じ値を使用できません (%lu == %lu)" -#: aplay/aplay.c:976 -msgid "Unable to obtain xfer align\n" -msgstr "xfer align 値を得ることができません\n" - -#: aplay/aplay.c:1013 +#: aplay/aplay.c:1017 msgid "unable to install sw params:" msgstr "sw params のインストールに失敗しました:" -#: aplay/aplay.c:1052 +#: aplay/aplay.c:1056 #, c-format msgid "status error: %s" msgstr "ステータスエラー: %s" -#: aplay/aplay.c:1060 +#: aplay/aplay.c:1064 #, c-format msgid "%s!!! (at least %.3f ms long)\n" msgstr "%s!!! (少なくとも %.3f ms)\n" -#: aplay/aplay.c:1061 +#: aplay/aplay.c:1065 msgid "underrun" msgstr "アンダーラン" -#: aplay/aplay.c:1061 +#: aplay/aplay.c:1065 msgid "overrun" msgstr "オーバーラン" -#: aplay/aplay.c:1064 +#: aplay/aplay.c:1068 #, c-format msgid "Status:\n" msgstr "ステータス:\n" -#: aplay/aplay.c:1068 +#: aplay/aplay.c:1072 #, c-format msgid "xrun: prepare error: %s" msgstr "" -#: aplay/aplay.c:1074 +#: aplay/aplay.c:1078 #, c-format msgid "Status(DRAINING):\n" msgstr "ステータス(DRAINING):\n" -#: aplay/aplay.c:1078 +#: aplay/aplay.c:1082 #, c-format msgid "capture stream format change? attempting recover...\n" msgstr "録音ストリームのフォーマットが変更? 修復を試みます...\n" -#: aplay/aplay.c:1080 +#: aplay/aplay.c:1084 #, c-format msgid "xrun(DRAINING): prepare error: %s" msgstr "" -#: aplay/aplay.c:1087 +#: aplay/aplay.c:1091 #, c-format msgid "Status(R/W):\n" msgstr "ステータス(R/W):\n" -#: aplay/aplay.c:1090 +#: aplay/aplay.c:1094 #, c-format msgid "read/write error, state = %s" msgstr "読み書きエラー, ステータス = %s" -#: aplay/aplay.c:1100 +#: aplay/aplay.c:1104 #, c-format msgid "Suspended. Trying resume. " msgstr "サスペンド中です。レジュームします。" -#: aplay/aplay.c:1105 +#: aplay/aplay.c:1109 #, c-format msgid "Failed. Restarting stream. " msgstr "失敗しました。ストリームを再スタートします。" -#: aplay/aplay.c:1107 +#: aplay/aplay.c:1111 #, c-format msgid "suspend: prepare error: %s" msgstr "サスペンド: prepare エラー: %s" -#: aplay/aplay.c:1112 +#: aplay/aplay.c:1116 #, c-format msgid "Done.\n" msgstr "終了\n" -#: aplay/aplay.c:1191 +#: aplay/aplay.c:1195 #, c-format msgid "Unsupported bit size %d.\n" msgstr "" -#: aplay/aplay.c:1227 +#: aplay/aplay.c:1231 #, c-format msgid " !clip " msgstr "" -#: aplay/aplay.c:1232 +#: aplay/aplay.c:1236 #, c-format msgid "Max peak (%li samples): 0x%08x " msgstr "最大ピーク (%li サンプル): 0x%08x " -#: aplay/aplay.c:1266 +#: aplay/aplay.c:1269 #, c-format msgid "write error: %s" msgstr "書込エラー: %s" -#: aplay/aplay.c:1308 +#: aplay/aplay.c:1310 #, c-format msgid "writev error: %s" msgstr "書込(writev)エラー: %s" -#: aplay/aplay.c:1347 +#: aplay/aplay.c:1348 #, c-format msgid "read error: %s" msgstr "読込エラー: %s" @@ -424,83 +423,83 @@ msgid "can't allocate buffer for silence" msgstr "サイレンス用のバッファの取得に失敗しました" -#: aplay/aplay.c:1443 aplay/aplay.c:1671 aplay/aplay.c:1676 aplay/aplay.c:1723 -#: aplay/aplay.c:1732 aplay/aplay.c:1739 aplay/aplay.c:1749 aplay/aplay.c:1755 -#: aplay/aplay.c:1823 aplay/aplay.c:1853 aplay/aplay.c:1867 +#: aplay/aplay.c:1443 aplay/aplay.c:1669 aplay/aplay.c:1674 aplay/aplay.c:1721 +#: aplay/aplay.c:1730 aplay/aplay.c:1737 aplay/aplay.c:1747 aplay/aplay.c:1753 +#: aplay/aplay.c:1821 aplay/aplay.c:1851 aplay/aplay.c:1865 msgid "write error" msgstr "書込エラー" -#: aplay/aplay.c:1457 +#: aplay/aplay.c:1456 #, c-format msgid "voc_pcm_flush - silence error" msgstr "" -#: aplay/aplay.c:1463 +#: aplay/aplay.c:1459 msgid "voc_pcm_flush error" msgstr "" -#: aplay/aplay.c:1487 +#: aplay/aplay.c:1485 msgid "malloc error" msgstr "malloc エラー" -#: aplay/aplay.c:1491 +#: aplay/aplay.c:1489 #, c-format msgid "Playing Creative Labs Channel file '%s'...\n" msgstr "Creative Labs Channel ファイル '%s' を演奏中...\n" -#: aplay/aplay.c:1559 aplay/aplay.c:1651 +#: aplay/aplay.c:1557 aplay/aplay.c:1649 msgid "can't play packed .voc files" msgstr "packed .voc ファイルは演奏できません" -#: aplay/aplay.c:1611 +#: aplay/aplay.c:1609 #, c-format msgid "can't play loops; %s isn't seekable\n" msgstr "ループ演奏できません。%s はシーク不可能です\n" -#: aplay/aplay.c:1660 +#: aplay/aplay.c:1658 #, c-format msgid "unknown blocktype %d. terminate." msgstr "未知のブロックタイプ %d: 終了します。" -#: aplay/aplay.c:1790 +#: aplay/aplay.c:1788 #, c-format msgid "Wave doesn't support %s format..." msgstr "WAVE は %s フォーマットをサポートしません..." -#: aplay/aplay.c:1847 +#: aplay/aplay.c:1845 #, c-format msgid "Sparc Audio doesn't support %s format..." msgstr "Sparc オーディオは %s フォーマットをサポートしません..." -#: aplay/aplay.c:1928 +#: aplay/aplay.c:1926 msgid "Playing" msgstr "再生中" -#: aplay/aplay.c:1928 +#: aplay/aplay.c:1926 msgid "Recording" msgstr "録音中" -#: aplay/aplay.c:1932 +#: aplay/aplay.c:1930 #, c-format msgid "Rate %d Hz, " msgstr "レート %d Hz, " -#: aplay/aplay.c:1934 +#: aplay/aplay.c:1932 #, c-format msgid "Mono" msgstr "モノラル" -#: aplay/aplay.c:1936 +#: aplay/aplay.c:1934 #, c-format msgid "Stereo" msgstr "ステレオ" -#: aplay/aplay.c:1938 +#: aplay/aplay.c:1936 #, c-format msgid "Channels %i" msgstr "チャネル数 %i" -#: aplay/aplay.c:2293 aplay/aplay.c:2346 +#: aplay/aplay.c:2295 aplay/aplay.c:2348 #, c-format msgid "You need to specify %d files" msgstr "%d 個のファイルを指定してください" @@ -631,7 +630,7 @@ msgid "invalid sender address %s\n" msgstr "送信アドレスが不正です: %s\n" -#: seq/aconnect/aconnect.c:373 seq/aseqnet/aseqnet.c:289 +#: seq/aconnect/aconnect.c:373 seq/aseqnet/aseqnet.c:290 #, c-format msgid "invalid destination address %s\n" msgstr "受信アドレスが不正です: %s\n" @@ -656,127 +655,127 @@ msgid "Connection failed (%s)\n" msgstr "接続に失敗 (%s)\n" -#: seq/aseqnet/aseqnet.c:163 +#: seq/aseqnet/aseqnet.c:164 #, c-format msgid "aseqnet - network client/server on ALSA sequencer\n" msgstr "aseqnet - ALSA sequencer 上のネットワーククライアント/サーバ\n" -#: seq/aseqnet/aseqnet.c:164 +#: seq/aseqnet/aseqnet.c:165 #, c-format msgid " Copyright (C) 1999 Takashi Iwai\n" msgstr "" -#: seq/aseqnet/aseqnet.c:165 +#: seq/aseqnet/aseqnet.c:166 #, c-format msgid "usage:\n" msgstr "使用法:\n" -#: seq/aseqnet/aseqnet.c:166 +#: seq/aseqnet/aseqnet.c:167 #, c-format msgid " server mode: aseqnet [-options]\n" msgstr " サーバモード: aseqnet [-オプション]\n" -#: seq/aseqnet/aseqnet.c:167 +#: seq/aseqnet/aseqnet.c:168 #, c-format msgid " client mode: aseqnet [-options] server_host\n" msgstr " クライアントモード: aseqnet [-オプション] サーバホスト\n" -#: seq/aseqnet/aseqnet.c:168 +#: seq/aseqnet/aseqnet.c:169 #, c-format msgid "options:\n" msgstr "オプション:\n" -#: seq/aseqnet/aseqnet.c:169 +#: seq/aseqnet/aseqnet.c:170 #, c-format msgid " -p,--port # : sepcify TCP port (digit or service name)\n" msgstr " -p,--port # : TCP ポートの指定 (数字またはサービス名)\n" -#: seq/aseqnet/aseqnet.c:170 +#: seq/aseqnet/aseqnet.c:171 #, c-format msgid " -s,--source addr : read from given addr (client:port)\n" msgstr " -s,--source addr : 指定のアドレス(クライアント:ポート)から読み込む\n" -#: seq/aseqnet/aseqnet.c:171 +#: seq/aseqnet/aseqnet.c:172 #, c-format msgid " -d,--dest addr : write to given addr (client:port)\n" msgstr " -d,--dest addr : 指定のアドレス(クライアント:ポート)に書き込む\n" -#: seq/aseqnet/aseqnet.c:172 +#: seq/aseqnet/aseqnet.c:173 #, c-format msgid " -v, --verbose : print verbose messages\n" msgstr " -v,--verbose : 冗長メッセージ表示\n" -#: seq/aseqnet/aseqnet.c:173 +#: seq/aseqnet/aseqnet.c:174 #, c-format msgid " -i, --info : print certain received events\n" msgstr " -i,--info : 受信イベントを表示する\n" -#: seq/aseqnet/aseqnet.c:187 +#: seq/aseqnet/aseqnet.c:188 #, c-format msgid "can't malloc\n" msgstr "malloc できません\n" -#: seq/aseqnet/aseqnet.c:212 +#: seq/aseqnet/aseqnet.c:213 #, c-format msgid "closing files..\n" msgstr "ファイルを閉じます..\n" -#: seq/aseqnet/aseqnet.c:271 +#: seq/aseqnet/aseqnet.c:272 #, c-format msgid "sequencer opened: %d:%d\n" msgstr "" -#: seq/aseqnet/aseqnet.c:278 +#: seq/aseqnet/aseqnet.c:279 #, c-format msgid "invalid source address %s\n" msgstr "不正な送信アドレス %s\n" -#: seq/aseqnet/aseqnet.c:308 +#: seq/aseqnet/aseqnet.c:309 #, c-format msgid "service '%s' is not found in /etc/services\n" msgstr "サービス '%s' が /etc/services に見つかりません\n" -#: seq/aseqnet/aseqnet.c:376 +#: seq/aseqnet/aseqnet.c:377 #, c-format msgid "too many connections!\n" msgstr "接続が多すぎます!\n" -#: seq/aseqnet/aseqnet.c:387 +#: seq/aseqnet/aseqnet.c:388 #, c-format msgid "accepted[%d]\n" msgstr "了解[%d]\n" -#: seq/aseqnet/aseqnet.c:410 +#: seq/aseqnet/aseqnet.c:411 #, c-format msgid "can't get address %s\n" msgstr "アドレス %s を取得できません\n" -#: seq/aseqnet/aseqnet.c:421 +#: seq/aseqnet/aseqnet.c:422 #, c-format msgid "ok.. connected\n" msgstr "ok.. 接続\n" -#: seq/aseqnet/aseqnet.c:517 +#: seq/aseqnet/aseqnet.c:518 #, c-format msgid "Channel %2d: Control event : %5d\n" msgstr "チャネル %2d: コントロール : %5d\n" -#: seq/aseqnet/aseqnet.c:521 +#: seq/aseqnet/aseqnet.c:522 #, c-format msgid "Channel %2d: Pitchbender : %5d\n" msgstr "チャネル %2d: ピッチベンド : %5d\n" -#: seq/aseqnet/aseqnet.c:525 +#: seq/aseqnet/aseqnet.c:526 #, c-format msgid "Channel %2d: Note On event : %5d\n" msgstr "チャネル %2d: ノートオン : %5d\n" -#: seq/aseqnet/aseqnet.c:529 +#: seq/aseqnet/aseqnet.c:530 #, c-format msgid "Channel %2d: Note Off event: %5d\n" msgstr "チャネル %2d: ノートオフ : %5d\n" -#: seq/aseqnet/aseqnet.c:584 +#: seq/aseqnet/aseqnet.c:585 #, c-format msgid "disconnected\n" msgstr "切り離し\n" @@ -967,80 +966,75 @@ #: speaker-test/speaker-test.c:410 #, c-format -msgid "Unable to set transfer align for playback: %s\n" -msgstr "転送 align を設定できません: %s\n" - -#: speaker-test/speaker-test.c:417 -#, c-format msgid "Unable to set sw params for playback: %s\n" msgstr "再生用の sw params を設定できません: %s\n" -#: speaker-test/speaker-test.c:432 +#: speaker-test/speaker-test.c:425 #, c-format msgid "Can't recovery from underrun, prepare failed: %s\n" msgstr "アンダーランから復帰失敗: %s\n" -#: speaker-test/speaker-test.c:443 +#: speaker-test/speaker-test.c:436 #, c-format msgid "Can't recovery from suspend, prepare failed: %s\n" msgstr "サスペンドから復帰失敗: %s\n" -#: speaker-test/speaker-test.c:517 speaker-test/speaker-test.c:911 +#: speaker-test/speaker-test.c:510 speaker-test/speaker-test.c:907 #, c-format msgid "No enough memory\n" msgstr "メモリが足りません\n" -#: speaker-test/speaker-test.c:522 +#: speaker-test/speaker-test.c:515 #, c-format msgid "Cannot open WAV file %s\n" msgstr "WAVファイルがオープンできません: %s\n" -#: speaker-test/speaker-test.c:526 speaker-test/speaker-test.c:555 +#: speaker-test/speaker-test.c:519 speaker-test/speaker-test.c:548 #, c-format msgid "Invalid WAV file %s\n" msgstr "不正なWAVファイルです: %s\n" -#: speaker-test/speaker-test.c:531 +#: speaker-test/speaker-test.c:524 #, c-format msgid "Not a WAV file: %s\n" msgstr "WAVファイルではありません: %s\n" -#: speaker-test/speaker-test.c:535 +#: speaker-test/speaker-test.c:528 #, c-format msgid "Unsupported WAV format %d for %s\n" msgstr "未サポートのWAVフォーマット %d: %s\n" -#: speaker-test/speaker-test.c:540 +#: speaker-test/speaker-test.c:533 #, c-format msgid "%s is not a mono stream (%d channels)\n" msgstr "%s はモノストリームではありません (%d チャネル)\n" -#: speaker-test/speaker-test.c:545 +#: speaker-test/speaker-test.c:538 #, c-format msgid "Sample rate doesn't match (%d) for %s\n" msgstr "サンプルレートが不一致です(%d): %s\n" -#: speaker-test/speaker-test.c:550 +#: speaker-test/speaker-test.c:543 #, c-format msgid "Unsupported sample format bits %d for %s\n" msgstr "未サポートのサンプルフォーマットビット %d: %s\n" -#: speaker-test/speaker-test.c:600 +#: speaker-test/speaker-test.c:593 #, c-format msgid "Undefined channel %d\n" msgstr "未定義のチャネル %d\n" -#: speaker-test/speaker-test.c:651 +#: speaker-test/speaker-test.c:644 #, c-format msgid "Write error: %d,%s\n" msgstr "書込エラー: %d,%s\n" -#: speaker-test/speaker-test.c:653 +#: speaker-test/speaker-test.c:646 #, c-format msgid "xrun_recovery failed: %d,%s\n" msgstr "xrun_recovery 失敗: %d,%s\n" -#: speaker-test/speaker-test.c:708 +#: speaker-test/speaker-test.c:704 #, c-format msgid "" "Usage: speaker-test [OPTION]... \n" @@ -1078,248 +1072,90 @@ "-W,--wavdir WAVファイルのあるディレクトリを指定\n" "\n" -#: speaker-test/speaker-test.c:820 +#: speaker-test/speaker-test.c:816 #, c-format msgid "Invalid number of periods %d\n" msgstr "不正なピリオド数 %d\n" -#: speaker-test/speaker-test.c:834 speaker-test/speaker-test.c:838 +#: speaker-test/speaker-test.c:830 speaker-test/speaker-test.c:834 #, c-format msgid "Invalid test type %s\n" msgstr "不正なテストタイプ %s\n" -#: speaker-test/speaker-test.c:850 +#: speaker-test/speaker-test.c:846 #, c-format msgid "Invalid parameter for -s option.\n" msgstr "-s オプションの値が不正です\n" -#: speaker-test/speaker-test.c:861 +#: speaker-test/speaker-test.c:857 #, c-format msgid "Unknown option '%c'\n" msgstr "未知のオプション '%c'\n" -#: speaker-test/speaker-test.c:875 +#: speaker-test/speaker-test.c:871 #, c-format msgid "Playback device is %s\n" msgstr "再生デバイス: %s\n" -#: speaker-test/speaker-test.c:876 +#: speaker-test/speaker-test.c:872 #, c-format msgid "Stream parameters are %iHz, %s, %i channels\n" msgstr "ストリームパラメータ: %iHz, %s, %i チャネル\n" -#: speaker-test/speaker-test.c:879 +#: speaker-test/speaker-test.c:875 #, c-format msgid "Using 16 octaves of pink noise\n" msgstr "16 オクターブのピンクノイズを使用\n" -#: speaker-test/speaker-test.c:882 +#: speaker-test/speaker-test.c:878 #, c-format msgid "Sine wave rate is %.4fHz\n" msgstr "正弦波レート: %.4fHz\n" -#: speaker-test/speaker-test.c:885 +#: speaker-test/speaker-test.c:881 #, c-format msgid "WAV file(s)\n" msgstr "WAV ファイル\n" -#: speaker-test/speaker-test.c:891 +#: speaker-test/speaker-test.c:887 #, c-format msgid "Playback open error: %d,%s\n" msgstr "再生オープンエラー: %d,%s\n" -#: speaker-test/speaker-test.c:896 +#: speaker-test/speaker-test.c:892 #, c-format msgid "Setting of hwparams failed: %s\n" msgstr "hwparams の設定に失敗: %s\n" -#: speaker-test/speaker-test.c:901 +#: speaker-test/speaker-test.c:897 #, c-format msgid "Setting of swparams failed: %s\n" msgstr "swparams の設定に失敗: %s\n" -#: speaker-test/speaker-test.c:942 speaker-test/speaker-test.c:964 +#: speaker-test/speaker-test.c:938 speaker-test/speaker-test.c:960 #, c-format msgid "Transfer failed: %s\n" msgstr "転送に失敗しました: %s\n" -#: speaker-test/speaker-test.c:952 +#: speaker-test/speaker-test.c:948 #, c-format msgid "Time per period = %lf\n" msgstr "ピリオド時間 = %lf\n" -#: aplay/aplay.c:153 -#, c-format -msgid "" -"Usage: %s [OPTION]... [FILE]...\n" -"\n" -"-h, --help help\n" -" --version print current version\n" -"-l, --list-devices list all soundcards and digital audio devices\n" -"-L, --list-pcms list all PCMs defined\n" -"-D, --device=NAME select PCM by name\n" -"-q, --quiet quiet mode\n" -"-t, --file-type TYPE file type (voc, wav, raw or au)\n" -"-c, --channels=# channels\n" -"-f, --format=FORMAT sample format (case insensitive)\n" -"-r, --rate=# sample rate\n" -"-d, --duration=# interrupt after # seconds\n" -"-s, --sleep-min=# min ticks to sleep\n" -"-M, --mmap mmap stream\n" -"-N, --nonblock nonblocking mode\n" -"-F, --period-time=# distance between interrupts is # microseconds\n" -"-B, --buffer-time=# buffer duration is # microseconds\n" -" --period-size=# distance between interrupts is # frames\n" -" --buffer-size=# buffer duration is # frames\n" -"-A, --avail-min=# min available space for wakeup is # microseconds\n" -"-R, --start-delay=# delay for automatic PCM start is # microseconds \n" -" (relative to buffer size if <= 0)\n" -"-T, --stop-delay=# delay for automatic PCM stop is # microseconds from " -"xrun\n" -"-v, --verbose show PCM structure and setup (accumulative)\n" -"-I, --separate-channels one file for each channel\n" -msgstr "" -"使用法: %s [オプション]... [ファイル]...\n" -"\n" -"-h, --help ヘルプ\n" -" --version 現在のバージョンを表示\n" -"-l, --list-devices 全てのサウンドカードとオーディオデバイスを表示\n" -"-L, --list-pcms 全ての定義された PCM を表示\n" -"-D, --device=NAME 使用する PCM を指定\n" -"-q, --quiet quiet モード\n" -"-t, --file-type TYPE ファイルタイプ (voc, wav, raw または au)\n" -"-c, --channels=# チャネル数\n" -"-f, --format=FORMAT サンプルフォーマット (大/小文字区別)\n" -"-r, --rate=# サンプルレート\n" -"-d, --duration=# 指定の秒数後に終了\n" -"-s, --sleep-min=# sleep する最少 tick 数\n" -"-M, --mmap mmap ストリーム\n" -"-N, --nonblock 非ブロックモード\n" -"-F, --period-time=# 割り込み間隔をμ秒で指定\n" -"-B, --buffer-time=# バッファの大きさをμ秒で指定\n" -" --period-size=# 割り込み間隔をフレーム数で指定\n" -" --buffer-size=# バッファの大きさをフレーム数で指定\n" -"-A, --avail-min=# wakeup の最少スペースをμ秒で指定\n" -"-R, --start-delay=# 指定のμ秒後に PCM を自動スタート\n" -" (0 以下の場合はバッファサイズより)\n" -"-T, --stop-delay=# XRUN から指定のμ秒後に PCM の自動停止\n" -"-v, --verbose PCM の設定を表示 (複数指定可能)\n" -"-I, --separate-channels 各チャネルに一つのファイルを用いる\n" - -#: aplay/aplay.c:200 -#, c-format -msgid "snd_names_list error: %s" -msgstr "snd_names_list エラー: %s" +#~ msgid "Unable to obtain xfer align\n" +#~ msgstr "xfer align 値を得ることができません\n" -#: aplay/aplay.c:295 -#, c-format -msgid "PCM list:\n" -msgstr "PCM リスト:\n" +#~ msgid "Unable to set transfer align for playback: %s\n" +#~ msgstr "転送 align を設定できません: %s\n" -#: aplay/aplay.c:915 -#, c-format -msgid " please, try the plug plugin (-Dplug:%s)\n" -msgstr " plug プラグイン (-Dplug:%s) を使用してください\n" +#~ msgid "snd_names_list error: %s" +#~ msgstr "snd_names_list エラー: %s" -#: speaker-test/speaker-test.c:80 -msgid "8" -msgstr "" - -#: speaker-test/speaker-test.c:81 -msgid "9" -msgstr "" - -#: speaker-test/speaker-test.c:82 -msgid "10" -msgstr "" +#~ msgid "PCM list:\n" +#~ msgstr "PCM リスト:\n" -#: speaker-test/speaker-test.c:83 -msgid "11" -msgstr "" - -#: speaker-test/speaker-test.c:84 -msgid "12" -msgstr "" - -#: speaker-test/speaker-test.c:85 -msgid "13" -msgstr "" - -#: speaker-test/speaker-test.c:86 -msgid "14" -msgstr "" - -#: speaker-test/speaker-test.c:87 -msgid "15" -msgstr "" - -#: speaker-test/speaker-test.c:88 -msgid "16" -msgstr "" - -#: speaker-test/speaker-test.c:317 -#, c-format -msgid "Periods = %d\n" -msgstr "ピリオド数 = %d\n" - -#: speaker-test/speaker-test.c:318 -#, c-format -msgid "Buffer time size %lu\n" -msgstr "バッファタイムサイズ %lu\n" - -#: speaker-test/speaker-test.c:330 -#, c-format -msgid "To choose buffer_size = %lu\n" -msgstr "buffer_size = %lu を選択\n" - -#: speaker-test/speaker-test.c:331 -#, c-format -msgid "To choose period_size = %lu\n" -msgstr "period_size = %lu を選択\n" - -#: speaker-test/speaker-test.c:335 -#, c-format -msgid "Unable to set period size %lu for playback: %s\n" -msgstr "period_size %lu を設定できません: %s\n" - -#: speaker-test/speaker-test.c:340 -#, c-format -msgid "Unable to get period size for playback: %s\n" -msgstr "period_size を取得できません: %s\n" - -#: speaker-test/speaker-test.c:484 -msgid "" -"Usage: speaker-test [OPTION]... \n" -"-h,--help\thelp\n" -"-D,--device\tplayback device\n" -"-r,--rate\tstream rate in Hz\n" -"-c,--channels\tcount of channels in stream\n" -"-f,--frequency\tsine wave frequency in Hz\n" -"-F,--format\tsample format\n" -"-b,--buffer\tring buffer size in us\n" -"-p,--period\tperiod size in us\n" -"-t,--test\t1=use pink noise, 2=use sine wave\n" -"-s,--speaker\tsingle speaker test. Values 1=Left or 2=right\n" -"\n" -msgstr "" -"使用法: speaker-test [オプション]...\n" -"-h,--help ヘルプ\n" -"-D,--device 再生デバイス\n" -"-r,--rate ストリームレート (Hz)\n" -"-c,--channels チャネル数\n" -"-f,--frequency 正弦波周波数 (hz)\n" -"-F,--format サンプルフォーマット\n" -"-b,--buffer リングバッファーサイズ (μs)\n" -"-p,--period ピリオドサイズ (μs)\n" -"-t,--test 1=ピンクノイズを使用, 2=正弦波を使用\n" -"-s,--speaker 単一スピーカーテスト 1=左 または 2=右\n" -"\n" - -#: speaker-test/speaker-test.c:613 -#, c-format -msgid "Output failed: %s\n" -msgstr "出力失敗: %s\n" +#~ msgid "Output failed: %s\n" +#~ msgstr "出力失敗: %s\n" -#: speaker-test/speaker-test.c:675 -msgid "Pausing\n" -msgstr "停止中\n" +#~ msgid "Pausing\n" +#~ msgstr "停止中\n" diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/seq/aseqnet/aseqnet.c /tmp/iwhLheC4Qp/alsa-utils-1.0.16/seq/aseqnet/aseqnet.c --- alsa-utils-1.0.15/seq/aseqnet/aseqnet.c 2007-10-15 09:46:57.000000000 +0100 +++ alsa-utils-1.0.16/seq/aseqnet/aseqnet.c 2008-02-05 09:25:23.000000000 +0000 @@ -26,6 +26,7 @@ #include #include #include +#include #include "aconfig.h" #include "gettext.h" diff -Nru /tmp/Y3vDYWj4KE/alsa-utils-1.0.15/speaker-test/speaker-test.c /tmp/iwhLheC4Qp/alsa-utils-1.0.16/speaker-test/speaker-test.c --- alsa-utils-1.0.15/speaker-test/speaker-test.c 2007-10-15 09:46:57.000000000 +0100 +++ alsa-utils-1.0.16/speaker-test/speaker-test.c 2008-02-05 09:25:23.000000000 +0000 @@ -276,28 +276,28 @@ /* choose all parameters */ err = snd_pcm_hw_params_any(handle, params); if (err < 0) { - printf(_("Broken configuration for playback: no configurations available: %s\n"), snd_strerror(err)); + fprintf(stderr, _("Broken configuration for playback: no configurations available: %s\n"), snd_strerror(err)); return err; } /* set the interleaved read/write format */ err = snd_pcm_hw_params_set_access(handle, params, access); if (err < 0) { - printf(_("Access type not available for playback: %s\n"), snd_strerror(err)); + fprintf(stderr, _("Access type not available for playback: %s\n"), snd_strerror(err)); return err; } /* set the sample format */ err = snd_pcm_hw_params_set_format(handle, params, format); if (err < 0) { - printf(_("Sample format not available for playback: %s\n"), snd_strerror(err)); + fprintf(stderr, _("Sample format not available for playback: %s\n"), snd_strerror(err)); return err; } /* set the count of channels */ err = snd_pcm_hw_params_set_channels(handle, params, channels); if (err < 0) { - printf(_("Channels count (%i) not available for playbacks: %s\n"), channels, snd_strerror(err)); + fprintf(stderr, _("Channels count (%i) not available for playbacks: %s\n"), channels, snd_strerror(err)); return err; } @@ -305,12 +305,12 @@ rrate = rate; err = snd_pcm_hw_params_set_rate(handle, params, rate, 0); if (err < 0) { - printf(_("Rate %iHz not available for playback: %s\n"), rate, snd_strerror(err)); + fprintf(stderr, _("Rate %iHz not available for playback: %s\n"), rate, snd_strerror(err)); return err; } if (rrate != rate) { - printf(_("Rate doesn't match (requested %iHz, get %iHz, err %d)\n"), rate, rrate, err); + fprintf(stderr, _("Rate doesn't match (requested %iHz, get %iHz, err %d)\n"), rate, rrate, err); return -EINVAL; } @@ -326,7 +326,7 @@ printf(_("Requested period time %u us\n"), period_time); err = snd_pcm_hw_params_set_period_time_near(handle, params, &period_time, NULL); if (err < 0) { - printf(_("Unable to set period time %u us for playback: %s\n"), + fprintf(stderr, _("Unable to set period time %u us for playback: %s\n"), period_time, snd_strerror(err)); return err; } @@ -335,7 +335,7 @@ printf(_("Requested buffer time %u us\n"), buffer_time); err = snd_pcm_hw_params_set_buffer_time_near(handle, params, &buffer_time, NULL); if (err < 0) { - printf(_("Unable to set buffer time %u us for playback: %s\n"), + fprintf(stderr, _("Unable to set buffer time %u us for playback: %s\n"), buffer_time, snd_strerror(err)); return err; } @@ -347,7 +347,7 @@ printf(_("Using max buffer size %lu\n"), buffer_size); err = snd_pcm_hw_params_set_buffer_size_near(handle, params, &buffer_size); if (err < 0) { - printf(_("Unable to set buffer size %lu for playback: %s\n"), + fprintf(stderr, _("Unable to set buffer size %lu for playback: %s\n"), buffer_size, snd_strerror(err)); return err; } @@ -356,7 +356,7 @@ printf(_("Periods = %u\n"), nperiods); err = snd_pcm_hw_params_set_periods_near(handle, params, &nperiods, NULL); if (err < 0) { - printf(_("Unable to set nperiods %u for playback: %s\n"), + fprintf(stderr, _("Unable to set nperiods %u for playback: %s\n"), nperiods, snd_strerror(err)); return err; } @@ -366,14 +366,14 @@ printf(_("was set period_size = %lu\n"),period_size); printf(_("was set buffer_size = %lu\n"),buffer_size); if (2*period_size > buffer_size) { - printf(_("buffer to small, could not use\n")); - return err; + fprintf(stderr, _("buffer to small, could not use\n")); + return -EINVAL; } /* write the parameters to device */ err = snd_pcm_hw_params(handle, params); if (err < 0) { - printf(_("Unable to set hw params for playback: %s\n"), snd_strerror(err)); + fprintf(stderr, _("Unable to set hw params for playback: %s\n"), snd_strerror(err)); return err; } @@ -386,35 +386,28 @@ /* get the current swparams */ err = snd_pcm_sw_params_current(handle, swparams); if (err < 0) { - printf(_("Unable to determine current swparams for playback: %s\n"), snd_strerror(err)); + fprintf(stderr, _("Unable to determine current swparams for playback: %s\n"), snd_strerror(err)); return err; } /* start the transfer when a buffer is full */ err = snd_pcm_sw_params_set_start_threshold(handle, swparams, buffer_size); if (err < 0) { - printf(_("Unable to set start threshold mode for playback: %s\n"), snd_strerror(err)); + fprintf(stderr, _("Unable to set start threshold mode for playback: %s\n"), snd_strerror(err)); return err; } /* allow the transfer when at least period_size frames can be processed */ err = snd_pcm_sw_params_set_avail_min(handle, swparams, period_size); if (err < 0) { - printf(_("Unable to set avail min for playback: %s\n"), snd_strerror(err)); - return err; - } - - /* align all transfers to 1 sample */ - err = snd_pcm_sw_params_set_xfer_align(handle, swparams, 1); - if (err < 0) { - printf(_("Unable to set transfer align for playback: %s\n"), snd_strerror(err)); + fprintf(stderr, _("Unable to set avail min for playback: %s\n"), snd_strerror(err)); return err; } /* write the parameters to the playback device */ err = snd_pcm_sw_params(handle, swparams); if (err < 0) { - printf(_("Unable to set sw params for playback: %s\n"), snd_strerror(err)); + fprintf(stderr, _("Unable to set sw params for playback: %s\n"), snd_strerror(err)); return err; } @@ -429,7 +422,7 @@ if (err == -EPIPE) { /* under-run */ err = snd_pcm_prepare(handle); if (err < 0) - printf(_("Can't recovery from underrun, prepare failed: %s\n"), snd_strerror(err)); + fprintf(stderr, _("Can't recovery from underrun, prepare failed: %s\n"), snd_strerror(err)); return 0; } else if (err == -ESTRPIPE) { @@ -440,7 +433,7 @@ if (err < 0) { err = snd_pcm_prepare(handle); if (err < 0) - printf(_("Can't recovery from suspend, prepare failed: %s\n"), snd_strerror(err)); + fprintf(stderr, _("Can't recovery from suspend, prepare failed: %s\n"), snd_strerror(err)); } return 0; @@ -648,9 +641,9 @@ continue; if (err < 0) { - printf(_("Write error: %d,%s\n"), err, snd_strerror(err)); + fprintf(stderr, _("Write error: %d,%s\n"), err, snd_strerror(err)); if (xrun_recovery(handle, err) < 0) { - printf(_("xrun_recovery failed: %d,%s\n"), err, snd_strerror(err)); + fprintf(stderr, _("xrun_recovery failed: %d,%s\n"), err, snd_strerror(err)); return -1; } break; /* skip one period */ @@ -684,6 +677,9 @@ } + if (periods <= 0) + periods = 1; + for(n = 0; n < periods; n++) { if (test_type == TEST_PINK_NOISE) generate_pink_noise(frames, channel, period_size); @@ -847,7 +843,7 @@ speaker = speaker < 1 ? 0 : speaker; speaker = speaker > channels ? 0 : speaker; if (speaker==0) { - printf(_("Invalid parameter for -s option.\n")); + fprintf(stderr, _("Invalid parameter for -s option.\n")); exit(EXIT_FAILURE); } break; @@ -858,7 +854,7 @@ wav_file_dir = optarg; break; default: - printf(_("Unknown option '%c'\n"), c); + fprintf(stderr, _("Unknown option '%c'\n"), c); exit(EXIT_FAILURE); break; } @@ -908,7 +904,7 @@ initialize_pink_noise(&pink, 16); if (frames == NULL) { - printf(_("No enough memory\n")); + fprintf(stderr, _("No enough memory\n")); exit(EXIT_FAILURE); } if (speaker==0) { @@ -939,7 +935,7 @@ err = write_loop(handle, channel, ((rate*3)/period_size), frames); if (err < 0) { - printf(_("Transfer failed: %s\n"), snd_strerror(err)); + fprintf(stderr, _("Transfer failed: %s\n"), snd_strerror(err)); free(frames); snd_pcm_close(handle); exit(EXIT_SUCCESS); @@ -961,7 +957,7 @@ err = write_loop(handle, speaker-1, ((rate*5)/period_size), frames); if (err < 0) { - printf(_("Transfer failed: %s\n"), snd_strerror(err)); + fprintf(stderr, _("Transfer failed: %s\n"), snd_strerror(err)); } }