On Sun, 23 Jul 2000, Victor Wagner wrote: > On Sun, 23 Jul 2000, Vlad Harchev wrote: > > Я не много посмотрел на код esd - я бы сказал что это обычный хак, по > > глупой > > случайности переросший в достаточно поддерживаемую тулзу/протокол. > > К сожалению, это тенденция в современном Computer Science - язык C++, > язык Perl, Microsoft Windows, процессоры Intel и тому подобные вещи > получали распространение > отнюдь не потому что были лучше аналогов.
Ну если уж пошел флейм - то по моему C++ это верхняя (наиболее желаемая, в хорошем смысле) граница того, что можно сделать из компилируемого языка - так что я его буду защищать до последнего. За C++ template's, Степанова и его STL я богу молюсь (в переносном смысле). Про perl бы я так жестоко не стал бы тоже - терпимо, зато мощно и компактный исходный код. > > > Свойства: > > * Обеспечивает микширование звука из несольких потоков данных, в том числе с > > других хостов > > * Обеспечивает загрузку звука на сервер (с именованием данного звука) с > > последующей возможностью проигрывания данного звука путем ссылки на него > > по > > полученному идентификатору > > * Еще обеспечивает запись звука с микрофона (вроде тоже по сети, но я не > > в этом направлении вообще не копал) > > * Поддерживает различные способы проигрывания звука - через alsa, oss, > > /dev/dsp, а также проигрывание на aix, hpux, irix, solaris > > Да... NAS умеет куда больше. Кстати почему-то в данном описании не > прозвучали такие слова как "разные методы дискретизации - Ulaw, Alaw и > linear". Неужели автор esd о них не слышал? Разве это настолько важно? Как я понимаю, перевод из одного формата дискретизации в другой - тривиальная не ресурсоемкая задача - уж это можно списать на клиента. Не поддержка этого не требует увеличения рамера (в байтах) самого сэмпла. > > > Сразу о недостатках: > > 1) Тупой непродуманный протокол (нет передачи версии в протоколе) - его > > наверно будет невозможно расширить (при поддержке обратной совместимости)- > > хотя тщательно я его на этот счет не анализировал. > > Ср. с разнообразными методами опроса capabilities сервера, поддерживаемыми > NAS. > > > 2) Нет возможности контролировать громкость отдельно взятого потока, а также > > именнованного сэмпла > > Что?! Трактую это как возмущение. Вообще-то есть возможность регулировать громкость данного потока с командной строки, но програмного интрефейса (кроме как хак с system(3)) нет. С сэмплами вообще никак. > > 3) Нет возможности микширования потоков/сэмплов разной дискретизации > > И как это предлагается реализовать? resampling на ходу в наибольшую > поддерживаемую частоту? Тут по-моему тривиальная задача (по-крайне мере если решать ее не с математической POV, а лишь бы работало). Ведь все используемые в программах частоты дискретизации обычно имеют вид 11KHz*2^n, n=0..2 - следовательно перевод от одной частоты дискретизации n1 к более высокой частоте дискретизации n2 (n1<n2) выполняется просто выполняется линейной интерполяцией (или _би_линейной и пр) - ведь просто надо довычислить значение громкости в промежуточных точках. Для игр я думаю это очень важно (хотя я давно в них не играл, не знаю какую частоту дискретизации там используют) - ведь чем меньше частота дискретизации, тем меньше надо памяти чтобы хранить сэмпл. > Тут приходится выступить в защиту esd. По-моему XFree научилась решать > аналогичную задачу - поддерживать визуалы разной глубины на одном экране > только в версии 4, если научилась. Не думаю, что это очень востребовано в X - виджетсеты все глубины должны держать (кроме может монохромного). Хотя есть долбанутые виджетсеты... > > > Короче, вполне типичная ситуация. Было бы неплохо его пофиксить конечно. > > В общем, судя по всему, фиксить надо NAS, как существенно менее на коленке > сделанный протокол. Тем более что нашелся таки человек, который этим > занялся и на его сайте уже лежит NAS version 1.4. Как у него с портабельностью? Я думаю что в gnome это будет легко протолкнуть, а за ним все потянется (просто им надо об[яснить, что esd - отстой, надеюсь к чему-нить это приведет). Главное чтобы лицензия была LPGL, не меньше (хотя бы на библиотеку для работы с NAS). Еще можно попробовать создать esd-to-nas proxy - софт, косящий под esd но выдающий на NAS - с ним хоть пользователь сможет отрегулировать громкость каждого потока. > > > > Когда игралка музыки пишется в виде GUI программы, очевидно что человек > > > > в Unix не понимает ничего. Потому что правильным решением была бы > > > > игралка > > > > В принципе они только хотели создать прямой аналог winamp, но дизайн > > конечно > > немного долбанутый. > > И на sourceforge лежит софтина позволяющая управлять xmms с командной > > строки - если на ней свет клином сошелся. > > Это как? Как мне при помощи этой штуки проигрывать mp3 файлы на сервере > который лежит под столом и не имеет видеокарты? (но имеет свою собственную > звуковую карту). Предположим, xvfb на нем по каким-либо соображениям > иметь не хочется. Ну конечено можно DISPLAY установить куда-нить на другой хост, можно скрепя сердцем поставить vnc server и к ниму не подключаться (можно на другом хосту).. Но в принципе в этой ситуации xmms вообще не к чему - он ничего оригинального не добавляет из функциональности (кроме показа спектров и пары эффектов) - уж лучше mpg123. А ту софтину я не пробовал - надо искать по ключевому слову xmms на soureforge. > Или как мне воткнуть это дело в систему, которая втыкается на место > автомобильной радиолы и вместо экрана имеет двухстрочный > жидкокристаллический индикатор? > -------------------------------------------------- > Victor Wagner [EMAIL PROTECTED] > Programmer Office:7-(095)-785-09-72 > Institute for Commerce Home: 7-(095)-135-46-61 > Engineering http://www.ice.ru/~vitus > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] > Best regards, -Vlad