Важная информация

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 43

Тема: AY-player для linyx?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Veteran Аватар для SMT
    Регистрация
    16.01.2005
    Адрес
    Бобруйск
    Сообщений
    1,267
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию AY-player для linyx?

    чем пользуются линуксоиды для прослушивания AY-музык (или им не надо?). сейчас просто сделал библиотечку для эмуляции ковоксов, биперов, AY-ков и т.п. получилась очень маленькая, совсем не жрущая cpu (в отличие от известных winamp-плагина и плейера), легкая в использовании. как пример я сделал консольный VTX-плейер (приинклюдив исходники архиватора AR для распаковки LHA, 89-го года, полдня фиксил баги после перекомпиляции его в 32 бита)

    это я к чему. плейер играет музыку через единственную функцию "отдать блок на воспроизведение", что можно заменить в линуксе на свою (даже запись семплов в спец-файл /dev/<чего-то-там> подойдёт). пока вместо плей-листов можно использовать shell-скрипт, запустив плейер по очереди с разными файлами

    дальше, если прилепить любое ядро эмуляции Z80, можно проиграть и PT3/STP/STC/PT2... всё, что умеет, к примеру, ZX-Amp (если загрузить в эмулятор его плейер)

    интересно услышать, насколько нужен полноценный плейер (для windows-то уже есть), с определением времени воспроизведения AY и SNA-файлов, перемоткой и пр.

    если появятся желающие, можно будет начать делать на 2 платформы - универсальная билиотека + на её основе плагины к винампу и там не знаю к чему на линуксе плагины есть

    вот версия для win32 с исходниками и набором музык
    Вложения Вложения

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Member
    Регистрация
    09.11.2005
    Адрес
    Москва
    Сообщений
    151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Плагин для XMMS под один AY-формат уже есть - SquareTone. Там правда PT3, а тут VTX - и там и там надо конвертить, а это suxx. Вот чего бы мне хотелось - плагин с синтезом от AY_Emul и всеми его фишками прилепленный к винампу, foobar2000 или линуксовому XMMS. Всёж таки приятнее, когда всё в одной программе.

    Кстати, AY_Emul прекрасно пашет под Wine.

    По поводу быстродействия кстати поясни - как может эмуляция AY и CPU (я правильно понял?) быть быстрее только эмуляции AY?

  4. #3
    Master Аватар для boo_boo
    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SMT
    чем пользуются линуксоиды для прослушивания AY-музык (или им не надо?).
    ехем... aylet'om, который только .ay файлы играет... довольно малорадостная штука ))
    Цитата Сообщение от SMT
    сейчас просто сделал библиотечку для эмуляции ковоксов, биперов, AY-ков и т.п. получилась очень маленькая, совсем не жрущая cpu (в отличие от известных winamp-плагина и плейера), легкая в использовании. как пример я сделал консольный VTX-плейер (приинклюдив исходники архиватора AR для распаковки LHA, 89-го года, полдня фиксил баги после перекомпиляции его в 32 бита)
    о, здорово, сталбыть не придется сорцы US корежить, чтобы нормальную AYку сделать в эмуле
    Цитата Сообщение от SMT
    если появятся желающие, можно будет начать делать на 2 платформы - универсальная билиотека + на её основе плагины к винампу и там не знаю к чему на линуксе плагины есть

    вот версия для win32 с исходниками и набором музык
    я -- желающий.
    попробовал скомпилить само ядро (sndrender) под линухом, через пять минут правки кода собралось (ессно, работает ли -- не проверял, для этого еще и сам плеер нужно портировать или плагин к xmms писать, но не вижу причин, чтоб не работало).
    пристегиваю измененное файло -- интересно, под виндами теперь соберется? ,)
    Вложения Вложения

  5. #4
    Veteran Аватар для SMT
    Регистрация
    16.01.2005
    Адрес
    Бобруйск
    Сообщений
    1,267
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от boo_boo
    попробовал скомпилить само ядро (sndrender) под линухом, через пять минут правки кода собралось (ессно, работает ли -- не проверял, для этого еще и сам плеер нужно портировать или плагин к xmms писать, но не вижу причин, чтоб не работало).
    а ты раскомментируй запись семплов в файл и сотри запись в звукарту. потом открой эти raw data каким-нить звуковым редактором

  6. #5
    Master Аватар для boo_boo
    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SMT
    а ты раскомментируй запись семплов в файл и сотри запись в звукарту. потом открой эти raw data каким-нить звуковым редактором
    готово. все вроде ок, но форма волны какая-то странная (см картинку) -- ужатая в половину диапазона.

  7. #6
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,440
    Спасибо Благодарностей отдано 
    192
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    61 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кто-нибудь может написать простейшую DLL для проигрывания
    VTX? (ну или PSG).
    Для c64 есть, а для AY все никто не может написать, обидно.

  8. #7
    Veteran Аватар для SMT
    Регистрация
    16.01.2005
    Адрес
    Бобруйск
    Сообщений
    1,267
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    DLL с каким интерфейсом?

  9. #8
    Veteran Аватар для SMT
    Регистрация
    16.01.2005
    Адрес
    Бобруйск
    Сообщений
    1,267
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от boo_boo
    готово. все вроде ок
    в глюкалке я подсмотрел, что запись в семплов в файл /dev/dsp даёт звук. правда, перед этим там делается ioctl для установки частоты оцифровки

    там, кстати, ошибка: SOUND_ARRAY_LEN=1000, когда теоретически за кадр пентагон может сделать 71680t/7t > 10000 записей в регистры, в турбе - вдвое больше. просто повезло, что нет программы, состоящей подряд из одних out'ов в порт AY

    и там в каждом кадре выдаётся одинаковое число семлов (SOUND_TICKS_PER_FRAME), когда SNDRENDER может выдавать переменное число (в пределах +-1), причём разное для разных источников (AY, beeper, ...) сейчас вот думаю, сделать чтоли класс, суммирующий такие потоки

    Цитата Сообщение от boo_boo
    ужатая в половину диапазона
    сам чип однополярный (питается 0,+5). эмулятор даёт диапазон от 0 до global volume (в плейере #7FFF). хотелось совместить "тишину" чипа с нулевой громкостью

    раньше в unreal использовался диапазон -#8000..#7FFF - были щелчки на макс. громкости (переход -#8000 <--> 0) при входе в отладчик, диалоги и т.п.

    если так важно, попробуй прикрутить дифференцирование и усиление к сигналу

    Цитата Сообщение от boo_boo
    сейчас собирается MSVC?
    да, вот
    Вложения Вложения

  10. #9
    Veteran Аватар для SMT
    Регистрация
    16.01.2005
    Адрес
    Бобруйск
    Сообщений
    1,267
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    в-общем, надо вынести в отдельный файл различия, чтобы по 10 раз не менять
    Вложения Вложения

  11. #10
    Veteran Аватар для SMT
    Регистрация
    16.01.2005
    Адрес
    Бобруйск
    Сообщений
    1,267
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    не соберётся - другой смысл у прагмы pack с 2-мя параметрами
    pack(push, 1) на MSVC будет ждать парный pack(pop, 1), т.е. 1 тут - просто идентификатор

    самое странное - замена
    Код:
    union SNDSAMPLE
    {
       DWORD sample; // left/right channels in low/high WORDs
       struct { WORD left, right; }; // or left/right separately
    };
    на
    Код:
    union SNDSAMPLE
    {
       DWORD sample; // left/right channels in low/high WORDs
       struct rl { WORD left, right; }; // or left/right separately
    };
    как оно скомпилировалось? ведь 2-й вариант определяет описание класса rl внутри пространства имён SNDSAMPLE, но не объявляет внутри SNDSAMPLE экземпляр rl. т.е. код sample.left - ошибочный (не компилируется MSVC)
    предлагаю
    Код:
    struct SNDCHANNELS
    {
       WORD left, right;
    };
    
    union SNDSAMPLE
    {
       DWORD sample; // left/right channels in low/high WORDs
       SNDCHANNELS ch; // or left/right separately
    };
    - должно везде собираться
    странно, почему const не работает. на самом деле те константы типа unsigned, они передаются в unsigned-параметры функций (хотя msvc не выдаёт warning'ов и при int), но они могут вдруг использоваться и в сравнениях
    вариант
    Код:
    const unsigned TICK_FF=6;
    компилируется gcc?

    я -- желающий
    ну попробуй LHA-депакер портировать..

    Кстати, AY_Emul прекрасно пашет под Wine.
    а, значит, не особо нужно

    По поводу быстродействия кстати поясни - как может эмуляция AY и CPU (я правильно понял?) быть быстрее только эмуляции AY?
    так сделать медленнее - не проблема ;-) особенно когда надо сделать чтобы быстрее заработало

Страница 1 из 3 123 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •