Мир ДОС как жил, так и живет. Миллионы пользователей, владеющих старыми компьютерами, по прежнему используют эту, такую простую и (ну, забросайте меня овощами!) надежную систему. Конечно, завидно ДОС-пользователям, оторванным от электронного социума. Смотрят они, как надвигаются громадины Windows, Linux и MacOS, под завязку нафаршированные различными мультимедийными средствами, и думают: «Эх, они там и музыку в «эмпешках» слушают, и киношки смотрят, а мы что? А мы как?» Да вот так читайте эту статью, качайте и наслаждайтесь!
ДОС для слушателей
Здесь пойдет разговор о плейерах. Разумеется, MP3 и музыкальных CD. Сперва расскажу о такой замечательной штуке, как MPG123 (http://www.sci.fi/~tobo/mpg123/mpg12304.zip, freeware) (Рис. 1)
Это DOS-версия знаменитого Linux-плейера MPG123, славящегося самым качественным воспроизведением эмпешек (о нем читайте в статье «Музыка из консоли» в МК №48). Архив весит 138 Кб, включая исходники под WATCOM C/C++, сам же экзешник имеет размер всего 61 Кб, и ничего больше! Судя по всему, разработка этой версии приостановлена, и для скачивания доступна альфа-версия к счастью, вполне функциональная, хотя и без некоторых особенностей, присущих постоянно развивающейся NIX-версии.
С помощью MPG123 можно слушать эмпешки даже на 486dx 4-100 правда, в моно, или используя снижение частоты оцифровки с 44 килогерц на 22 или даже на 11. А нормально идет 128 kbit joint-stereo на машинах такой конфигурации: AMD 5x86 или P75 (133 Mhz)...
Как проделать это самое «снижение частоты» и прочие облегчающие работу процессора штуки? Надо запустить плейер со следующими параметрами:
-2 downsample 1:2 (то есть умеренно ужасные 22 kHz);
-0 декодировать только нулевой канал (левый);
-m моно;
-4 downsample 1:4 (совсем жуткие 11 kHz);
-1 декодировать только первый канал (правый);
Воспроизведение файлов и плейлистов. Форматы запуска таковы для файла: MPG123.EXE music.mp3,для плейлиста: MPG123.EXE -@ music.m3u.
Одна только беда, причем большая длинные имена файлов, а также включающие в себя пробелы плейер понимать отказывается!
Моя новая любимая игрушка... Весьма многофункциональный MP3 и CD-плейер, в настоящее время активно развивающийся. При включенном режиме программного surround'а дает отличное звучание! Пожалуй, даже сочнее, чем mpg123-плагин для Winamp и вышеупомянутая ДОС-версия mpg123. Мнение это субъективно, а тестировался плейер на моей старенькой исашной AWE 64.
Помимо качества звука, DAMP отличается от некоторых собратьев графическим интерфейсом (хотя по умолчанию запускается в консольном ниже я расскажу, как переключить его в графику), может управляться не только с клавиатуры, но и джойстиком или джойпадом (включая как стандартные, так и «левые», подключенные к LPT-портам джойпады от Super Nintendo), в графическом режиме (без интерфейса) показывает эффекты визуализации (можно создавать и собственные, совершенно без знания программирования, а вооружившись любым текстовым редактором!), работает с LCD-дисплеем, может выключаться через заданное время, и главное поддерживает длинные имена файлов стандарта Windows (sic!).
Примеры работы с плейером. Здесь и далее, если путь к файлу не указан явно, то предполагается, что файл расположен в текущей директории. Чтобы без хлопот запускать DAMP, пропишите путь к нему в autoexec.bat, в конце значения переменной PATH добавив после точки с запятой нечто вроде c:\dump\, или скопируйте плейер в какую-нибудь системную папку, чтобы он был «виден». Итак, команды:
Воспроизвести все *.mp3-файлы в папке Guano Apes: DAMP d:\Guano Apes\*.mp3
Если вы хотите, чтобы плейлисты игрались случайным образом, добавьте после DAMP хитрый параметр -rp. Или, например, вы хотите запустить по очереди все плейлисты альбомов Игги Попа:
Мною замечено, что когда просишь DAMP сыграть некий файл с CD, плейер ругается на отсутствие совместимости с Joilet (это такая спецификации структуры директорий на CD есть ISO, а есть Joilet). Но если запускаешь плейлист, эмпешки из которого расположены на сидюке, то проблем не возникает. Это так, к сведению. Пользуйтесь плейлистами...
Файл конфигурации damp.ini служит заменой параметрам, передаваемых в плейер из командной строки. Проще один раз прописать все в ини-файле, чем каждый раз топтать клаву. Познакомимся с полезными опциями:
use_gui = yes/no если yes, то плейер запускается в режиме графического интерфейса (GUI). Разумеется, с поддержкой мыши. По умолчанию параметр равен no текстовый режим.
surround_sound = yes/no вкл/выкл режим софтварного Surround'а.
graphical_output = yes/no вкл/выкл графический режим. Графический режим нужен для нормальных эффектов визуализации, иначе вы будете лицезреть дергающийся в текстовом режиме индикатор уровня громкости. Впрочем, графика отнимет ресурсы, поэтому думайте, что для вас важнее.
graphical_text_mode = yes/no вкл/выкл эмуляцию текстового режима в графическом. Просто красивее выглядит.
sync_to_beats = yes/no вкл/выкл синхронизацию визуальных эффектов с музыкой. В Winamp и других плейерах тоже часто встречается такая штука.
show_file_info = yes/no вкл/выкл показывает в текстовых режимах плейера информацию о текущем MP3-файле.
ffwd_rew_speed = <секунды> насколько быстро будет перематываться песня при прокрутке вперед или назад.
yield_cpu = yes/no на сильных машинах под вындой ставьте yes, чтобы плейер не поедал все ресурсы, а делился ими с системой. А для «голого» ДОСа это безразлично...
continuous_play = yes/no для возврата в начало списка песен или плейлистов по достижению его конца.
quality = <значение> может быть 0, 1, и 2. Ноль обеспечивает самую высокую скорость работы, но несколько металлическое звучание, единица нравится мне больше всего (это 16-битный звук), а двойка включает вдобавок интерполяцию кому-то нравится, но звук становится более глухим.
large_skip = <число песен> насколько ретиво будет прыгать DAMP, когда вы нажимаете курсорные «влево» или «вправо». Я поставил у себя «1», чтобы было удобно перемещаться между треками.
Клавиши по умолчанию (свои задаются в ini-файле):
Enter/. следующая или предыдущая песня, P или * пауза, +/- управление громкостью. / прокрутка позиции в песне, S вкл/выкл surround, g вкл/выкл графический вывод, T показать название песни (в графич. режиме), \ предыдущий/следующий плейлист (если их загружено несколько), цифры выбор трека, NUMLOCK вкл/выкл случайный порядок воспроизведения, V переключение между индикацией прошедшего и оставшегося времени, B вкл/выкл побитную синхронизацию, влево/вправо перейти на N треков вперед или назад (значение N задается в опции large_skip файла damp.ini). Клавиша TAB в графической режиме сделает вам скриншот вида shotXXX.bmp.
На каких машинах идет DAMP? Нас интересует «нижняя граница» согласно документации, она проходит где-то около AMD 486/133 P75 со звуковухой Opti929. Так что начиная с «пня» на 100 МГц по идее не нужно принимать мер по ухудшению качества звука с целью хоть какого-то его воспроизведения.
Но что делать, если звук тормозит? Шаг первый запускайте плейер в текстовом режиме. Шаг второй используйте параметр -noscope, чтобы отключить индикатор громкости в текстовом режиме. Шаг третий возня с файлом конфигурации: выключите surround, playback_quality сделайте равным 0, quality = 0, а sound_freq = 22727, 16129 или даже 11906 в двух последних случаях звук будет ужасным, но процессор немного разгрузится.
Также вам может пригодиться утилитка весом 40 Кб. для создания плейлистов; вот она: http://www.damp-mp3.co.uk/makelist.zip кайф заключается в том, что она умеет рекурсивно сканировать директории, т. е. понимает вложенные одну в другую папки.
Впрочем, для успешной компиляции все равно понадобятся библиотеки, которые в исходник не включены эти библиотеки доступны в Сети, ссылки на соответствующие сайты можно найти по тому же адресу.
Вроде бы все по этому плейеру. Разве что еще один важный пункт. Создатель DAMP'а Matt Craven, предупреждает в лицензии, что вы не можете использовать его продукт, если являетесь расистом или педофилом.
Еще одно чудо программистской мысли. Ему подавай только драйвер сидюка, совместимый с MSCDEX 2.10 или выше, и гм... как бы это помягче сказать, процессор 8086 на 4.77 MHz. Плюс ДОС начиная от версии 3.3 и три с половиной килобайта оперативки собственно под программу. Говорю вам, ДОС это уникальная система.
Плейер является резидентным. То есть вы можете загрузить его и работать с другими программами например, текстовым редактором. Для управления нашим лилипутом достаточно нажать хитрую комбинацию клавиш LeftShift+Ctrl+C, и наверху появится менюшка. Жмите P, чтобы запустить диск на Play, S стоп или пауза, R снять с паузы, Esc выход из меню, O/C открыть/закрыть каретку сидюка, влево/вправо перемещение по трекам, вверх/вниз управление громкостью, PageUp/PageDn двигать полоску статуса с меню вверх или вниз.
Чтобы выгрузить программу из памяти, просто снова запустите ее. В порядке тестирования я успешно прослушал диск Radiohead «Amnesiac», при этом играя в старую классическую ролевуху Quest For Glory 4. Правда, из соображений безопасности меню плейера в графическом режиме я вызывать не стал, зато успешно пользовался полоской менюшки в текстовом режиме (рис. 3).
Напоследок расскажу еще об одном CD-плейере. Правда, идет он в составе целой графической среды SEAL только взгляните на ЭТО (Рис. 4) и подивитесь его спартанским требованиям к системе: 8 Мб памяти, проц 486 DX2, видеорежим 640x480@8bpp и полтора мега на винте. Многозадачная среда под ДОС! В комплекте два плейера, один для CD, работающий без глюков, и довольно страшненький, однако понимающий кучу форматов универсальный плейер он и эмпешки играет, и трекерные модули. Во всяком случае, вместе с этими двумя программками вы на шару приобретаете еще кучу всякого добра и все это под вполне современной оболочкой.