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

User Tag List

Страница 1 из 5 12345 ПоследняяПоследняя
Показано с 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)

    По умолчанию

    не соберётся - другой смысл у прагмы 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?
    так сделать медленнее - не проблема ;-) особенно когда надо сделать чтобы быстрее заработало

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

    По умолчанию

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

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

    По умолчанию

    Цитата Сообщение от SMT
    не соберётся - другой смысл у прагмы pack с 2-мя параметрами
    pack(push, 1) на MSVC будет ждать парный pack(pop, 1), т.е. 1 тут - просто идентификатор
    а GCC этот параметр воспринимает как новый alignment. и прагму пуш без параметра GCC (по крайней мере 3.3.2) не ест. сталбыть ifdef'ами это хозяйство...
    Цитата Сообщение от SMT
    самое странное - замена
    Код:
    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)
    да, глючу %)...
    чтобы пропер вариант с именованным экземпляром структуры, объявлять ее отдельно не надо. (но в коде придется вместо sample.left писать sample.ch.left)
    Цитата Сообщение от SMT
    вариант
    Код:
    const unsigned TICK_FF=6;
    компилируется gcc?
    ага, главное, чтоб тип был.
    Цитата Сообщение от SMT
    ну попробуй LHA-депакер портировать..
    ок, займусь

    +sndrender: сейчас собирается MSVC?
    Вложения Вложения

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

    По умолчанию

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

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

    По умолчанию

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

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

    По умолчанию

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

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

    По умолчанию

    насчет формы волны -- хм, оказывается, она во всех плеерах и эмуляторах такая... почему, интересно? звук 8и битным по сути выходит...

    upd. даа, спать надо больше... не 8и битным, а 15и )
    Последний раз редактировалось boo_boo; 30.01.2006 в 12:15.

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

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

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

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

Ваши права

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