В блоге:

2021-12-03

Tonigy 20+ лет

Оказывается, моей утилите Tonigy уже 20+ лет. Первая версия вышла в феврале 2001 года, а домен tonigy.com зарегистрирован в марте 2001 года. Это самый старый домен из тех, что у меня остались. И сайт сохраняю для истории.

В то время мне очень хотелось иметь удобный доступ к дорожкам Audio CD. В Windows через букву диска можно было как бы видеть эти треки, но это был фейк - они всего лишь вызывали плейер, не будучи полноценными файлами. А мне хотелось именно файлы в WAV-формате (как минимум), с которыми можно работать обычными программами, не понимающими Audio CD напрямую. И Tonigy как раз предоставлял такую возможность в системе OS/2.

Толчком к появлению этого проекта стала замечательная статья "OS/2 Installable File Systems" в электронном журнале EDM/2, она и сейчас доступна: раз, два, три.

Написание драйвера файловой системы (IFS) в OS/2 было сложным делом. Нижний уровень (Ring 0), 16-битный код (хотя сама OS/2 была 32-битной). Да и отлаживаться, постоянно перезапуская компьютер, крайне неудобно, а ошибки приводили к падению системы.

Но автор статьи (Andre Asselin) предлагал комбинированный подход: делается стабильный небольшой IFS, который прокидывает вызовы в пользовательский уровень, а сама "логика" программы реализуется обычной 32-битной программой. Это очень удобно, поскольку сам IFS очень редко нужно править, а разработка пользовательской 32-битной программы ведётся в привычном окружении. К слову, аналогичная идея была позднее реализована в проекте FUSE (Filesystem in Userspace) для Unix-систем.

В 2001 году у меня выдался очень свободный январь, что вкупе с воодушевлением от упомянутой статьи привело к появлению через месяц первой версии Tonigy (написана она была на языке C, собиралась при помощи Watcom C/C++). А для большего веселья это была моя первая Shareware-программа. 

После установки в главном меню программы назначалась буква Tonigy-диска (я обычно использовал T, что считал символичным), привязанная к букве CD-драйва:



Появляется соответствующая буква Tonigy-диска, которая показывает дорожки с Audio CD в виде как бы настоящих WAV-файлов:



При обращении к этим файлами Tonigy прозрачно для пользователя читал данные с Audio CD.

Например, можно слушать эти файлы напрямую с диска через плейер (мой Qu-Player/2 в данном случае):



Или создавать MP3-файлы (при помощи gogo236 в данном примере):



Некоторые энкодеры в то время не понимали WAV-файлы, считая его заголовок частью данных, что приводило к щелчку в начале. Для таких энкодеров звуковые дорожки можно было получить и как RAW-файлы (только звук вообще без заголовков), они были доступны в каталоге TRACKS.RAW

Для удобства даже была эмуляция работы с EA (Extended Attributes), которые сохранялись, конечно, не на CD, а рядом с Tonigy. Это было удобно для WPS.

Программа предоставляла 30-дневный ознакомительный период, во время которого только 10 первых звуковых дорожек были полноценными, остальные содержали тишину. Стоимость регистрации $20. По нынешним избалованным временам это много, но тогда это была обычная стоимость небольшой утилиты.

Продавалась она сравнительно неплохо (насколько это возможно для OS/2 софта в то время). К сожалению, со временем я столкнулся с проблемой: используемый банк (он жив до сих пор) коварно закрыл канал получения денег, а обналичить чеки, которые регистратор стал присылать взамен, я так и не смог. 

Пытался продавать и в РФ через локального регистратора, но результат был очень плохой. Не помню точно, но то ли вообще не было продаж, то ли было буквально одна-две.

На этом моя коммерческая деятельность на ниве Shareware и закончилась, а утилита Tonigy с некоторого момента стала доступной для свободного использования (через бесплатный ключ).

В основном пользователи, покупавшие Tonigy, были из Германии, с ними было очень легко и приятно общаться. Они помогали и в разработке, находя ошибки и предлагая новые возможности. Например, один пользователь бесплатно прислал CD-I (Compact Disc-Interactive) диск. Я первый раз про такое чудо услышал, но реализовал его поддержку:



Можно было играть видео (MPEG) напрямую с CD-I через файл. К более привычным Video CD это тоже относится.



В целом, это был очень интересный опыт.

1 comment:

  1. Мда, как давно это было. Винда мастдай, полуось рулез!

    ReplyDelete

Blog Archive