Просмотр полной версии : ZXTune - Chiptunes player
Страницы :
[
1]
2
3
4
5
6
7
8
9
10
Еще один плеер спектрумовских (и не только) музык представляется вашему вниманию:)
Чем это должно стать в итоге:
- библиотека для декодирования спектрумовских модулей (psg/digital/ts/fm/csw etc)
- библиотека для воспроизведения через стандартные свойства ОС (windows/linux как минимум)
- плагины для популярных плееров и менеджеров (winamp/foobar/audacious/far/totalcmd)
- ...
- PROFIT!
Доступны как консольная версия:
http://zxtune.googlecode.com/svn/wiki/zxtune123-win.png
Так и версия для любителей GUI:
http://zxtune.googlecode.com/svn/wiki/zxtune-qt-win.png
Для самых разных платформ (windows/linux/raspbian).
Также доступна версия для Android со встроенной интеграцией с некоторыми online-источниками чиптюнов:
https://zxtune.bitbucket.io/market/images/phone/ru/10_main.png
Брать тут (https://zxtune.bitbucket.io)
Windows x86, build 4440 (https://drive.google.com/open?id=1L1o1ppnsmBPPBJC-M38TxYfcn6OOQLi9)
Linux x86, build 3410 (https://drive.google.com/open?id=0BzfWZ2kQHJsGfkFHQ2ltU2xGZnJSUFlQckxXWjRCZ FRzY0ZBM2FYd1ZoMy1KNVBNX3UzOEU)
Dingux, build 2850 (https://drive.google.com/open?id=0BzfWZ2kQHJsGaU9sZ202UFJadHM)
Android 2.3.3+, build 3890 (https://drive.google.com/open?id=0BzfWZ2kQHJsGVGFyRFNZajFCbzA)
А чем оно от AYFly отличается?
- библиотека для декодирования спектрумовских модулей (psg/digital/ts/fm/csw etc)
Всмысле?
Добавлено через 2 минуты
Digital в каком виде? 128k будет поддержано?
Добавлено через 5 минут
- поддержка контейнеров: trd
Именно как образа или полноценный рип мукзыкальных файлов из любых файлов? (как в AY Emul)
А чем оно от AYFly отличается?
Тем, что это другой проект. Я его давно хотел написать, еще до того, как AYFly появился. Со своими фишками и прочим. Более гибкий и расширяемый.
Всмысле?
Класс декодера модулей. Позволяет получать инфу о модулей и рендерить его "как есть". Вся обработка (микширование, фильтрация, вывод через звуковухи) вынесена наружу. Там же находится прозрачная работа с контейнерами.
Эмулится AY или YM?
Добавлено через 3 минуты
DLL будет?
Эмулится AY или YM?
Форматы или чипы? Если чипы, то да. За форматы эти пока не брался. Все основные концепты реализовал (psg/digital/container), сейчас допиливаю интерфейсы чтоб было удобно работать с библиотекой.
Какой фильтр использован? Проц кушает онсновательно до 18% на Атлоне 1.4гг
Какой фильтр использован?
Пока фильтра нет. Вообще поддержан FIR
Проц кушает онсновательно до 18% на Атлоне 1.4гг
Попробуй с ключом --silent. У меня отрисовка дофига жрет (очень странно, на самом деле).
MUS60000.$c - подсунул проге и она вылетела.
MUS60000.$c - подсунул проге и она вылетела.
Неотдетектила. Муза с плеером (судя по всему), да еще и хобета. Смотри ограничения в первом посте.
Попробуй с ключом --silent. У меня отрисовка дофига жрет (очень странно, на самом деле).
Ага, теперь похоже на AY Emul без фильтра (0,1 изредка прыгает до 5)
Digital в каком виде? 128k будет поддержано?
Да. Сложности вижу только для модулей, расположенных в нескольких файлах. Над этим еще надо думать.
Именно как образа или полноценный рип мукзыкальных файлов из любых файлов? (как в AY Emul)
Пока как образ. Рип в планах.
DLL будет?
Конечно:) В том числе как плагины к плеерам.
Неотдетектила. Муза с плеером (судя по всему), да еще и хобета. Смотри ограничения в первом посте.
Логично было бы выдавать сообщение или просто выходить, но не вылетать. :)
Да и неприятно то что если музыка кночилась, прога катапультируется.
Ага, теперь похоже на AY Emul без фильтра (0,1 изредка прыгает до 5)
Чтоб почувствовать разницу в скорости, отключи там фильтр (для одинаковых условий) и засеки время конверсии в wav:
cmdline.exe --silent --file test.wav module
Добавлено через 1 минуту
Логично было бы выдавать сообщение или просто выходить, но не вылетать.
Допилю. Там еще не везде нормальные ошибки вставлены. Это мелочи. Сейчас главное принципиальные ошибки найти и исправить пока не поздно.
а где лялех версея?
svn checkout http://zxtune.googlecode.com/svn/trunk/ zxtune
cd zxtune/test/cmdline
make
cd ../..
bin/cmd_test <params>
Сейчас главное принципиальные ошибки найти и исправить пока не поздно.
Надо бы на всевозможных звуковухах потетстить.
AYFly с виду нормально работал, а как массового протестировали... ну сами помните что было. (ASCII votepack)
AYFly с виду нормально работал, а как массового протестировали... ну сами помните что было. (ASCII votepack)
А что было? На винде на двух звуковухах проверял (после ключа --win32 можно указать номер звуковухи, начиная с 1), на линуксе пока на одной. Приду на второй проверю. Проблемы могут быть только с неподдерживаемыми частотами. Это настраивается. Остальное- проблемы системы, я через нее работаю, своих велосипедов не изобретаю.
А что было? На винде на двух звуковухах проверял (после ключа --win32 можно указать номер звуковухи, начиная с 1), на линуксе пока на одной. Приду на второй проверю. Проблемы могут быть только с неподдерживаемыми частотами. Это настраивается. Остальное- проблемы системы, я через нее работаю, своих велосипедов не изобретаю.
Вылетало на встроеных звуковухах Realtek, глючило в Vista.
Проверить не могу, посему "ставлю диагноз по фотографии", благо в ayfly поковырялся достаточно :)
Вылетало на встроеных звуковухах Realtek
С какой ошибкой? Или не писалось?
глючило в Vista.
Какого характера глюки? (промолчу, что виста это один большой глюк... :) )
С какой ошибкой? Или не писалось?
Тут (http://zx.pk.ru/showthread.php?t=8844) симптомы и обладатели заветной звуковухи.
Q-Master
16.06.2009, 08:04
2 Vitamin: У тебя не собирается плеер на Big Endian машинах. Нехватает шаблонной ф-ции bytesSwap. Ну и последняя свн версия тоже не собирается. Ты недозалил в репозиторий бустовские файлы. Правда я не очень понял зачем ты в файлах его прописал. Под линухами тебе можно спокойно ссылаться на системные бустовские инклюды.
2 Vitamin: У тебя не собирается плеер на Big Endian машинах. Нехватает шаблонной ф-ции bytesSwap.
О! Это зер гут, что есть кому потестить на машинах с другим порядком байт:) Что за платформа? Какие backends там могут быть поддержаны?
Ну и последняя свн версия тоже не собирается. Ты недозалил в репозиторий бустовские файлы.
Ща поправим:)
Правда я не очень понял зачем ты в файлах его прописал. Под линухами тебе можно спокойно ссылаться на системные бустовские инклюды.
Ключевое слово- под линухами. Там и configure, если что, есть. Под виндой же в этом смысле полная Ж. Поэтому и приходится со своей усадьбой ездить. Потом может быть переделаю...
Ура! С помощью и под управлением Vitamin'а - скомпилировали под MacOS X =) работает аки зверь - реактивно конвертит в .wav =) счастье - есть =)
Q-Master
18.06.2009, 07:59
О! Это зер гут, что есть кому потестить на машинах с другим порядком байт:) Что за платформа? Какие backends там могут быть поддержаны?
Ща поправим:)
Ключевое слово- под линухами. Там и configure, если что, есть. Под виндой же в этом смысле полная Ж. Поэтому и приходится со своей усадьбой ездить. Потом может быть переделаю...
Чекал на Пегасе-2 под линухами. Бэкэнды те-же. Хотя я-бы порадовался, если-б еще и SDL бэкэнд был. Ну или AHI если под амигаос/морфос собирать, но с АХИ я могу и сам попробовать помочь. А с бустом проще всего было просто прописать системные инклюды, а потом локальные. Цомпилер, если-б не нашел системные - заюзал-бы локальные. Щасте было-бы. 8)
Хотя я-бы порадовался, если-б еще и SDL бэкэнд был.
Сделам-с :) Если потяну, может еще и Phonon будет.
А с бустом проще всего было просто прописать системные инклюды, а потом локальные. Цомпилер, если-б не нашел системные - заюзал-бы локальные. Щасте было-бы.
Дык я ж говорю- под линуксом с этим проблем ваще нет. Весь этот сыр-бор для безболезненной компиляции под виндой. Там же ни configure, нихера нет. Единственное решение, которое вижу- прописывать пути в файлы ручками перед сборкой. Ибо предвидятся еще зависимости от других либ (zlib как минимум).
Работает на big-endian машине? По крайней мере в случае конверсии в wav там пришлось поприседать на эту тему...
Q-Master
18.06.2009, 12:44
Работает на big-endian машине? По крайней мере в случае конверсии в wav там пришлось поприседать на эту тему...
А оно не соберется. Вот этого: bytesSwap<Sample> у тебя в сорцах НЕТУ!
file_backend.cpp:138
А оно не соберется. Вот этого: bytesSwap<Sample> у тебя в сорцах НЕТУ!
Пофиксил. Вместе с другими фиксами залью сразу (чтоб билдабельность не поломать).
Vitamin, респект!
Можно сразу feature request ? =)
Ты тут говорил о trd... А вот можно ли скармливать trd, а на выходе пачка wav'ов (все, что нашлось), и какой-нибудь индексный файл с метаинформацией, что нашлась в модулях музыкальных ? (я имею ввиду, название, автор, то-се).
По-моему это будет весьма забавно.
Скажи еще, есть ли зависимости от SDL и прочего, если нужно скомпилировать ТОЛЬКО конвертер ?
Можно сразу feature request ? =)
Можно:)
Ты тут говорил о trd... А вот можно ли скармливать trd, а на выходе пачка wav'ов (все, что нашлось), и какой-нибудь индексный файл с метаинформацией, что нашлась в модулях музыкальных ? (я имею ввиду, название, автор, то-се).
Можно. В ближайшее время немного допилю тест, чтобы можно было писать чтото типа:
cmd_test.exe --file $1.wav test.trd
чтоб он вместо $1 подставлял имя модуля.
На тему метаинфы пока туго- она есть, но неизвестно
а) в каком формате сохранять
б) как организовать это сохранение
Это реализуемо, но сделаю в отдельном приложении- конверторе. cmd_test - это просто плеер.
Скажи еще, есть ли зависимости от SDL и прочего, если нужно скомпилировать ТОЛЬКО конвертер ?
Нет. Внешних либ пока не тянет. Если собирать на линухе, то звук может выводить через ALSA/OSS.
Нет. Внешних либ пока не тянет. Если собирать на линухе, то звук может выводить через ALSA/OSS.
Не! Звук вобщем выводить не надо =)
Надо на вход trd, на выход пачка wav файлов + один файлик текстовый формата того же m3u например (плейлист такого формата поддерживает теги внутри себя, я правда не помню какая версия). И все !! а дальше берем перловый модуль для чтения m3u и фигарим в mp3 =) с вклеиванием тегов. И телемаркет. Был musicdisc в trd, стал в человекочитаемом =)
---------- Post added at 18:15 ---------- Previous post was at 18:03 ----------
Там же ни configure, нихера нет. Единственное решение, которое вижу- прописывать пути в файлы ручками перед сборкой. Ибо предвидятся еще зависимости от других либ (zlib как минимум).
Во я фигею. Во первых mingw еще пока жив. И там скрипты работают в большинстве своем.
Во вторых, для винды, если хотите привязку к вижуал студии - пишете заранее сгенеренный конфиг, а все пути берете из переменных окружения, которые вам должна была выставить студия заранее. Либо, делаете просто проект в студии, который потом докладываете в SVN.
Ну как то так.
Во я фигею. Во первых mingw еще пока жив. И там скрипты работают в большинстве своем.
И что? configure и на нем сработает, хочешь сказать? И даже boost волшебным образом найдет? Из-за него придется усложнять мейковые файлы, ибо формально это linux, но по факту не поддерживаются линуксовые backends. Собсно только изза этого на нем сейчас и не собирается:) Предыдущий мой проект спокойно собирался.
Q-Master
19.06.2009, 07:55
И что? configure и на нем сработает, хочешь сказать? И даже boost волшебным образом найдет? Из-за него придется усложнять мейковые файлы, ибо формально это linux, но по факту не поддерживаются линуксовые backends. Собсно только изза этого на нем сейчас и не собирается:) Предыдущий мой проект спокойно собирался.
Цонфигуре будет работать и буст должно найти правильно. А вот с мэйк-файлами придется пободаться. В бытность мою работы в компании "Никита" я делал такой кросс-платформенный мэйкфайл с возможностью компиляции под мингв или линухом.
Цонфигуре будет работать и буст должно найти правильно.
Ну если ты этот буст установишь в %CYGWIN_DIR%/include тогда да, может и найти.
А вот с мэйк-файлами придется пободаться. В бытность мою работы в компании "Никита" я делал такой кросс-платформенный мэйкфайл с возможностью компиляции под мингв или линухом.
Ну в случае отсутствия ссылок на внешние либы и платформо-зависимые компоненты, у меня проблем не было. С полпинка собиралось на linux и на mingw.
ЗЫ. Проверь плиз собирабельность:) Вчера вечером залил фиксы.
дяденьки, а на всякие штуки для сборки типа scons'ов никто не смотрел? ходят слухи что вполне себе ничего замена configure/make...
Такое мое мнение. Те, кому интересны исходные коды, вполне себе раскорячится и соберет сам. Пусть автор решает, как оно ему удобнее.
А поскольку вроде тред о музыке, а не о кросслплатформенной сборке, таки напоминаю о своем последнем feature request. Лично я считаю что конвертация trd->(набор вавов+дескриптор в любом формате, пригодном для парсинга) есть новое слово в софтостроении и предлагаю это немедленно реализовать =)
Ревизия 69:
+ поддержаны треки от vortex в формате txt (ts пока не поддержан)
* переработана система backends. Теперь расширямость более высокая:) (пока билдабельность на linux не проверял)
F0lken,
Специально для тебя:
Вывод через --file принимает шаблон, в котором допустимы параметры $1 и $2. Например, играем файл path/to/sample.trd?muzon.m. В этом случае $1 будет muzon.m, а $2 - sample.trd. Если шаблон не задан, то он будет '$1.wav'.
Для получения метаинфы юзать ключик --quiet и грепать вывод самостоятельно (всякая динамика не будет выводиться, только атрибуты файла).
F0lken,
Специально для тебя:
Вывод через --file принимает шаблон, в котором допустимы параметры $1 и $2. Например, играем файл path/to/sample.trd?muzon.m. В этом случае $1 будет muzon.m, а $2 - sample.trd. Если шаблон не задан, то он будет '$1.wav'.
Для получения метаинфы юзать ключик --quiet и грепать вывод самостоятельно (всякая динамика не будет выводиться, только атрибуты файла).
Спасибо. Определюсь тут со статьей и попробую пособирать под макосью.
После чего попробую завернуть в скрипт.
Ты бы в тесты чтоле пололжил бы образов TRD с музыками.
Ты бы в тесты чтоле пололжил бы образов TRD с музыками.
Дык есть один. А в соседней ветке валяются зачетные образы с музонами;)
ЗЫ. Кстати, сканировать по идее тоже должен. Правда имена будут числовыми:)
под макосью не компилится, собственно, txt_supp.cpp (без него - собирается).
ругается на строку 91:
-----
plugins/txt_supp.cpp:91: error: invalid initialization of non-const reference of type ‘std:: pair<const char*, const char*>&’ from a temporary of type ‘std:: pair<const char*, const char*>’
../../include/boost/algorithm/string/split.hpp:144: error: in passing argument 2 of ‘SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&, PredicateT, boost::algorithm::token_compress_mode_type) [with SequenceSequenceT = StringArray, RangeT = std:: pair<const char*, const char*>, PredicateT = boost::algorithm::detail::is_classifiedF]’
-----
ну и, пользуясь случаем, фиксирую свои FeatureRequest'ы:
1) установка частоты прерываний из командной строки (лучше в тысячах герц, как в AYEmul, это позволить рендерить музыку с произвольными BPM'ами)
2) установка стереостандарта ABC/ACB/BAC, MONO, A, B,C (последние три - для вывода только одного канала)
(либо, что более гибко - задавать стерео-раскладку тремя парами цифр - по две цифры на каждый A/B/C-канал (громкость в левом и громкость в правом канале).
3) возможность подключения собственной внешней частотной таблички из файла (96*2 байт), (для нетемперированного звукоряда или каких-то других, не менее добродушных целей (см. статью Ивана Рощина "Частотная таблица, с нулевой погрешностью".))
4) добавление конвертора в .TXT-формат (для обеспечения возможности последующего анализа музона (внешними модулями или отдельными standalone-программами)).
под макосью не компилится, собственно, txt_supp.cpp (без него - собирается).
Тоже самое хотел написать - опередили
До кучи
F0lkens-Mac-O-Book:cmdline zno$ gcc -v
Using built-in specs.
Target: i686-apple-darwin9
Configured with: /var/tmp/gcc/gcc-5465~16/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=i686-apple-darwin9 --with-arch=apple --with-tune=generic --host=i686-apple-darwin9 --target=i686-apple-darwin9
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5465)
Да, и ключик march=k8 - пугает. Нельзя ли что-нибудь нейтральное ?
Чорт!!! Только хотел было поперлить вывод... а может запостишь вывод с ключиком --quiet ? Я пока репу почешу
под макосью не компилится
Пофиксил. 71 ревизия
Для адаптации под мак надо после "чистого" выкачивания поменять следующее:
в корневом makefile.mak:
1) ключи LD_SOLID_BEFORE/LD_SOLID_AFTER на -Wl,-all_load/-Wl,-noall_load соотвецно
2) ключик ARCH поменять на "по вкусу":) пока детекта нет
в src/supp/Makefile:
3) убрать linux из source_dirs
Будут доступны только null/file бекэнды.
установка частоты прерываний из командной строки (лучше в тысячах герц, как в AYEmul, это позволить рендерить музыку с произвольными BPM'ами
сделам-с:)
установка стереостандарта ABC/ACB/BAC, MONO, A, B,C (последние три - для вывода только одного канала)
(либо, что более гибко - задавать стерео-раскладку тремя парами цифр - по две цифры на каждый A/B/C-канал (громкость в левом и громкость в правом канале).
Наверное, тут надо раскладки ABC/ABCD одновременно проверять. Ибо не только тремя каналами живет звук;)
возможность подключения собственной внешней частотной таблички из файла (96*2 байт), (для нетемперированного звукоряда или каких-то других, не менее добродушных целей (см. статью Ивана Рощина "Частотная таблица, с нулевой погрешностью".))
На этот счет ничего обещать не могу. Изящного решения протащить такой объем данных через интерфейс плеера чтобы это не выглядело *****костылем и быдлохаком пока не вижу:)
обавление конвертора в .TXT-формат (для обеспечения возможности последующего анализа музона (внешними модулями или отдельными standalone-программами)
подвижки в этом направлении есть, но пока до конвертера еще далеко. только wav в силу его универсальности.
Чорт!!! Только хотел было поперлить вывод... а может запостишь вывод с ключиком --quiet ? Я пока репу почешу
в аттаче вывод от файла tiden.trd что в семплах
Пофиксил. 71 ревизия
Для адаптации под мак надо после "чистого" выкачивания поменять следующее:
в корневом makefile.mak:
1) ключи LD_SOLID_BEFORE/LD_SOLID_AFTER на -Wl,-all_load/-Wl,-noall_load соотвецно
2) ключик ARCH поменять на "по вкусу":) пока детекта нет
в src/supp/Makefile:
3) убрать linux из source_dirs
Спасибо за вывод
еще
убрать либу asound
termio.h->termios.h
вроде все
че-то собралось, но еще не запускал
ключик -no_loadall или как его там - устаревший и игнорируется
make clean кажется не работает
ARCH для мака = apple
12330
Во вложении - proof-of-concept перловый скрипт, который грабит вывод в режиме null, генерит внутри себя мощный хэш.
Можно прикрутить конвертацию в разные вавы просто перебирая хэш, кодирование в mp3, подклейку тегов (есть модуль перловый), генерацию m3u файла.
Сейчас заюзаны поля
Module
Filename
Program
Title
Отсчет ведется через поле Module, оно "обязательное", хоть и пустое в основном - типа маркера.
Можно расширить, добавив нужные поля - там все человекочитаемо.
В конце пример вывода хэша.
Осталось мелочь - в цикле перебрать хэш, генерить wav, конвертнуть в mp3, подклеить тэг.
У меня, к сожалению, скорее всего lame не скомпилирован - не помню сейчас, да и поздно уже.
Сейчас скрипту никакие параметры не передаются, плюс к этому команда захардкодена. Желающие могут продолжить, может я займусь дальше.
Vitamin, скажи, а вот при парсе TRD, если по пути попался файл допустим НЕ музыки - тот же boot.b - он же не вылезет ? Если так, то зашибись =)
Если не так, придется еще нюхать код возврата. Если конечно у тебя адекватно он отдается.
Народ!! пришлите пожалуйста настройки для lame, если кто продвинутые знает для нормального кодирования
Да, и еще. Может конечно дело в оптимизации, но при парсе "крупного" trd из комплекта у меня ноут начинает активно греться и петь вентиляторами. Я в легком афиге, может как-то соптимизировать =) ?
И еще
./cmd_test --quiet --file $1.wav ../test/cmdline/samples/trd/CHIMORAN.TRD?npogon.CHI
не вижу вава npogon.CHI.wav
Possible bug!
имена, которые тянутся из trd могут содержать символы типа "*". Надо бы их игнорировать. Я думаю как и cлеши тоже. Может и ОК, но на виндовых машинах будут проблемы
Пофиксил. 71 ревизия
Для адаптации под мак надо после "чистого" выкачивания поменять следующее:
в корневом makefile.mak:
1) ключи LD_SOLID_BEFORE/LD_SOLID_AFTER на -Wl,-all_load/-Wl,-noall_load соотвецно
2) ключик ARCH поменять на "по вкусу":) пока детекта нет
в src/supp/Makefile:
3) убрать linux из source_dirs
Будут доступны только null/file бекэнды.
скомпилил - всё ок, txt — отлично поддерживается =)
объясню feature-request по текстовым файлам — сейчас просто нечем пакетно сконвертировать pt3(pt2/pt1/st и тп) в "универсальный" текстовый фомат, пригодный для разбора, анализа и пересборки. Vortex Tracker может сконвертировать в него практически любые модули, но не пакетно. А конвертор Ивана Рощина может сконвертить только PT3, но только под виндой (исходников нет) и только с короткими именами файлов и в несколько отличающийся формат (не такой как текствый формат Vortex'а).
"А хочется!" (с) =)
Но самое главное ты уже сделал! =) теперь просто нет необходимости конвертить из .txt обратно после всяких злодейских над ним преобразований.
Отсчет ведется через поле Module, оно "обязательное", хоть и пустое в основном - типа маркера.
Достаточно проверять порядок атрибутов при лексигографическом сравнении. Как только следующее меньше предыдущего- новый модуль. Не забывай про многострочные атрибуты (warnings например).
Vitamin, скажи, а вот при парсе TRD, если по пути попался файл допустим НЕ музыки - тот же boot.b - он же не вылезет
Нет. Все анализируется на соответствие формата. Ошибку вернет если вообще ничего не нашел.
Народ!! пришлите пожалуйста настройки для lame, если кто продвинутые знает для нормального кодирования
lame -h -v обычно достаточно
Да, и еще. Может конечно дело в оптимизации, но при парсе "крупного" trd из комплекта у меня ноут начинает активно греться и петь вентиляторами. Я в легком афиге, может как-то соптимизировать =) ?
Ну я конечно прогоню через профилятор, но ты учти следующее:
1) вывод через null действительно через него выводит. Со всем воспроизведением, микшированием, фильтрованием. Так что лучше сразу конвертить в вав и тут же парсить вывод.
2) сканирование файлов рекурсивное. Т.е. если плагин trd обнаружил, что это его модуль, он начинает проверять каждый файл, передавая его по цепочке плагинов. А еще есть плагин raw, который выполняет сканирование файлов с шагом 256 байт и такой же рекурсивной проверкой. Хотя, если честно, время, затраченное на детект очень мало по сравнению с затратами на рендеринг звука. Вывод ./cmd_test --info показывает все доступные плагины именно в том порядке, в котором они применяются на каждый файл.
не вижу вава npogon.CHI.wav
Есть такое. Куда-то имя девается. Пофикшу.
имена, которые тянутся из trd могут содержать символы типа "*". Надо бы их игнорировать. Я думаю как и cлеши тоже.
Добавлю. Слеши и вопросы и так игнорируются.
---------- Post added at 14:35 ---------- Previous post was at 14:29 ----------
Есть идея! Слегка допилю файловый backend чтобы он выводил инфу по сконверченному модулю в отдельный файл. Это хорошо ложится на архитектуру.
Вобщем вот новый скрипт. Теги не все анализируются - только те, что я перечислил раньше, но уже все работает. Пока нет m3u (ибо не знаю как вынуть длительность модуля). Можно ли по размеру wav, зная его параметры (кгц и прочее) и длину как-нибудь посчитать длительность звучания ?
Надо бы при генерации тагов в качестве поля "альбом" засовывать имя trd, а то в iTunes сиротливо выглядит.
Для допила скрипта под себя - пропишите пути в самом начале к cmd_test и к lame.
Никакие модули не используются, достаточно базовой инсталляции перла и наличия бинарников lame и cmd_test.
Ежели кто под виндой проверит - будет хорошо -только на ActivePerl, ибо в cygwin все и так заработает.
Запуск:
trd2mus.pl <имя trd> [out_dir]
Если выходная дира не указана - гадить будет в текущую папку (должен).
Если указана, но не существует - попробует создать.
Скрипт 2х проходной - вначале собирается вывод в режиме --null, генерятся хэши, потом запускается непосредственно конвертация и кодирование.
Командную строку lame править там же. Завтра может допилю, чтобы больше тегов понимал. Да, кстати тег program пишется в коммент.
В идеале хочу генерить m3u и скармливать плееру. Простой список файлов - как-то некрасиво =)
Скрипт писался just for fun и не претендует ни на что. Если кому пригодился - зер гут.
Потом перепишу на питоне =). Когда-нибудь =)
12335
И еще
./cmd_test --quiet --file $1.wav ../test/cmdline/samples/trd/CHIMORAN.TRD?npogon.CHI
не вижу вава npogon.CHI.wav
Бугага! Баксы экранировать надо:)
Бугага! Баксы экранировать надо:)
Мда, дело было не в бобине =))
Ну раз так, вот тебе реквест на GUI =)
"Хочу SDLное гуи, чтобы можно было перемапливать кнопки и чтобы все собиралось статиком" =)
Ну раз так, вот тебе реквест на GUI =)
Гуи в самую последнюю очередь, звиняйте:)
Чтоб подсластить тебе пилюлю, бери 74 ревизию с поддержкой ключа --annotate специально для файлового вывода;)
Гуи в самую последнюю очередь, звиняйте:)
Чтоб подсластить тебе пилюлю, бери 74 ревизию с поддержкой ключа --annotate специально для файлового вывода;)
:confused: Это чего, скрипт опять переписывать ? =)
Про ГУЙ в последнюю очередь - это я понимаю... Но вдруг =)
Это чего, скрипт опять переписывать ? =)
Ну не переписывать, но выкинуть оттуда половину кода можно:)
Про ГУЙ в последнюю очередь - это я понимаю... Но вдруг =)
Ну если кто-то со стороны возьмется, буду только рад. Сторонний взгляд тыкскызыть...
Q-Master
22.06.2009, 08:28
ЗЫ. Проверь плиз собирабельность:) Вчера вечером залил фиксы.
1)Не собирается из-за того что у тебя в include/types.h не определен byteSwap(short int a). Я определил - собралось. НО! Не воспринимаются практически никакие форматы. Понялись лишь txt pt3(не все музоны) и psg. Остальные либо играют какую-то несусветную дребедень, либо вообще пишут что неизвестный формат файла. ИМХО ты недоделал где-то проверку на биг-эндиан.
2)Убери вообще ключ -march. Для PowerPC у гцц его вообще не существует. Лучше его в эту-же переменную $(ARCH) и засунь, тогда под ппц можно будет туда вписать -mcpu=7400 -maltivec -mabi=altivec. 8)
Не собирается из-за того что у тебя в include/types.h не определен byteSwap(short int a)
А откуда тянется зависимость? (именно знаковых типов).
ИМХО ты недоделал где-то проверку на биг-эндиан.
Скорее всего. То что все-таки играет, в wav корректно пишет? А то я был не особо уверен насчет необходимости перекидывать байты в полях заголовка.
Ну как-то так.
const int i = 1;
#define is_bigendian() ( (*(char*)&i) == 0 )
Q-Master
22.06.2009, 13:41
А откуда тянется зависимость? (именно знаковых типов).
Скорее всего. То что все-таки играет, в wav корректно пишет? А то я был не особо уверен насчет необходимости перекидывать байты в полях заголовка.
зависимость тянется из pt3_supp.cpp вроде. Вчера компилил, не помню уже точно.
В вавы писать не пробовал. Чо-то до меня не дошло это вчера попробовать.
Слегка допилил сканирование:)
Строка в статусе:
Container: Hrust1.x
Filename: samples/trd/NETWALK1.TRD?NETWALK.B?58880.raw
Означает, что в файле NETWALK1.TRD был найден файл NETWALK.B (собранный из кусков), в котором по смещению 58880 байт был найден модуль, упакованный Hrust1.x :)
Или тоже суровый пример:
Filename: samples/scl/TAGANNWS.SCL?TagNws#1.hmp?alphavil.C
Расшифровывать, думаю, не надо:)
Q-Master
25.06.2009, 11:41
Слегка допилил сканирование:)
А у тебя 6канальные модули держатся? Что-то я не нашел таких у себя...
А у тебя 6канальные модули держатся?
Да. Но детект только по одному виду формата (с сигнатурой в конце) и автопоиска пока нет.
Да. Но детект только по одному виду формата (с сигнатурой в конце) и автопоиска пока нет.
В связи с тем, что в данный момент я безлошадный http://zx.pk.ru/showpost.php?p=205187&postcount=26
- временно выпадаю из процесса.
Q-Master
26.06.2009, 08:28
В связи с тем, что в данный момент я безлошадный http://zx.pk.ru/showpost.php?p=205187&postcount=26
- временно выпадаю из процесса.
Из дома??????
---------- Post added at 08:28 ---------- Previous post was at 08:27 ----------
Да. Но детект только по одному виду формата (с сигнатурой в конце) и автопоиска пока нет.
А ты можешь в примеры добавить? А то охота послушать как это выглядит.
А ты можешь в примеры добавить? А то охота послушать как это выглядит.
test/cmdline/samples/ts/*
И еще вместе с VortexTracker'ом поставляются модули. У меня не все детектит, правда.
Из дома????
Уже не важно =).
По поводу плеера - буду ковырять, когда лошадку куплю новую.
Q-Master
26.06.2009, 10:37
test/cmdline/samples/ts/*
И еще вместе с VortexTracker'ом поставляются модули. У меня не все детектит, правда.
qmaster@QMasters:~/---/zxtune$ ./cmd_test --alsa --sound 48000 ./samples/ts/DncDick.pt3
Module:
Author: krb 2k6
CRC: efaa8386/3d39e49d
Container: TurboSound
Filename: ./samples/ts/DncDick.pt3
Program: Vortex Tracker
Title: Dancing dick
Position: 4 / 33 (1)
Pattern: 1 / 9
Line: 17 / 0
Channels: 0 / 3
Tempo: 3 / 3
Frame: 628 / 6336
Что-то я 6 каналов не вижу. 8(
Что-то я 6 каналов не вижу. 8(
В статусе метамодуля (который предоставляет контейнер TurboSound) берется инфа из первого модуля, в т.ч. и число каналов. Иначе не будет работать- backend будет требовать микшер с 6 каналами. А так ему вполне хватает 3.
Первые 8 столбцов спектроанализатора- уровни вывода (по 4 на чип- 3 канала и огибающая).
Q-Master
28.06.2009, 13:20
Собрал вчера последнюю версию из репозитория. Проблемы остались. И много. На scl файлах падает в сегфолт, на части других орет на ошибки с бустовскими шаблонами в рантайме. Нормально загрузились лишь psg и txt. C --file и psg упало в сегфолт. Из txt сделало нормальнейший wav. Играется без проблем.
Значит вопрос с backend отпадает. Все там сделал правильно:) У плееров txt/pt3 общая база, различается только декодер модуля в метаформат. По поводу других форматов буду смотреть. Спасибо за помощь!
---------- Post added at 13:49 ---------- Previous post was at 13:34 ----------
На scl файлах падает в сегфолт
Можешь собрать без -DNDEBUG с g2 и приаттачить стек в раздел Issues? Вроде бы вся байтозависимая фигня в одну точку вынесена.
---------- Post added at 14:17 ---------- Previous post was at 13:49 ----------
Я не уверен, что у тебя будут работать стандартные бекенды, поэтому пробуй все с --null
Q-Master
29.06.2009, 10:14
Значит вопрос с backend отпадает. Все там сделал правильно:) У плееров txt/pt3 общая база, различается только декодер модуля в метаформат. По поводу других форматов буду смотреть. Спасибо за помощь!
Можешь собрать без -DNDEBUG с g2 и приаттачить стек в раздел Issues? Вроде бы вся байтозависимая фигня в одну точку вынесена.
Я не уверен, что у тебя будут работать стандартные бекенды, поэтому пробуй все с --null
Походу оно декодируется неверно. psg декодируется верно. с флагами соберу не скоро, ибо похоже дома появлюсь недели через 2. 8( А стандартные бэкэнды должны работать. Линух он и на поверпц - линух.
Билд по юбилейному сотому коммиту:)
Пробная поддержка конверсии. Пока поддерживается только формат raw (сохранение файла в том виде, в каком он был найден, безо всяких плееров и прочего- может использоваться как рипалка) и txt (для треков в формате pt3/txt). Ну и также добавлена возможность указания микширования в тесте ('A' - только левый канал, 'AB' два канала взять, 'ABC' - все каналы, '*' - все каналы в моно).
Q-Master
05.07.2009, 19:40
Ничо не поменялось. Походу у тебя проблема в развертывании некоторых форматов в текст. Проверяй. asc хрипят непонятными звуками.
Билд по ревизии 108.
Из нового:
- поддержка PDT (ProDigiTracker, цифровой редактор. В примерах зачетные музоны:))
- поддержка FDI (сектора из образа собираются в порядке следования CHS)
- поддержка STP
Вкратце:
назрел серьезный рефакторинг, посему следующие версии будут нескоро, нужно созреть:) Ветку зафиксировал, брать через:
svn checkout http://zxtune.googlecode.com/svn/tags/old_design zxtune
- поддержка PDT (ProDigiTracker, цифровой редактор. В примерах зачетные музоны
Digital Studio и DMM много актуальнее и для AY. В отличает от ^^.
Digital Studio и DMM много актуальнее и для AY. В отличает от ^^
В отличие от DS&DMM, формат файлов от PDT известен (по крайней мере, мне) :)
Q-Master
01.09.2009, 09:12
А ты починил проблему с Big-Endian машинами? Последний раз когда я проверял все было плохо. звука небыло почти нигде.
А ты починил проблему с Big-Endian машинами? Последний раз когда я проверял все было плохо. звука небыло почти нигде
Я не знаю что чинить. У меня нет big-endian машины...
Q-Master
02.09.2009, 11:41
Я не знаю что чинить. У меня нет big-endian машины...
Блин, да зачем тебе биг-машина? Тебе лишь надо проверить все места где у тебя грузится что-то более чем побайтно, или структуры мапятся на память напрямую с более чем байтными размерами. В этих местах надо ставить ифдеф и в биг-эндиане разворачивать поля.
Блин, да зачем тебе биг-машина? Тебе лишь надо проверить все места где у тебя грузится что-то более чем побайтно, или структуры мапятся на память напрямую с более чем байтными размерами.
То, что мог проверить чисто логически уже давно проверил. От невнимательности никто не застрахован...
Угу угу. под ху86 тока. и нарисованый на дельфях с кучей асмовставок. Плавали, знаем. Не катит в принципе.
Я тебя уже полгода прошу бектрейсы падений моего плеера на big-endian:)
Q-Master
01.10.2009, 14:34
Я тебя уже полгода прошу бектрейсы падений моего плеера на big-endian:)
Да не падает твой плеер. Он вместо падений издает невоспроизводимую хрюкотню на НЕКОТОРЫХ форматах. Очевидно что у тебя таки где-то есть еще перлы с неперевертыванием слов и длинных слов. Время будет - поизучаю вопрос.
---------- Post added at 14:34 ---------- Previous post was at 14:31 ----------
три поста и не понятно, в чем проблема такая, чем стандартные работающие способы не подходят. надо было сперва картину обрисовать (линукс 64битный, саляра, blue gene... spriner... религия... что мешает поступить как весе?)! вот тогда, возможно, получил бы ответ.
"Стандартные работающие способы" работают только на х86 и совместимых и НЕ РАБОТАЮТ ни на чем более другом. Похоже что "как все" знают только 2 вида процессоров.
Да не падает твой плеер.
Ну ты говорил что и падает... Можешь прогнать все тесты в комплекте и выдать резюме по ним?
Q-Master
01.10.2009, 14:43
Ну ты говорил что и падает... Можешь прогнать все тесты в комплекте и выдать резюме по ним?
В воскресенье постараюсь сделать все.
В воскресенье постараюсь сделать все.
Буду премного благодарен. Сейчас trunk в репозитории заново начат, выкачивать стабильный бранч.
ЗЫ: модераторы, переместите пожалуйста последние сообщения в соответствующую тему http://zx.pk.ru/showthread.php?t=10340
Q-Master
02.10.2009, 08:51
Буду премного благодарен. Сейчас trunk в репозитории заново начат, выкачивать стабильный бранч.
ЗЫ: модераторы, переместите пожалуйста последние сообщения в соответствующую тему http://zx.pk.ru/showthread.php?t=10340
А какой там стабильный бранч? Называется как? А пофиг вообще-то. я все сдерну и все.
А какой там стабильный бранч? Называется как? А пофиг вообще-то. я все сдерну и все.
svn checkout http://zxtune.googlecode.com/svn/branches/old_arch/ zxtune-read-only
trunk не трогай. Я там заново начал делать, кроме тестов подсистем ничего не собирается и не работает.
Q-Master
02.10.2009, 12:10
svn checkout http://zxtune.googlecode.com/svn/branches/old_arch/ zxtune-read-only
trunk не трогай. Я там заново начал делать, кроме тестов подсистем ничего не собирается и не работает.
Хорошо, солью проверю. Напишу сюда.
Q-Master
04.10.2009, 18:06
g++ -O3 -DNDEBUG -g3 -D__STDC_CONSTANT_MACROS -mabi=altivec -maltivec -mcpu=7450 -funroll-loops -funsigned-char -fno-strict-aliasing -W -Wall -ansi -pthread -pipe -I../.. -I../../include/boost/tr1/tr1 -I../../include/boost -I../../include -Iinclude -c -MD plugins/stp_supp.cpp -o ../../obj/release/zxtune/stp_supp.o
plugins/stp_supp.cpp: In static member function 'static void<unnamed>::STPPlayer::ParsePattern(const<unnamed>::FastDump&, std::vector<unsigned int, std::allocator<unsigned int> >&, ZXTune::Tracking::TrackPlayer<3u, <unnamed>::Sample, ZXTune::Tracking::SimpleOrnament>::Line&, std::valarray<unsigned int>&, std::valarray<unsigned int>&, ZXTune::Log::WarningsCollector&)':
plugins/stp_supp.cpp:255: warning: comparison is always true due to limited range of data type
../../include/types.h: In function 'T fromLE(T) [with T = short int]':
plugins/stp_supp.cpp:161: instantiated from here
../../include/types.h:106: error: call of overloaded 'swapBytes(short int&)' is ambiguous
../../include/types.h:59: note: candidates are: uint16_t swapBytes(uint16_t)
../../include/types.h:64: note: uint32_t swapBytes(uint32_t)
../../include/types.h:70: note: uint64_t swapBytes(uint64_t)
Это раз.
./cmd_test --alsa ./samples/asc/BLUEBIRD.asc
Unsupported module type
./cmd_test --alsa ./samples/chi/balala.chi
Module:
CRC: adacc8b3
Filename: ./samples/chi/balala.chi
Program: ChipTracker
Title: Chip Tracker 1.3 by AlCo/i8/Any!
Warnings: Pattern 3: Line 1: Channel 1: invalid channel
Pattern 3: Line 5: Channel 1: invalid channel
Pattern 3: Line 7: Channel 1: invalid channel
Pattern 3: Line 29: Channel 1: invalid channel
Pattern 3: Line 31: Channel 1: invalid channel
Pattern 3: Line 37: Channel 1: invalid channel
Pattern 3: Line 39: Channel 1: invalid channel
Pattern 3: Line 57: Channel 1: invalid channel
Pattern 3: Line 61: Channel 1: invalid channel
Pattern 4: Line 1: Channel 1: invalid channel
Pattern 4: Line 5: Channel 1: invalid channel
Pattern 4: Line 7: Channel 1: invalid channel
Pattern 4: Line 29: Channel 1: invalid channel
Pattern 4: Line 31: Channel 1: invalid channel
Pattern 4: Line 37: Channel 1: invalid channel
Pattern 4: Line 39: Channel 1: invalid channel
./cmd_test --alsa ./samples/hrip/TagNws.hrp
Ошибка сегментирования
./cmd_test --alsa ./samples/pdt/1.M
чушь вместо музыки
./cmd_test --alsa ./samples/pt2/4jour#2.pt2
Unsupported module type
./cmd_test --alsa ./samples/pt3/Lat_mix2.pt3
чушь вместо музыки
./cmd_test --alsa ./samples/scl/TAGANNWS.SCL
Ошибка сегментирования
./cmd_test --alsa ./samples/stc/stracker.stc
чушь вместо музыки
./cmd_test --alsa ./samples/stp/NO\ LIM..stp
Module:
CRC: 83cec7ba
Filename: ./samples/stp/NO LIM..stp
Program: SoundTrackerPro
Title: NO LIMIT (REMIX DJD)!!!
Warnings: Sample 14: loop is out of bounds
чушь вместо музыки
./cmd_test --alsa ./samples/trd/CHIMORAN.TRD
чушь вместо музыки
./cmd_test --alsa ./samples/ts/DncDick.pt3
Module:
Author: krb 2k6
CRC: efaa8386
Filename: ./samples/ts/DncDick.pt3
Program: Vortex Tracker
Title: Dancing dick
Warnings: Pattern 2: Line 16: Channel 2: duplicated envelope
Pattern 2: Line 58: Channel 2: duplicated envelope
Pattern 2: Line 60: Channel 2: duplicated envelope
Pattern 2: Line 62: Channel 2: duplicated envelope
Pattern 4: Line 0: Channel 2: duplicated envelope
Pattern 5: Line 0: Channel 2: duplicated envelope
Pattern 5: Line 32: Channel 2: duplicated envelope
Pattern 7: Line 16: Channel 2: duplicated envelope
Pattern 7: Line 52: Channel 2: duplicated envelope
Pattern 7: Line 56: Channel 2: duplicated envelope
чушь вместо музыки
Пробовал почти все мелодии из тестов, приводил только по 1й из директории. Для остальных мелодий из директории ситуация аналогичная. Те директории которые не привел в пример - работают нормально.
Кажется, понял в чем трабл... Работа с битовыми полями не кроссплатформенна и не стандартизирована. Буду удалять...
Можешь проверить патч для chi-треков? Если сработает, буду остальные делать.
DLL и минимального функционала годного для использования в трекере в этом году видимо уже не ждать? :(
DLL и минимального функционала годного для использования в трекере в этом году видимо уже не ждать?
Лучше не ждать. Зря обещать ничего не хочу.
ЗЫ. Раз уж ты хочешь быть одним из пользователей этой длл, накидай плиз какие бы хотелось функции видеть и какой интерфейс, удобный для использования. Вдруг я что забыл.
Q-Master
06.10.2009, 09:52
Можешь проверить патч для chi-треков? Если сработает, буду остальные делать.
В выходные дома проверю.
Q-Master
11.01.2010, 18:18
Попробовал последнюю svn версию собрать. В /src/sound/backends/wav_backend.cpp есть 2 ошибки:
241 строка ошибки во всех трёх итераторах. Правильная строка такая:
std::transform((*buffer.begin()).begin(), (*buffer.end()).end(), (*Buffer.begin()).begin(), &swapBytes<Sample>);
Ну и в следующей строке в конце лишняя скобка.
Когда собрался zxtune123 я так и не понял как заставить его чего-нить поиграть. Пишет какую-то чушь в консоль и все.
О! Благодарствую!
Для мака бекендов еще нету (попробовал в виртуалке MacOSX поднять- тупит все жутко и тупо не понял как svn поставить, gcc & make вроде есть).
Что пишет в консоль?
Для конверсии в вав надо набрать чтото типа:
./zxtune123 --quiet --wav filename=test.wav --file <path_to_file>
Пока поддерживаются только STC&PSG плугины модулей, Hobeta&Raw плугины контейнеров как самые простые. Обкатаю на них все, буду дальше двигаться.
Q-Master
16.01.2010, 14:53
О! Благодарствую!
Для мака бекендов еще нету (попробовал в виртуалке MacOSX поднять- тупит все жутко и тупо не понял как svn поставить, gcc & make вроде есть).
Что пишет в консоль?
Для конверсии в вав надо набрать чтото типа:
./zxtune123 --quiet --wav filename=test.wav --file <path_to_file>
Пока поддерживаются только STC&PSG плугины модулей, Hobeta&Raw плугины контейнеров как самые простые. Обкатаю на них все, буду дальше двигаться.
Ну я вобщем-то тоже не под маком это все проверяю а под линухом. Просто у меня машина на PowerPC. Под маком свн вроде ставится вместе с XCode. Да и маки современные один хрен на интеле.
ПС: поправь все-таки мэйкфайлы, чтобы они сами определяли тип машины и в зависимости от этого убирали нафиг -march= из параметров гцц. На ППЦ такого параметра нет, есть -mcpu=, -mabi=altivec, -maltivec.
ПС: поправь все-таки мэйкфайлы, чтобы они сами определяли тип машины и в зависимости от этого убирали нафиг -march= из параметров гцц. На ППЦ такого параметра нет, есть -mcpu=, -mabi=altivec, -maltivec.
Мейки подфиксил. Автодетекта нет и не будет- я на одной и той же машине делаю разные сборки.
Сделай себе файлик make/platforms/linux_ppc.mak на основе linux.mak, подхачь как надо и в файле default.mak выстави дефолтную платформу на linux_ppc чтоб не указывать каждый раз- будет тебе щастье)
ЗЫ. А что в консоль-то выводит? Раз у тебя линукс, так обычный OSS должон работать.
Q-Master
17.01.2010, 15:40
Мейки подфиксил. Автодетекта нет и не будет- я на одной и той же машине делаю разные сборки.
Сделай себе файлик make/platforms/linux_ppc.mak на основе linux.mak, подхачь как надо и в файле default.mak выстави дефолтную платформу на linux_ppc чтоб не указывать каждый раз- будет тебе щастье)
ЗЫ. А что в консоль-то выводит? Раз у тебя линукс, так обычный OSS должон работать.
Ну я пробовал еще не поддержаный формат. Оно в консоль кучу какой-то неведомой хренотени понавыдавало. Подозреваю что искало заголовки нужные.
Чтото наподобие
[Sound::Enumerator]: Registered backend 'oss'
[Sound::Enumerator]: Registered backend 'null'
[Sound::Enumerator]: Registered backend 'wav'
[Core::Enumerator]: Registered container Raw
[Core::Enumerator]: Registered implicit container Hobeta
[Core::Enumerator]: Registered player PSG
[Core::Enumerator]: Registered player STC
[zxtune123]: Trying backend oss
[Sound::Enumerator]: Creating backend 'oss'
[zxtune123]: Success!
[IO::Enumerator]: Registered provider 'file'
[IO::Enumerator]: Opening uri 'samples/pt3/Speccy2.pt3'
[IO::Enumerator]: Used provider 'file'
[Core::Enumerator]: Resolved path ''
[Core::Enumerator]: Detecting modules in data of size 8045, path ''
[Core::Enumerator]: Checking container plugin Raw for path ''
[Core::Enumerator]: Detecting modules in data of size 8045, path ''
[Core::Enumerator]: Checking implicit container Hobeta at path ''
[Core::Enumerator]: Checking module plugin PSG at path ''
[Core::Enumerator]: Checking module plugin STC at path ''
[Core::Enumerator]: Detecting modules in data of size 8044, path '1.raw'
[Core::Enumerator]: Checking container plugin Raw for path '1.raw'
[Core::Enumerator]: Checking implicit container Hobeta at path '1.raw'
[Core::Enumerator]: Checking module plugin PSG at path '1.raw'
[Core::Enumerator]: Checking module plugin STC at path '1.raw'
...
?
Это дебажный вывод, ты собрал отладочную версию. Для сбора релизной надо make mode=release делать.
Плюс сейчас даже в дебажной версии такой вывод делается только по требованию, но все равно собирай релизную- она гораздо быстрее работает.
Что поддерживается на текущий момент можно узнать при запуске с ключом --list-plugins. Ключ --help как обычно даст полный хелп по ключам. Руководство напишу позже.
Q-Master
18.01.2010, 09:35
Чтото наподобие
[Sound::Enumerator]: Registered backend 'oss'
[Sound::Enumerator]: Registered backend 'null'
[Sound::Enumerator]: Registered backend 'wav'
[Core::Enumerator]: Registered container Raw
[Core::Enumerator]: Registered implicit container Hobeta
[Core::Enumerator]: Registered player PSG
[Core::Enumerator]: Registered player STC
[zxtune123]: Trying backend oss
[Sound::Enumerator]: Creating backend 'oss'
[zxtune123]: Success!
[IO::Enumerator]: Registered provider 'file'
[IO::Enumerator]: Opening uri 'samples/pt3/Speccy2.pt3'
[IO::Enumerator]: Used provider 'file'
[Core::Enumerator]: Resolved path ''
[Core::Enumerator]: Detecting modules in data of size 8045, path ''
[Core::Enumerator]: Checking container plugin Raw for path ''
[Core::Enumerator]: Detecting modules in data of size 8045, path ''
[Core::Enumerator]: Checking implicit container Hobeta at path ''
[Core::Enumerator]: Checking module plugin PSG at path ''
[Core::Enumerator]: Checking module plugin STC at path ''
[Core::Enumerator]: Detecting modules in data of size 8044, path '1.raw'
[Core::Enumerator]: Checking container plugin Raw for path '1.raw'
[Core::Enumerator]: Checking implicit container Hobeta at path '1.raw'
[Core::Enumerator]: Checking module plugin PSG at path '1.raw'
[Core::Enumerator]: Checking module plugin STC at path '1.raw'
...
?
Это дебажный вывод, ты собрал отладочную версию. Для сбора релизной надо make mode=release делать.
Плюс сейчас даже в дебажной версии такой вывод делается только по требованию, но все равно собирай релизную- она гораздо быстрее работает.
Что поддерживается на текущий момент можно узнать при запуске с ключом --list-plugins. Ключ --help как обычно даст полный хелп по ключам. Руководство напишу позже.
О. Точно. Такую фигню и писало.
Лады, седня вечерком обновлю с репозитория и попробую собрать релиз.
Первый публичный билд новой версии.
Что нового?
* практически полностью переписанная архитектура
+ полноценное CLI-приложение zxtune123
+ гибкие настройки практически всего
Ограничения текущей версии (ревизия 384):
* плееры: STC,PT2,PT3,PSG,PDT
* контейнеры: Hobeta,TRD,Hrust1x,Hrust2x,Hrip,Raw (сканер)
* вывод звука: win32,oss,wav,null (для бенчмарков),aylpt
* конверсия: raw для всех (рипалка), psg/zx50 для чиповых
Для получения справки:
zxtune123 --help
Прошу заинтересованных потестировать и сообщить о желаемых фичах.
Качать (http://code.google.com/p/zxtune/downloads/list)
PDT
Это что то новенькое?
---------- Post added at 11:46 ---------- Previous post was at 11:45 ----------
* вывод звука: win32,oss,wav,null (для бенчмарков)
Интересно, а под linux на web серваке оно у меня будет работать?
Это что то новенькое?
ProDigiTracker. Он был. В эту версию затащил для проверки DAC-чипа.
Интересно, а под linux на web серваке оно у меня будет работать?
Если там есть подсистема OSS, то будет.
Если там есть подсистема OSS, то будет.
Что это такое и можно ли без нее? (если единсвенная цель конверт/ипорт/экспорт музонов)
Что это такое и можно ли без нее?
Это старая *nix звуковая подсистема. Без нее можно, всегда есть встроенное воспроизведение в wav.
ProDigiTracker. Он был. В эту версию затащил для проверки DAC-чипа.
А почему в комплекте нет треков этого формата?
Типа - мы тестеры должны их сами искать и тестить? Не порядок. ;)
А почему в комплекте нет треков этого формата?
Типа - мы тестеры должны их сами искать и тестить? Не порядок.
В репозитории есть. А также http://trd.speccy.cz/system/PDT.ZIP (модули от переделанного Prodigi Editor by Witchcraft for DMA UltraSound Card не понимаются). С интерполяцией лучше звучит:)
Q-Master
31.01.2010, 17:53
При сборке утреннего SVN'а на паверной машине под линухом:
/zxtune/src/sound$ make
Building library sound
mkdir -p ../../obj/linux/debug/sound
mkdir -p ../../lib/linux/debug
g++ -O0 -mcpu=7450 -mabi=altivec -maltivec -g3 -D__STDC_CONSTANT_MACROS -DOSS_SUPPORT -funroll-loops -funsigned-char -fno-strict-aliasing -W -Wall -Wextra -ansi -pipe -I../../include -I../../src -I../.. -c -MMD impl/mixer.cpp -o ../../obj/linux/debug/sound/mixer.o
impl/mixer.cpp: In member function ‘Error<unnamed>::FastMixer<InChannels>::SetMatrix(const std::vector<boost::array<double, 2u>, std::allocator<boost::array<double, 2u> > >&) [with unsigned int InChannels = 4u]’:
impl/mixer.cpp:174: instantiated from here
impl/mixer.cpp:136: error: no matching function for call to ‘bind(<unresolved overloaded function type>, boost::arg<1>&, unsigned int)’
impl/mixer.cpp: In member function ‘Error<unnamed>::FastMixer<InChannels>::SetMatrix(const std::vector<boost::array<double, 2u>, std::allocator<boost::array<double, 2u> > >&) [with unsigned int InChannels = 3u]’:
impl/mixer.cpp:174: instantiated from here
impl/mixer.cpp:136: error: no matching function for call to ‘bind(<unresolved overloaded function type>, boost::arg<1>&, unsigned int)’
impl/mixer.cpp: In member function ‘Error<unnamed>::FastMixer<InChannels>::SetMatrix(const std::vector<boost::array<double, 2u>, std::allocator<boost::array<double, 2u> > >&) [with unsigned int InChannels = 2u]’:
impl/mixer.cpp:174: instantiated from here
impl/mixer.cpp:136: error: no matching function for call to ‘bind(<unresolved overloaded function type>, boost::arg<1>&, unsigned int)’
impl/mixer.cpp: In member function ‘Error<unnamed>::FastMixer<InChannels>::SetMatrix(const std::vector<boost::array<double, 2u>, std::allocator<boost::array<double, 2u> > >&) [with unsigned int InChannels = 1u]’:
impl/mixer.cpp:174: instantiated from here
impl/mixer.cpp:136: error: no matching function for call to ‘bind(<unresolved overloaded function type>, boost::arg<1>&, unsigned int)’
make: *** [../../obj/linux/debug/sound/mixer.o] Ошибка 1
При сборке утреннего SVN'а на паверной машине под линухом:
Хренпойми что... Пофиксил. С этим std::min/std::max под виндовым компилятором траблы были, а под gcc ни разу проблем не видел.
ЗЫ. Для быстрой сборки релизного билда под линух есть скрипт build_linux.sh в корне. Его в начале надо подфиксить под требуемую платформу.
В рамках проекта по захвату^W проверке сборки на разных платформах, выложил билд по ревизии 334 под все платформы и компиляторы, до которых смог дотянуться:
- msvc 2003 (win32)
- msvc 2005 (win64)
- gcc/mingw (win32; кстати, результат работает быстрее, чем msvc аж на 20%, хотя и весит больше, что не так важно)
- gcc (linux i686)
- gcc (linux x86_64)
Из нового- поддержка конфигурационных файлов, чтоб не пихать постоянно длинные опции в командную строку.
Q-Master
03.02.2010, 12:36
В рамках проекта по захвату^W проверке сборки на разных платформах, выложил билд по ревизии 334 под все платформы и компиляторы, до которых смог дотянуться:
- msvc 2003 (win32)
- msvc 2005 (win64)
- gcc/mingw (win32; кстати, результат работает быстрее, чем msvc аж на 20%, хотя и весит больше, что не так важно)
- gcc (linux i686)
- gcc (linux x86_64)
Из нового- поддержка конфигурационных файлов, чтоб не пихать постоянно длинные опции в командную строку.
Про gcc/mingw: а ты objcopy --strip-all -R .comments делаешь?
Про gcc/mingw: а ты objcopy --strip-all -R .comments делаешь?
Нет. У меня mingw такую секцию не создает. В линуксовых билдах она 56 байт всего.
собрал svn336
если при запуске рядом нету zxtune.conf, то виснет
если есть zxtune.conf (из поставки, полностью закоменнтированный), то вылетает с ошибкой
единственное, что работает в обоих случаях - это --help
прописал zxtune.core.aym.type=0, заработало
было б хорошо, если бы не было такой привязки к конфиг-файлу, чтоб если не удалось прочесть какой-то параметр, то использовалось бы некое дефолтное значение для него
и если нет конфига совсем, то тоже, чтоб все параметры брались умолчальные
ну или ошибки более verbose были :)
еще я вывод звука не смог запустить, только конвертацию в wav
но тут может дело в том, что я OSS из ядра выкинул (правда, ALSA его эмулирует), и в том, что у меня аж 3 alsa-устройства в системе, и из них дефолтное не первое
Было б хорошо, если б можно было сказать что-то в духе --wav filename=- и получить wav-файл прямо на stdout. Чтоб скармливать через пайп aplay
Хотя не, это костыль какой-то... это ж плеер, а не конвертер, тут и так много чего в stdout пишется :)
Q-Master
04.02.2010, 10:12
Да, у меня тоже все нормально собралось, а заиграло только после того, как я поставил в конфиге zxtune.core.aym.type=0. Это не есть гут.
если при запуске рядом нету zxtune.conf, то виснет
Странно. Он пытается сначала искать рядом, потом в домашней директории (~/zxtune/zxtune.conf). Если не нашел, будет использовать дефолты. Ошибка будет выдаваться, если конфиг был явно задан и отсутствует.
Какая ошибка? Развал или пишет в аутпут просто? Если развал, можешь стек отладчика показать?
еще я вывод звука не смог запустить, только конвертацию в wav
но тут может дело в том, что я OSS из ядра выкинул (правда, ALSA его эмулирует), и в том, что у меня аж 3 alsa-устройства в системе, и из них дефолтное не первое
Пока только oss/wav/null для линукса. Поскольку oss отсутствует, будет юзаться null (ибо не требует параметров и работает всегда). Для wav требуется задавать параметр, потому дефолтным быть не может. Вывод в stdout сделать можно, но тогда сложно проконтролировать отсутствие другого вывода, да и не вав это будет, а сырой поток, ибо заголовок не выдашь.
---------- Post added at 10:18 ---------- Previous post was at 10:17 ----------
Да, у меня тоже все нормально собралось, а заиграло только после того, как я поставил в конфиге zxtune.core.aym.type=0. Это не есть гут.
"Главный критерий ошибки как ошибки- ее повторяемость":) Ща посмотрю в чем дело.
---------- Post added at 10:49 ---------- Previous post was at 10:18 ----------
Пофиксил вроде. Заодно поменял, чтоб конфиг искался в ~/.zxtune/zxtune.conf для единообразия.
Какая ошибка? Развал или пишет в аутпут просто? Если развал, можешь стек отладчика показать?
просто виснет
в strace было видно, что пытается искать zxtune.conf в домашней директории, а потом уходит в вечное ожидание какого-то фьютекса
Пока только oss/wav/null для линукса. Поскольку oss отсутствует, будет юзаться null (ибо не требует параметров и работает всегда).
я не особо силен в программировании звука, как вывод через OSS работает? через /dev/dsp?
просто эти устройства ALSA эмулирует, но у меня первым идет чуть ли не тв-тюнер, а рабочая звуковуха в районе /dev/dsp2
номер устройства в zxtune вроде можно задавать, надо с этим поиграться
---------- Post added at 13:20 ---------- Previous post was at 13:16 ----------
Вывод в stdout сделать можно, но тогда сложно проконтролировать отсутствие другого вывода, да и не вав это будет, а сырой поток, ибо заголовок не выдашь.
да нафиг это :)
вот когда будет отдельная либа для декодирования, тогда и будет иметь смысл отдельное приложение для такого вывода сделать
а счас городить из плеера swiss army knife какой-то, имхо, не стоит :)
я не особо силен в программировании звука, как вывод через OSS работает? через /dev/dsp?
просто эти устройства ALSA эмулирует, но у меня первым идет чуть ли не тв-тюнер, а рабочая звуковуха в районе /dev/dsp2
номер устройства в zxtune вроде можно задавать, надо с этим поиграться
Пропиши в конфиге zxtune.sound.backends.oss.device=/dev/dsp2 и микшер соответствующий
просто виснет
в strace было видно, что пытается искать zxtune.conf в домашней директории, а потом уходит в вечное ожидание какого-то фьютекса
Потрассировал. Там была ошибка- std::ifstream'у скармливается просто директория. И почему-то он это хавает... Сейчас работает? У меня, по крайней мере, основные кейсы все прошли.
Сейчас работает? У меня, по крайней мере, основные кейсы все прошли.
да, счас все ок
разве что если запустить без параметров, то выводит как будто сообщение об ошибке
eltaron@home:~/src/zxtune$ bin/linux/debug/zxtune123
No files to process.
Code: ZXT#00
At: 9edfe44c (source.cpp:157, Initialize)
--------
в релизной версии то же самое, только уточнения в скобках нет
разве что если запустить без параметров, то выводит как будто сообщение об ошибке
Ну да. Ошибка- никаких входных данных не указано. Потом может допилю чтоб хелп выдавало в таком случае.
Пропиши в конфиге zxtune.sound.backends.oss.device=/dev/dsp2 и микшер соответствующий
да, это сработало, спасибо :)
да, это сработало, спасибо
Вот и отлично:)
Прошу проверить следующие вещи:
- внятность сообщений об ошибках
- поведение во внештатных (пусть даже так кажется) ситуациях
- полнота функционала (вдруг забыл еще что)
- полнота функционала (вдруг забыл еще что)
эта версия вроде бы играет музоны из хобеты
но я не вкурил как
zxtune123 23_59.\$m
просто завершается без ошибок и какого-либо вывода
в юниксах ведь принято, что программа завершается безо всякого вывода тогда и только тогда, когда она отработала успешно :)
эта версия вроде бы играет музоны из хобеты
но я не вкурил как
Двумя путями. Явно как плугин- проверяет контрольную сумму, потом берет файл и отдает на проверку другим плугинам. Или неявно как сканер- пошагово проверяет все содержимое (используется когда плугин хобеты отключен или не определился).
просто завершается без ошибок и какого-либо вывода
в юниксах ведь принято, что программа завершается безо всякого вывода тогда и только тогда, когда она отработала успешно
Так и есть- ошибок не было. Просто в данном файле лежит модуль от pt3, а они пока не поддерживаются:) Программа выполнила поиск, ничего не нашла и благополучно вышла.
Билд по 351 коммиту. Поддержаны форматы TRD и PT3.
Вот те раз:
qmaster@Deb-G5-QM:~/--/zxtune/samples/scl$ zxtune123 --alsa --file TAGANNWS.SCL
Ошибка сегментирования
Попробуй такие вещи (насколько понимаю, у тебя BigEndian?):
1) скормить этот файл с ключом "--deny-plugins SCL" чтоб удостовериться, точно ли это SCL плагин глючит (в чем сомневаюсь)
2) запустить "ZXTUNE_DEBUG_LOG=1 ./zxtune123 .... >dbg.log 2>&1" и дать мне полученный файл чтоб узнать, на чем упало.
Вот те два:
Да, там была ошибка на тему порядка байтов. Прохлопал, блин. Залил уже.
ЗЫ. Остальные форматы можешь прогнать?
Q-Master
28.03.2010, 17:28
Попробуй такие вещи (насколько понимаю, у тебя BigEndian?):
1) скормить этот файл с ключом "--deny-plugins SCL" чтоб удостовериться, точно ли это SCL плагин глючит (в чем сомневаюсь)
Падает так-же.
Пробовал запустить по обычному, но под gdb:
Program received signal SIGSEGV, Segmentation fault.
0x100857a4 in ParseHrip (data=0xf7f590a3, size=34251, callback=..., ignoreCorrupted=false) at plugins/containers/hrip_supp.cpp:159
159 blockHdr->AdditionalSize;
(gdb) bt
#0 0x100857a4 in ParseHrip (data=0xf7f590a3, size=34251, callback=..., ignoreCorrupted=false) at plugins/containers/hrip_supp.cpp:159
#1 0x100861b4 in Process (this=0xffffd178, region=...) at plugins/containers/hrip_supp.cpp:239
#2 0x10086a38 in ProcessHRIPContainer (commonParams=..., detectParams=..., data=..., region=...) at plugins/containers/hrip_supp.cpp:306
#3 0x1008f03c in boost::detail::function::function_invoker4<Error (*)(std::map<std::string, boost::variant<long long, std::string, std::vector<unsigned char, std::allocator<unsigned char> >, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>, std::less<std::string>, std::allocator<std::pair<std::string const, boost::variant<long long, std::string, std::vector<unsigned char, std::allocator<unsigned char> >, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> > > > const&, ZXTune::DetectParameters const&, ZXTune::MetaContainer const&, ZXTune::ModuleRegion&), Error, std::map<std::string, boost::variant<long long, std::string, std::vector<unsigned char, std::allocator<unsigned char> >, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>, std::less<std::string>, std::allocator<std::pair<std::string const, boost::variant<long long, std::string, std::vector<unsigned char, std::allocator<unsigned char> >, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> > > > const&, ZXTune::DetectParameters const&, ZXTune::MetaContainer const&, ZXTune::ModuleRegion&>::invoke (function_ptr=..., a0=..., a1=..., a2=..., a3=...)
at /usr/include/boost/function/function_template.hpp:95
c deny-plugins под gdb:
Program received signal SIGSEGV, Segmentation fault.
0x100857a4 in ParseHrip (data=0xf7f590a3, size=34251, callback=..., ignoreCorrupted=false) at plugins/containers/hrip_supp.cpp:159
159 blockHdr->AdditionalSize;
(gdb) bt
#0 0x100857a4 in ParseHrip (data=0xf7f590a3, size=34251, callback=..., ignoreCorrupted=false) at plugins/containers/hrip_supp.cpp:159
#1 0x100861b4 in Process (this=0xffffd808, region=...) at plugins/containers/hrip_supp.cpp:239
#2 0x10086a38 in ProcessHRIPContainer (commonParams=..., detectParams=..., data=..., region=...) at plugins/containers/hrip_supp.cpp:306
#3 0x1008f03c in boost::detail::function::function_invoker4<Error (*)(std::map<std::string, boost::variant<long long, std::string, std::vector<unsigned char, std::allocator<unsigned char> >, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>, std::less<std::string>, std::allocator<std::pair<std::string const, boost::variant<long long, std::string, std::vector<unsigned char, std::allocator<unsigned char> >, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> > > > const&, ZXTune::DetectParameters const&, ZXTune::MetaContainer const&, ZXTune::ModuleRegion&), Error, std::map<std::string, boost::variant<long long, std::string, std::vector<unsigned char, std::allocator<unsigned char> >, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>, std::less<std::string>, std::allocator<std::pair<std::string const, boost::variant<long long, std::string, std::vector<unsigned char, std::allocator<unsigned char> >, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> > > > const&, ZXTune::DetectParameters const&, ZXTune::MetaContainer const&, ZXTune::ModuleRegion&>::invoke (function_ptr=..., a0=..., a1=..., a2=..., a3=...)
at /usr/include/boost/function/function_template.hpp:95
2) запустить "ZXTUNE_DEBUG_LOG=1 ./zxtune123 .... >dbg.log 2>&1" и дать мне полученный файл чтоб узнать, на чем упало.
Лог не буду заливать. Там вообще ничего интересного нет. Просто перебор по энумераторам, потом падение. Да и больше мегабайта в архиве он получается.
Да, там была ошибка на тему порядка байтов. Прохлопал, блин. Залил уже.
ЗЫ. Остальные форматы можешь прогнать?
Да, починилось с турбосаундом. Прочие форматы:
asc - работает
chi - работает
fdi - работает
hobeta - работает
hrip - падает
hrust1 - оба варианта работают
hrust2 - работает
pdt - работает
psg - работает
pt2 - работает
pt3 - работает
scl - падает
stc - работает
stp - NO LIM..stp - вообще ничего, остальные 2 музона - работает
trd - работает
ts - работает
txt - работает
Падает так-же.
Пробовал запустить по обычному, но под gdb:
Вроде подфиксил. Должно заработать hrip&scl.
stp - NO LIM..stp - вообще ничего, остальные 2 музона - работает
У него какая-то структура битая, надо будет проверку облегчить...
Q-Master
29.03.2010, 12:49
Вроде подфиксил. Должно заработать hrip&scl.
У него какая-то структура битая, надо будет проверку облегчить...
О! SCL заработал и хрип тоже.
В преддверии первого апреля замутил плеер для dingux.
Суровый, как челябинский металлург, без гуя (очень трудозатратное дело), юзается файлер от dmenu. Мануал внутри архива.
Ну и вообще, куча фиксов и нововведений:)
Q-Master
01.04.2010, 11:01
Тока опять грабли. Теперь ты неверно где-то у себя в мэйкфайлах платформу определяешь. Приходится ее ручками говорить. uname -a грит вот так:
Linux Deb-G5-QM 2.6.32-3-powerpc64 #1 SMP Thu Feb 25 08:18:03 UTC 2010 ppc64 GNU/Linux
Тока опять грабли. Теперь ты неверно где-то у себя в мэйкфайлах платформу определяешь. Приходится ее ручками говорить. uname -a грит вот так:
Linux Deb-G5-QM 2.6.32-3-powerpc64 #1 SMP Thu Feb 25 08:18:03 UTC 2010 ppc64 GNU/Linux
Да, платформу надо явно прописывать. Редактируешь default.mak в корне и будет щастье.
Даешь билд под Mac OS X! :)
Даешь билд под Mac OS X!
Это просьбы к тем, у кого он (мак) есть:)
У меня есть, могу собрать, но ведь наверняка что-то портировать придется, а в этом я ноль. Хоть и программист сам, но с линуксами плохо дружу.
У меня есть, могу собрать, но ведь наверняка что-то портировать придется, а в этом я ноль. Хоть и программист сам, но с линуксами плохо дружу.
Нужен boost и sdl. Если последнего не будет, то сможет только вав конвертить, ибо остальные подсистемы в маке не поддерживаются.
Благодаря неиллюзорной поддержке тов. F0lken'a удалось проверить (и обеспечить) сборку под платформу PowerPC.
Билд 435 выложен во всех вариантах, которые смог собрать лично- 7 разных архивов.
Поддержка платформы windows32 сделана в двух вариантах - кому важна скорость работы, юзают сборку от mingw, кому небезразличен размер - сборку от msvs2003.
Кстати о птичках: http://zx.pk.ru/showthread.php?t=12540
Q-Master
09.04.2010, 10:23
wxWidgets это ужаснах. Лучше смотреть в сторону более вразумительных тулкитов, типа Qt или GTK.
Вот только я не пойму, а то что я собирал под PowerPC это иллюзорная поддержка? 8)
wxWidgets это ужаснах. Лучше смотреть в сторону более вразумительных тулкитов, типа Qt или GTK.
GTK ненавижу. Насчет Qt серьезно раздумывал, но с ним геморрой на тему сборки под винду- таскать с собой динамические либы и прочая- не очень хорошо. Плюс препроцессор этот долбаный их...
Вот только я не пойму, а то что я собирал под PowerPC это иллюзорная поддержка? 8)
Не, это серьезная поддержка:) Просто F0lken мне тупо ssh на машину предоставил, да и еще в другом помог.
Кстати о птичках, у тебя же linux-ppc64? Если для компилятора не нужно каких-либо специфичных опций, то у тебя должен сработать скрипт build_linux.sh
Q-Master
10.04.2010, 19:45
GTK ненавижу. Насчет Qt серьезно раздумывал, но с ним геморрой на тему сборки под винду- таскать с собой динамические либы и прочая- не очень хорошо. Плюс препроцессор этот долбаный их...
Не, это серьезная поддержка:) Просто F0lken мне тупо ssh на машину предоставил, да и еще в другом помог.
Кстати о птичках, у тебя же linux-ppc64? Если для компилятора не нужно каких-либо специфичных опций, то у тебя должен сработать скрипт build_linux.sh
C "gtk ненавижу" это ты зря. Вполне все разумно можно сделать, если заюзать gtk+. QT шный препроцессор тебя вообще не касается, он сам все делает, и в твоем внимании или помощи не нуждается. С qt я тебе подсобить вполне себе в состоянии. Да и проблем-то там особых нет. А вот с wx я разбирался на тему собрать их под МСВС старый. Это пипец, причем полный и безповоротный. Без пол-литра понять как ЭТО работает невозможно. Там одних макросов на пол-жизни разбираться.
Для сборки под 64 бита надо собирать с опцией -m64, ну и неплохо-бы для PowerPC давать опцию -mcpu= и дальше номер проца(если G4 - 7450, если G5 - 970) ну и -maltivec -mabi=altivec тоже неплохо давать.
Повер классный проц. Ему пофиг какие команды выполнять. У него реально не существует разделения жесткого на 32/64.
C "gtk ненавижу" это ты зря. Вполне все разумно можно сделать, если заюзать gtk+
Ну если это будет вменяемая С++-обертка и безгеморройная поддержка в win32 (как минимум, еще бы mac не мешало), то можно подумать.
QT шный препроцессор тебя вообще не касается, он сам все делает, и в твоем внимании или помощи не нуждается.
Ну почему не касается. Для разруливания .moc->.(cpp|h) надо мейкфайлы допиливать, хотя это не сложно.
А вот с wx я разбирался на тему собрать их под МСВС старый. Это пипец, причем полный и безповоротный. Без пол-литра понять как ЭТО работает невозможно. Там одних макросов на пол-жизни разбираться.
Да, макросы- это зло. Но и в QT их их навалом. Плюс старую МСВС (до 2003) я и сам не поддерживаю- я привык писать код, оглядываясь на стандарт, а не на идиотизм конкретного компилятора.
Для сборки под 64 бита надо собирать с опцией -m64, ну и неплохо-бы для PowerPC давать опцию -mcpu= и дальше номер проца(если G4 - 7450, если G5 - 970) ну и -maltivec -mabi=altivec тоже неплохо давать.
Ну это все можно без проблем протащить через отдельные мейки для платформ (наподобие как для dingux сделано), сейчас просто все линуксы и ppc в том числе собираются через единый мейк.
Повер классный проц. Ему пофиг какие команды выполнять. У него реально не существует разделения жесткого на 32/64.
Ну а меня вот смутила "производительность" в 80 богомипсов при тактовой частоте в 1.5ГГц. Тот же 32-битный линукс на вмваре под виндой выдал 2000 на 2Ггц (intel x2), а мой домашний 64-битный линукс выдал почти 4000 на 2Ггц (amd x2).
Q-Master
11.04.2010, 11:26
Ну если это будет вменяемая С++-обертка и безгеморройная поддержка в win32 (как минимум, еще бы mac не мешало), то можно подумать.
Сейчас у гтк алгоритм программирования под C++ очень похож на qt. Те-же слоты, сигналы и тэдэ.
Ну почему не касается. Для разруливания .moc->.(cpp|h) надо мейкфайлы допиливать, хотя это не сложно.
Да это все 5 строчек в мэйкфайле. Один фиг для всех гуи надо будет те или иные препроцессоры поддерживать.
Да, макросы- это зло. Но и в QT их их навалом. Плюс старую МСВС (до 2003) я и сам не поддерживаю- я привык писать код, оглядываясь на стандарт, а не на идиотизм конкретного компилятора.
МСВС это Мобильная Система для Вооруженных Сил (оно-же красная шапка линукс старый какой-то). А в qt макросов немного. Да и разумные они там.
Ну это все можно без проблем протащить через отдельные мейки для платформ (наподобие как для dingux сделано), сейчас просто все линуксы и ppc в том числе собираются через единый мейк.
Надо попробовать исправить и посмотреть.
Ну а меня вот смутила "производительность" в 80 богомипсов при тактовой частоте в 1.5ГГц. Тот же 32-битный линукс на вмваре под виндой выдал 2000 на 2Ггц (intel x2), а мой домашний 64-битный линукс выдал почти 4000 на 2Ггц (amd x2).
Я у себя вообще не нашел упоминаний про богомипсы. А по dnetc я уделал комп другана вместе с видяхой. 8) Причем такой-же квад, причем с большей тактовой.
МСВС это Мобильная Система для Вооруженных Сил (оно-же красная шапка линукс старый какой-то). А в qt макросов немного. Да и разумные они там.
А я подумал что это визуалстудия:)
Надо попробовать исправить и посмотреть.
Если что, тут (http://code.google.com/p/zxtune/wiki/HowToBuild) немного инфы о структуре мейкфайлов. Но примеров, думаю, хватит с головой.
ЗЫ. Уже оценил безнадежность гуевого дела, буду сам за него браться:)
Q-Master
12.04.2010, 10:57
Если что, тут (http://code.google.com/p/zxtune/wiki/HowToBuild) немного инфы о структуре мейкфайлов. Но примеров, думаю, хватит с головой.
ЗЫ. Уже оценил безнадежность гуевого дела, буду сам за него браться:)
Э... Я как-бэ не малчик. Мэйкфайлы сам пейсал не раз. 8)
А ГУЙ лучше действительно самому делать или челу, который досконально понимает чего ты хочешь.
Э... Я как-бэ не малчик. Мэйкфайлы сам пейсал не раз. 8)
Да эт понятно. Просто я там *****кода накрутил, с лету разобраться может быть проблематично:)
А ГУЙ лучше действительно самому делать или челу, который досконально понимает чего ты хочешь.
Да уже понял...
Мы все учились понемногу
Чему-нибудь и как-нибудь.
Гуи напишем на коленке!
Дизайн?! ТЗ?! Ты что! Забудь!
:)
Q-Master
12.04.2010, 18:00
Если по Qt будут вопросы - задавай. Я с ней уже плотно дружу больше 2х лет.
Q-Master
20.04.2010, 16:07
Так. Я покрутил мэйкфайл и добавил туда поддержку openmp и graphite. Думаю будет работать начиная с gcc 4.2. Аналогично исправил компиляцию для powerpc чтобы автоматически определялось есть альтивек или нет и определялся G5. Исправленные файлы в аттаче.
Так. Я покрутил мэйкфайл и добавил туда поддержку openmp и graphite. Думаю будет работать начиная с gcc 4.2. Аналогично исправил компиляцию для powerpc чтобы автоматически определялось есть альтивек или нет и определялся G5. Исправленные файлы в аттаче.
В gcc.mak низзя ничего платформ-специфичного пихать, ибо ломаются сборки под mingw. Лучше протянуть все через build.sh - для релизных билдов оптимизация существенна, для дебужных не очень.
ЗЫ. А нафига openmp?
Q-Master
20.04.2010, 20:06
В gcc.mak низзя ничего платформ-специфичного пихать, ибо ломаются сборки под mingw. Лучше протянуть все через build.sh - для релизных билдов оптимизация существенна, для дебужных не очень.
ЗЫ. А нафига openmp?
Ничего там не сломается. Проверка-же идет. В скрипте лень было. 8) А чтобы графит заработал. Да и буст с гцц его давно держат.
Ничего там не сломается. Проверка-же идет. В скрипте лень было. 8) А чтобы графит заработал. Да и буст с гцц его давно держат.
Проверил на одноядерном проце с -mabi=altivec -maltivec. Бинарник слегка вырос, а вот скорости не прибавилось вообще. Если целевой процессор эту фичу (altivec) не поддерживает, прога вообще запустится?
Протащил через скрипты, можно хачить под разные платформы.
присоединяюсь к просьбе megus'а - очень хотелось бы видеть сборку под mac os x.
Дайте мне ssh на мак- соберу:)
Q-Master
21.04.2010, 12:17
Проверил на одноядерном проце с -mabi=altivec -maltivec. Бинарник слегка вырос, а вот скорости не прибавилось вообще. Если целевой процессор эту фичу (altivec) не поддерживает, прога вообще запустится?
Протащил через скрипты, можно хачить под разные платформы.
Теоретически должна. При сборке проц проверяется на предмет поддержки альтивека. Скорости будет незаметно без спец поддержки в самом коде.
Дайте мне ssh на мак- соберу:)
Не сидел бы я за NAT - дал бы без вопросов :)
а вы прокиньте туннель через ссш и нет проблем.
Так. Я покрутил мэйкфайл и добавил туда поддержку openmp и graphite. Думаю будет работать начиная с gcc 4.2. Аналогично исправил компиляцию для powerpc чтобы автоматически определялось есть альтивек или нет и определялся G5. Исправленные файлы в аттаче.
Появился в репозитории gcc4.5.0. Простая смена компилятора дала 14% прирост в скорости прохождения комплексного теста. Поигрался с опциями по распараллеливанию- никакого прироста не получилось, даже наоборот. Заставить собрать с -flto -fwhole-program не получилось.
Q-Master
26.04.2010, 09:06
Появился в репозитории gcc4.5.0. Простая смена компилятора дала 14% прирост в скорости прохождения комплексного теста. Поигрался с опциями по распараллеливанию- никакого прироста не получилось, даже наоборот. Заставить собрать с -flto -fwhole-program не получилось.
А ты какой дистр юзаешь? В дебиане еще нет 4.5.0 в репозитории, по крайней мере в powerpc версии. Теоретически ты буст сильно юзаешь, а он сильно юзает openmp если есть возможность, должно быть ускорение. Хотя на такой задаче как у тебя это будет очень незаметно, к тому-же на x86, на которой одна смена контекста как у меня 30 на powerpc. 8)
А ты какой дистр юзаешь?
Arch
Хотя на такой задаче как у тебя это будет очень незаметно, к тому-же на x86, на которой одна смена контекста как у меня 30 на powerpc. 8)
Я про то же- серьезно параллелить нечего, самые тяжелые операции- микширование и рендер.
Q-Master
27.04.2010, 10:30
Циклы, разве что, распараллелить при микшировании.
Циклы, разве что, распараллелить при микшировании.
Да там и так циклы по десятку команд от силы получаются. Я там уже профилировал и оптимизировал. Если честно, офигел от способностей gcc к оптимизации- он мне развернул даже циклы в алгоритмах.
Q-Master
28.04.2010, 13:11
Да там и так циклы по десятку команд от силы получаются. Я там уже профилировал и оптимизировал. Если честно, офигел от способностей gcc к оптимизации- он мне развернул даже циклы в алгоритмах.
8)) А считается что гцц фигово оптимизирует. Особенно для powerpc.
Первая сырая версия плеера с GUI, сборка под винду.
Что есть:
- плейлист, добавлять в него- drag'n'drop
- все операции по воспроизведению (назад-вперед-пауза-перемотка)
Больше ничего нет:)
Чтоб заработало, надо также скачать архив zxtune-runtime и распаковать в папку с плеером или в системную. Для консольного плеера это не требуется.
Претензии по GUI принимаются здесь (http://zx.pk.ru/showthread.php?t=12540).
Более юзабельный билд вышел, много чего пофикшено и улучшено.
Q-Master
12.05.2010, 11:00
Более юзабельный билд вышел, много чего пофикшено и улучшено.
Посмотрел вчера. У меня даже все влет собралось, даже без плясок с бубном. 8) Единственное чего нехватало, так это добавления музла не через D&D и добавления директорий с поддиректориями.
PS: а ты реализуешь все фишки консольной версии? Типа сохранения в вав и прочего?
Посмотрел вчера. У меня даже все влет собралось, даже без плясок с бубном. 8) Единственное чего нехватало, так это добавления музла не через D&D и добавления директорий с поддиректориями.
Это сделаю. Там надо для начала кеширование сделать нормальное, а то все модули хранятся в памяти, посему большой плейлист много занимает.
PS: а ты реализуешь все фишки консольной версии? Типа сохранения в вав и прочего?
Разумеется:) Даже без прерывания воспроизведения. Ибо там все можно параллелить.
Q-Master
13.05.2010, 10:42
Это сделаю. Там надо для начала кеширование сделать нормальное, а то все модули хранятся в памяти, посему большой плейлист много занимает.
А у тебя сами модули в память льются? Я-то думал ты тупо список составляешь и все...
ЗЫ: во вложении файлец, в нем .desktop и иконка для твоей аппликухи. десктоп файл надо покласть в /usr/share/applications, а иконку в /usr/share/icons. Ну или в /usr/local/ и далее по плану.
Если надо - могу попробовать сделать для тебя .deb собиралку.
А у тебя сами модули в память льются? Я-то думал ты тупо список составляешь и все...
Там через callback модули достаются. В консольном плеере они сразу и играются, потому памяти не расходуется лишней. А в гуевом они в список добавляются. Думаю сделать кеш, чтоб хранил контейнеры файлов, ибо резолв пути внутри файла легче, чем открытие и загрузка его, а при работе с контейнерами с большой долей вероятности последовательные запросы будут в пределах одного файла.
Если надо - могу попробовать сделать для тебя .deb собиралку.
Было бы хорошо:)
Я пока пробую писать единый сборочный скрипт на перле. Ибо этот разнобой build.bat/build.sh меня достал. Особенно тупорылый batch, в котором ничерта не сделаешь.
---------- Post added at 11:40 ---------- Previous post was at 11:14 ----------
ЗЫ. Можешь посмотреть, нет ли у меня там косяков в работе с Qt? А то я несколько пошел в разрез с официальной концепцией программирования на нем, хотя пока никаких проблем с этим не вижу (это я о скрытии всех внутренностей классов и т.п.).
Особенно тупорылый batch, в котором ничерта не сделаешь.
я конечно сам хз, но бытует мнение, что на нем делается чуть ли не всё. просто надо быть особым извращенцем:)
я конечно сам хз, но бытует мнение, что на нем делается чуть ли не всё. просто надо быть особым извращенцем
Я тоже знаю 200 способов наступить себе на яйца. Но чего-то не хочется:)
Q-Master
13.05.2010, 18:49
Там через callback модули достаются. В консольном плеере они сразу и играются, потому памяти не расходуется лишней. А в гуевом они в список добавляются. Думаю сделать кеш, чтоб хранил контейнеры файлов, ибо резолв пути внутри файла легче, чем открытие и загрузка его, а при работе с контейнерами с большой долей вероятности последовательные запросы будут в пределах одного файла.
Не факт. Особенно если учитывать что у тебя есть сортировка плей-листа. НО! Думаю что проще хранить список хитрый, чем всякую фигню в памяти.
Было бы хорошо:)
Постараюсь сделать. А ты залей десктопный файл пока.
Я пока пробую писать единый сборочный скрипт на перле. Ибо этот разнобой build.bat/build.sh меня достал. Особенно тупорылый batch, в котором ничерта не сделаешь.
Вот до чего доводит нежелание юзать autoconf/automake. 8))))
ЗЫ. Можешь посмотреть, нет ли у меня там косяков в работе с Qt? А то я несколько пошел в разрез с официальной концепцией программирования на нем, хотя пока никаких проблем с этим не вижу (это я о скрытии всех внутренностей классов и т.п.).
Вроде я ничего не замечал такого, но гляну по-внимательнее.
Вот до чего доводит нежелание юзать autoconf/automake. 8))))
Ну вообще-то эти скрипты нужны не для сборки как таковой, а для удобного формирования архива для дистрибуции. Сборка у меня просто "make -C ..." и все.
А по поводу тулзов- возмутительная сложность независимой сборки под дебаг и релиз, отсутствие оных утилит в инсталляционной поставке mingw- достаточный повод для меня чтоб их не юзать.
Постараюсь сделать. А ты залей десктопный файл пока.
apps/zxtune-qt/dist/linux/zxTune.desktop
Q-Master
14.05.2010, 09:52
Ну вообще-то эти скрипты нужны не для сборки как таковой, а для удобного формирования архива для дистрибуции. Сборка у меня просто "make -C ..." и все.
А по поводу тулзов- возмутительная сложность независимой сборки под дебаг и релиз, отсутствие оных утилит в инсталляционной поставке mingw- достаточный повод для меня чтоб их не юзать.
Надо было все через мэйк-файл реализовывать. Скрипты были-бы не нужны. Мэйк вполне себе умеет все то-же самое. Для мелкомягких студий вообще проектных файлов достаточно было-бы.
apps/zxtune-qt/dist/linux/zxTune.desktop
Отлично.
Q-Master
20.05.2010, 18:47
Как и обещал, сделал сборку дебиан пакетов. Пришлось покорячить build.sh, но без этого никак. В аттаче все необходимое. В директории debian есть changelog, его надо по идее обновлять, иначе будет версия неверная. Видел автообновлялки для этого файла, но не помню где.
2Vitamin: посмотри там во всех файлах, где ты указан, не указан твой емыл ибо я его не знаю. 8)
Как и обещал, сделал сборку дебиан пакетов. Пришлось покорячить build.sh, но без этого никак. В аттаче все необходимое. В директории debian есть changelog, его надо по идее обновлять, иначе будет версия неверная. Видел автообновлялки для этого файла, но не помню где.
Большие изменения, кое-какие проблемы увидел, но не все:
- не остаются логи билдов и не копируются .pdb (иногда для отладки очень даже надо)
- не генерируется мануал
- zxtune.conf надо класть в ~/.zxtune/zxtune.conf
И вообще, давай я тебя в коммитеры добавлю:) Ты все равно в коде не копаешься, в окружении в основном, а там и так срач великий, хуже не станет, мне лишь бы не сломало что есть. Так что жду от тебя адреса гуглопочты:)
Q-Master
21.05.2010, 11:35
Большие изменения, кое-какие проблемы увидел, но не все:
- не остаются логи билдов и не копируются .pdb (иногда для отладки очень даже надо)
- не генерируется мануал
- zxtune.conf надо класть в ~/.zxtune/zxtune.conf
И вообще, давай я тебя в коммитеры добавлю:) Ты все равно в коде не копаешься, в окружении в основном, а там и так срач великий, хуже не станет, мне лишь бы не сломало что есть. Так что жду от тебя адреса гуглопочты:)
Логи билдов не остаются в принципе. Не видел их ни в одном варианте сборки деб пакетов. Точнее логи создаются, но не там где ты думаешь. 8)
Мануал не генерируется, ибо он тхт, а по уму-то надо man. Да и при билде тогда надо зависимость на твою тулзу делать.
zxtune.conf сам можешь из етц класть куда надо. В деб пакете этого сделать нельзя. Да и нормально что он в етц лежит.
Адреса гуглопочты у меня нет и не предвидится, ибо мне пока не надо.
Логи билдов не остаются в принципе. Не видел их ни в одном варианте сборки деб пакетов.
Лог не в пакет, а рядом с ним. Туда же и pdb.
Мануал не генерируется, ибо он тхт, а по уму-то надо man.
Можно сделать, там по шаблону все создается.
Да и при билде тогда надо зависимость на твою тулзу делать.
Да, это вот уже проблема. Подумываю насчет затаскивания сгенеренных версий мануалов в дерево.
Адреса гуглопочты у меня нет и не предвидится, ибо мне пока не надо.
Зря:)
Q-Master
22.05.2010, 10:34
Лог не в пакет, а рядом с ним. Туда же и pdb.
Ну там приблизительно так и происходит. Только лог билда кладется в лог-файл в директории дебиан. Ну и не совсем так делается дебаг в других разработках. Посмотри на пакеты, там есть отдельно -dbg пакет, который содержит отладочную инфу но не просто так, а положеную в директорию /usr/lib/debug/ ну и далее путь по списку. Причем с тем-же названием что и оригинальный файл. Но там лишь отладка.
Вот, к примеру, содержимое пакета faad-dbg:
/usr/lib/debug/usr/bin/faad
/usr/lib/debug/usr/lib/libfaad.so.2.0.0
/usr/share/doc/faad2-dbg/changelog.Debian.gz
/usr/share/doc/faad2-dbg/changelog.gz
/usr/share/doc/faad2-dbg/copyright
Вобщем-то надо делать так-же.
Можно сделать, там по шаблону все создается.
Нужно, а не можно.
Да, это вот уже проблема. Подумываю насчет затаскивания сгенеренных версий мануалов в дерево.
Это было-б еще лучше. Ну и с автогенерацией путей компиляции тоже надо как-то бороться, а то приходится 2жды одно и то-же в скрипте писать.
Зря:)
А зачем оно и чем лучше чем остальные почтовики?
Q-Master
22.05.2010, 10:43
А еще неправильно турбосаунды определяются вот тут.
Вот, к примеру, содержимое пакета faad-dbg:
Т.е. там не просто отладочная информация, а полноценный бинарь? Тогда его надо слепливать заново- стрипание делается безусловно, ибо в подавляющем большинстве случаев символьная информация кроме как разработчику не нужна.
Ну и с автогенерацией путей компиляции тоже надо как-то бороться, а то приходится 2жды одно и то-же в скрипте писать.
Ну у тебя в продублированной команде сборки разница только в отсутствии перенаправления в лог, все остальное прежнее.
А зачем оно и чем лучше чем остальные почтовики?
Чтоб я мог тебя в проект добавить. Не уверен, что там другие почтовики нормально поддерживаются.
Вообще, думал на тему полной сборки через ту же make. Все упирается в подготовительный этап- вычисление директории билда, очистка окружения, дополнительные действия и последействия. Некоторые вещи можно решить через ./configure, но это лучше делать факультативно и для тех платформ, которые это поддерживают.
---------- Post added at 12:34 ---------- Previous post was at 12:22 ----------
А еще неправильно турбосаунды определяются вот тут.
Fixed.
Q-Master
23.05.2010, 10:35
Т.е. там не просто отладочная информация, а полноценный бинарь? Тогда его надо слепливать заново- стрипание делается безусловно, ибо в подавляющем большинстве случаев символьная информация кроме как разработчику не нужна.
Нет, там именно так-же как и у тебя. Т.е. надо вычислять куда ты поклал этот файл и потом отдельно его копировать.
Ну у тебя в продублированной команде сборки разница только в отсутствии перенаправления в лог, все остальное прежнее.
Угу. Просто если эти лог-файлы покласть в ту-же директорию, куда бинарники кладутся - будет ругань и несобранные пакеты.
Чтоб я мог тебя в проект добавить. Не уверен, что там другие почтовики нормально поддерживаются.
Попробуй мой добавить. Я его тебе в личку зашлю. Или если ты жаббером пользуешься - добавь меня qmaster@jabber.ru.
Вообще, думал на тему полной сборки через ту же make. Все упирается в подготовительный этап- вычисление директории билда, очистка окружения, дополнительные действия и последействия. Некоторые вещи можно решить через ./configure, но это лучше делать факультативно и для тех платформ, которые это поддерживают.
Да нету у тебя там ничего такого экстра сложного, чего-бы нельзя было в мэйке сделать.
Угу. Просто если эти лог-файлы покласть в ту-же директорию, куда бинарники кладутся - будет ругань и несобранные пакеты.
Бинарники в смысле пакеты или в смысле просто результат сборки?
Попробуй мой добавить. Я его тебе в личку зашлю. Или если ты жаббером пользуешься - добавь меня qmaster@jabber.ru.
Не было ничего в личке. На жаббере это почта (я им не пользуюсь)?
Да нету у тебя там ничего такого экстра сложного, чего-бы нельзя было в мэйке сделать.
Охотно верю:) Все упирается в мою нехватку знаний по make.
Q-Master
24.05.2010, 08:26
Бинарники в смысле пакеты или в смысле просто результат сборки?
Результат сборки. Про пакеты я-бы и сказал пакеты. Так вот, пакеты не будут собираться если в директориях, откуда идет сборка, есть неиспользованные файлы.
Не было ничего в личке. На жаббере это почта (я им не пользуюсь)?
Ну вот. Юзаешь гуглопочту, а что такое гуглотолкс не знаешь... Это IM.
Охотно верю:) Все упирается в мою нехватку знаний по make.
А чего там сложного-то?
Ну вот. Юзаешь гуглопочту, а что такое гуглотолкс не знаешь... Это IM.
Да знаю я про гуглотолкс, просто не пользуюсь. Онлайн-клиента у них нет, а у меня линукс- основная система.
А вот что говорят в проекте:
Instructions:
Specify each project participant by his or her Google Account email address. Each person must have already created a Google Account with that email address.
Q-Master
24.05.2010, 08:58
Да знаю я про гуглотолкс, просто не пользуюсь. Онлайн-клиента у них нет, а у меня линукс- основная система.
В смысле нет? Все у них есть. И онлайн-клиент и под линух прога. Линукс и у меня основная система и это не мешает мне юзать тот-же PSI, pidgin или empathy. Все три умеют гуглотолкс. Причем последние 2 100% умеют даже голосовые и видео разговоры.
А еще неправильно турбосаунды определяются вот тут.
А с этим багом целое приключение. И пофиксить его однозначно все-таки не получилось. Вариантов 3:
1) Считать длину файлов в каталоге по записи (как я пофиксил) - отваливаются некоторые модули, которые формально обрезаны, но де-факто играются.
2) Считать длину по секторам- отваливается TS, который сигнатуру в конце ищет
3) Искать TS по сигнатуре- очень замедляется скорость детекта
Даже блин и не знаю...
Q-Master
25.05.2010, 09:24
А с этим багом целое приключение. И пофиксить его однозначно все-таки не получилось. Вариантов 3:
1) Считать длину файлов в каталоге по записи (как я пофиксил) - отваливаются некоторые модули, которые формально обрезаны, но де-факто играются.
2) Считать длину по секторам- отваливается TS, который сигнатуру в конце ищет
3) Искать TS по сигнатуре- очень замедляется скорость детекта
Даже блин и не знаю...
Лучше уж по сигнатуре искать. Так надежнее. А со скоростью - хрен-бы с ней.
Лучше уж по сигнатуре искать. Так надежнее. А со скоростью - хрен-бы с ней.
Ну я выкрутился поиском в окне в самом конце блока данных. А на том диске, что ты дал есть модули, не соответствующие формату- между модулями и футером свободное пространство. Я это чуть позже обработаю.
А на тему скорости- это ты зря. На dingux скорость поиска оставляет желать лучшего. Посему я часто профилирую и стараюсь убрать узкие места.
Выложены билды под 4 платформы (GUI & CLI версии). В гуевой версии очень не хватает настроек, но уже немного юзабельно:)
Q-Master
22.06.2010, 11:31
Я допинал тебе дебиан сборку чтобы собиралось все как надо, включая доки и дебаг пакеты. Но. По-прежнему логи сборки не пишутся. Могу реализовать это дело, вот только не очень вижу смысл. Надо править build.sh. Если надо - выложу тут нужные файлы.
Я допинал тебе дебиан сборку чтобы собиралось все как надо, включая доки и дебаг пакеты. Но. По-прежнему логи сборки не пишутся. Могу реализовать это дело, вот только не очень вижу смысл. Надо править build.sh. Если надо - выложу тут нужные файлы.
Если есть где выложить- выкладывай, я ссылку добавлю.
А еще подумываю о том чтобы cli&gui версии одним архивом распространять. Ибо обвязка на пакеты весит больше, чем бинари.
После затяжной череды переделок выкладываю 614 билд.
Внутри изменилось больше, чем снаружи, это пока промежуточный этап.
Что нового:
- поддержка пакера DSQ
- полноценный 64-битный билд для windows
- возобновлены билды для mingw. Бинарники весят неприлично много, но работают быстрее на 20..40% (даже на 64-битной системе!)
- куча разных фиксов.
Очередная пауза и очередной релиз- билд 749.
Из нового:
- новый плейлист: меньше расход памяти, удобнее сортировка, тултипы и прочая
- рекурсивное добавление директорий
- добавление файлов/директорий как без сканирования, так и с оным: включенная опция в меню для добавления через диалог и зажатый alt во время drag'n'drop включают поиск модулей в найденных файлах.
- информация о внутреннем наборе компонентов
- справочное окно:)
добавление файлов/директорий как без сканирования, так и с оным
А сканирование каких нибудь архиваторов поддержано?
А сканирование каких нибудь архиваторов поддержано?
hrip/hrust1,2/dsq
Меню Player->Components
hrip/hrust1,2/dsq
Здорово. А остальные планируются?
Здорово. А остальные планируются?
Разумеется. Но не все сразу. Очень много других задач.
Разумеется. Но не все сразу. Очень много других задач.
Эльфовские наработки используешь или сам переписываешь?
Эльфовские наработки используешь или сам переписываешь?
См. кредитсы:)
лениво
Ну тогда и эмулятор интереса уж погаси. Чтоб ресурсов не потреблял.
shuran33
02.11.2010, 23:57
Simbian OS60 будет поддерживаться? Очень хотелось бы....
лениво
Слав, ну чё ты такой вредный и дотошный? Ну пусть человек сделает на пользу Спеку. Я тут не понимаю, но мне кажется, что ты излишне придирчив.
Simbian OS60 будет поддерживаться? Очень хотелось бы....
Если там есть C++/boost/qt - то проблем нет.
Слав, ну чё ты такой вредный и дотошный? Ну пусть человек сделает на пользу Спеку. Я тут не понимаю, но мне кажется, что ты излишне придирчив.
Это не придирчивость. Это как в анекдоте про кота, которому делать нечего.
Vitamin, qt и boost там нет. но не уверен...
Слав, ну чё ты такой вредный и дотошный?
Иначе это был бы уже не я, а ты или еще кто то другой.
А за проект я рад что он развивается, пусть и черепашьеми темпами.
Vitamin, qt и boost там нет. но не уверен...
SDK/эмуляторы под linux существуют? Погуглил, все нужные компоненты вроде бы собрать можно. Проверять мне не на чем просто.
А за проект я рад что он развивается, пусть и черепашьеми темпами.
Сколько времени делался zxtunes? И какие темпы его делания сейчас?
shuran33
03.11.2010, 09:23
А проверить я смогу, если ты симбиан имеешь ввиду.
А проверить я смогу, если ты симбиан имеешь ввиду.
Все равно эмулятор нужен:)
Это как в анекдоте про кота, которому делать нечего.:v2_thumb:
shuran33
03.11.2010, 10:45
Все равно эмулятор нужен:)
Вроде бы есть какие то эмуляторы в сети. Поискать?
http://www.forum.nokia.com/Library/Tools_and_downloads/Archive.xhtml
---------- Post added at 10:46 ---------- Previous post was at 10:46 ----------
в последней версии симбиана и Qt прилепили
---------- Post added at 10:51 ---------- Previous post was at 10:46 ----------
http://www.cwer.ru/node/91768/
Вроде бы есть какие то эмуляторы в сети. Поискать?
Давай. Попробую найти под свой arch если что.
http://www.forum.nokia.com/Library/T.../Archive.xhtml
в последней версии симбиана и Qt прилепили
AFAIK, в симбе С++ урезанный по самое не балуйся. Нужна полноценная поддержка STL. От нее уже и boost пляшет.
ну тогда не ждать нам порта на симбу:( особенно под мою, седьмую...
ну тогда не ждать нам порта на симбу особенно под мою, седьмую...
Есть смутное подозрение, что нормально я бы ее и так не осилил- и так много чего делать надо, а времени не особо много на все...
ну и ладно, будем в мп3 кодировать, конкретно в мой, а вот под symbian^3 пробуй, пригодится
ну и ладно, будем в мп3 кодировать, конкретно в мой, а вот под symbian^3 пробуй, пригодится
У тебя самого с программированием на С++ как?
пока отвратительно. прошел курс общей информации по информатике типы данных и все прочее, уже что-то пытаюсь делать, но пока так... уже рассматривается вариант очных курсов или заочного ВУЗа... потому что в городе с работой жопа, отучится и на удаленку подаваться...
shuran33
03.11.2010, 14:09
На заочном особо знаний не приобретешь, надо хотя бы на вечерний поступать.
на вечернем у нас ничего нет, одни бухи
shuran33
03.11.2010, 15:46
Вот тут вроде как хорошие SDK находятся:
http://www.cwer.ru/node/91768/
osa, Пробуй к нам в Рязанскую радиоакадемию на Факультет Вычислительной Техники на заочное. Помоему оно там есть.
2osa: Чтобы научиться программировать, нужно сесть и программировать. В институте учат всякой абстрактной чуши, польза в том - что ум в порядок приводят в целом. А практика - это практика, и познается практикой)
Возьми для начала какой нибудь простенький проектик бесплатный для себя, и начинай потихоньку писать и почитывать матчасть в процессе.
это и пытаюсь делать. счас пытаюсь найти вторую работу и сесть и программить. и хватит офтопа:) порт под симбу 7ю буду делать себе.
порт под симбу 7ю буду делать себе.
Как минимум, надо портировать эту цепочку:
STL->Boost
QT для начала опционален.
пока для меня это страшные слова.:) на скорый успех не надейтесь:)
---------- Post added at 12:54 ---------- Previous post was at 12:54 ----------
Qt есть только в Symbian^3, в ранних его нет
Билд 770. Переход на Qt 4.7.0 - больше бинарники, меньше расход памяти:) Ну и полный спектр билдов для виндов.
а где ссылка на сам плеер то?
а где ссылка на сам плеер то?
1) В первом посте
2) В моей подписи
под симбу 9 бы!
У меня нет девайсов на ее базе. Если кто возьмется делать- обеспечу поддержку.
1) ссылка в подписи мне всегда говорила про сайт, где спектрумовская музыка, поэтому не тыкал.
2) я какторас в Гагре пил самогон и вино с мужиком, который из Таганрога.
интересно, а правда на Таганрог можно смотреть только из ГугльЕарс, но никак не ближе?:)
п.с. смарт на симбианос9 стоит в районе 2.5-3 тыр. я думаю, можно скинуться на оный :)
п.п.с. самогон и вино были из Таганрога, производства личного подворья %)
1) ссылка в подписи мне всегда говорила про сайт, где спектрумовская музыка, поэтому не тыкал.
Поправил:)
интересно, а правда на Таганрог можно смотреть только из ГугльЕарс, но никак не ближе?
http://wikimapia.org/#lat=47.2414827&lon=38.9080811&z=13&l=1&m=b :)
п.с. смарт на симбианос9 стоит в районе 2.5-3 тыр. я думаю, можно скинуться на оный
"Взял на себя дополнительные обязательства и приказал долго жить" - это не для меня:)
"Взял на себя дополнительные обязательства и приказал долго жить" - это не для меня:)
а ты не бери много. скажи, мол, могу попробовать сделать плеер для смарта на SymbianOS9, но смарта нет. если подарите - буду пробовать сделать.
я первый тебе 500 рэ куда нить переведу.
а ты не бери много. скажи, мол, могу попробовать сделать плеер для смарта на SymbianOS9, но смарта нет. если подарите - буду пробовать сделать.
Слишком много подготовительной работы. Я и так сделал сборку Boost для dingux. Если бы инструментарий был готов, то конечно попробовал бы.
я первый тебе 500 рэ куда нить переведу.
Спасибо, не надо. Мне лучше фидбеками:)
ви есть многа кющать (с)
а вот Сергей Юрьевич Беляков, ваш земляк, не отказался бы %)
и для SymbianOS7/OS8 тоже бы плеерчик, а то AYfly кривоват.
а вот Сергей Юрьевич Беляков, ваш земляк, не отказался бы %)
Побираться не привык-с:)
и для SymbianOS7/OS8 тоже бы плеерчик, а то AYfly кривоват.
Предлагаю подраться с требующими поддержки других платформ. Кто победит, того и будем поддерживать:) А то я один, а делать много.
Предлагаю подраться с требующими поддержки других платформ. Кто победит, того и будем поддерживать :)
+1
автор будет бить поклонников симбиана или наоборот? надо же уточнить.
поклонники будут биться между собой.
а автор будет смотреть на это действо.
те кто победят, будут иметь право задавать дальнейший путь развития проги
domain zхmusiс.гu is free today
for all musicians :)
ну что, кому за симбиан морду бить?:v2_dizzy_paratroope
Болею за макоё^W маководов:)
Там инструментарий побогаче все-таки, нежели на урезанной симбе.
я тут краем глаза слышал, что нокия повернулась таки лицом к людям, ибо поняла, что за три года половину рынка пробипала, и выпустила более вменяемые сдк и отменила обязательную подпись приложений.
можэт таки правда? можэт таки жить стало легче, жить стало веселее?
у меня, кстати, нокио 9500, 6681, Е70.
готов тестить. а что нормальных сред Symbian под пц ещё не изобрели?
нормальная среда появилась только под ^3 вместе с Qt. витамин делать не будет, пока не увидит эпическую битву пользователей симбианов и тех кто против порта:) Да и там си урезана по самое небалуйся, по сути не портировать просим, а заново написать.
---------- Post added at 14:31 ---------- Previous post was at 14:29 ----------
так что тут проблема в его времени, желании, и желании разобратся в си для симбов. я желать-желаю, но не очень верю что она будет. Под ^3 возможно появится, т.к. там уже более полный C++.
Да и там си урезана по самое небалуйся, по сути не портировать просим, а заново написать.
Это в точку.
значит надежды никакой...
daniel, отвечу от имени витамина, да. полноценный порт возможен только под ^3. под ранние имеет смысл пнуть автора AY-fly для допиливания симбы. под 7ую он у меня не завелся, под 8ю и 9ю не видел...
ayfly работает на моих 6681 и Е70. есличо.
ayfly работает на моих 6681 и Е70. есличо.
Это же отлично:)
У меня концепт простой- минимум велосипедизма и платформозависимости.
Старый симбиан просто провоцирует ко всему этому...
Vitamin, как ты думаешь, программу на питон портировать возможно? под симбу у него полноценный интерпритатор вроде есть
Vitamin, как ты думаешь, программу на питон портировать возможно?
Можно. Портируй:)
:v2_dizzy_biggrin2::v2_wacko:
---------- Post added at 13:56 ---------- Previous post was at 13:55 ----------
это займет времени икс в квадрате, причем сколько икс, я сам не знаю сколько
Это же отлично:)
У меня концепт простой- минимум велосипедизма и платформозависимости.
Старый симбиан просто провоцирует ко всему этому...
я, конечно, извЕняюсь за свой провинцЫальный мосг, но эта твоя фраза что значит то?
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot