www.demoscene.ruenglish version
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Всё об *.XM
На страницу Пред.  1, 2, 3  След.
 
Начать новую тему   Ответить на тему    Список форумов DemoScene.Ru -> Музыка
Предыдущая тема :: Следующая тема  
Автор Сообщение
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1424


СообщениеДобавлено: Вт Ноя 06, 2007 17:20    Заголовок сообщения: Ответить с цитатой

http://mirror.optus.net/sourceforge/u/uf/ufmod/XM_file_format.pdf.gz
http://mirror.optus.net/sourceforge/u/uf/ufmod/XM_file_format.zip
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
radpzc



Зарегистрирован: 24.09.2007
Сообщения: 238


СообщениеДобавлено: Пт Дек 07, 2007 12:57    Заголовок сообщения: Ответить с цитатой

А то, что 00 после команды повторяет последнее значение это глюк или фича?
Например:

C-4 12 4a8
--- 400
--- 400

Равносильно

C-4 12 4a8
--- 4a8
--- 4a8

А как тогда с значением глобальной громкости? g00 - 0я громксть или предыдущая? Кстати Milky tracker и XMPLay g00 играют по-разному. Если начинать мелодию с g00 и плавно повышать громкость, то в Milky первые ноты не играются, в XMPlay играются с максимальной громкостью.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Lyzzard
tracker retrigger


Зарегистрирован: 23.09.2007
Сообщения: 207
Откуда: Москва

СообщениеДобавлено: Пт Дек 07, 2007 13:26    Заголовок сообщения: Ответить с цитатой

radzpc, фича. Но это имеет место лишь для эффектов с относительными значениями (volume slide, portamento и т.д.), а Gxx выставляет значение аболютно, поэтому G00 даёт громкость 0. Всё логично Smile
Насчёт G00 в XMPlay не знаю, но сильно сомневаюсь, что всё так плохо. Разве что это баг из FT2, доблестно воспроизведённый г-ном Лаком Smile но при проигрывании IT-модулей с этим эффектом никаких проблем не возникает
_________________
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/MU d- s:- a19 C++$ UL++ P++ L+ E? W++> N+ o? K? w++ O M V? PS+ PE++ Y+ PGP+ t- 5- X+ R* tv-- b++ DI? D+ G++ e* h! r++ y++
------END GEEK CODE BLOCK------


Последний раз редактировалось: Lyzzard (Пт Дек 07, 2007 13:29), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
radpzc



Зарегистрирован: 24.09.2007
Сообщения: 238


СообщениеДобавлено: Пт Дек 07, 2007 13:27    Заголовок сообщения: Ответить с цитатой

Lyzzard писал(а):
radzpc, фича. Но это имеет место лишь для эффектов с относительными значениями (volume slide, portamento и т.д.), а Gxx выставляет значение аболютно, поэтому G00 даёт громкость 0. Всё логично.


а в xmplay G00 не даёт громкость 0. По крайней мере в первой позиции модуля
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
TC_Visant



Зарегистрирован: 22.09.2007
Сообщения: 116
Откуда: Moscow

СообщениеДобавлено: Пт Дек 07, 2007 16:20    Заголовок сообщения: Ответить с цитатой

Radpzc, да ты не слушай его. Он же кодер всего лишь.
_________________
Минор сделать легче, чем мажор.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2950


СообщениеДобавлено: Пт Дек 07, 2007 16:59    Заголовок сообщения: Ответить с цитатой

radpzc писал(а):
Lyzzard писал(а):
radzpc, фича. Но это имеет место лишь для эффектов с относительными значениями (volume slide, portamento и т.д.), а Gxx выставляет значение аболютно, поэтому G00 даёт громкость 0. Всё логично.


а в xmplay G00 не даёт громкость 0. По крайней мере в первой позиции модуля


Дает.

Глюк будет если на одной строчке G00 сделать и H10. поэтому H10 со второй строки надо. Да, это глюк ХМПлеея, в трекерах нормально все.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
radpzc



Зарегистрирован: 24.09.2007
Сообщения: 238


СообщениеДобавлено: Вт Окт 06, 2009 09:07    Заголовок сообщения: Pattern format Ответить с цитатой

Знатокам формата XM Smile
Позволю себе процитировать кусок из спецификации .XM о хранении паттернов:

Цитата:
The patterns are stored as ordinary MOD patterns, except that each
note is stored as 5 bytes:

? 1 (byte) Note (0-71, 0 = C-0)
+1 1 (byte) Instrument (0-128)
+2 1 (byte) Volume column byte (see below)
+3 1 (byte) Effect type
+4 1 (byte) Effect parameter

A simle packing scheme is also adopted, so that the patterns not become
TOO large: Since the MSB in the note value is never used, if is used for
the compression. If the bit is set, then the other bits are interpreted
as follows:

bit 0 set: Note follows
1 set: Instrument follows
2 set: Volume column byte follows
3 set: Effect type follows
4 set: Guess what!

It is very simple, but far from optimal. If you want a better,
you can always repack the patterns in your loader.


Т.е. получается, что строка канала может быть записана двумя разными способами? Например:
C#0-4 .. A0F
Можно записать: 1 (Note) ,4 (Instrument), 0 (Volume - nothing), xA ( effect type), xF (effect par),
а можно: x8b (compression: note follows, instrument follows, effect type folows), 1 (Note), 4 (Insrument), xA (effect type), xF (effect par).
Место займёт одинаково. Это действительно допустимо или я чего-то недопонимаю?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1424


СообщениеДобавлено: Вт Окт 06, 2009 20:36    Заголовок сообщения: Ответить с цитатой

Судя по всему, допустимо.
Кстати, если посмотреть формат IT, то там вообще получается, что на каждую ноту может приходиться сколько угодно эффектов - типа, и вибрато, и портаменто, и слайд громкости, и ретриг одновременно Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
radpzc



Зарегистрирован: 24.09.2007
Сообщения: 238


СообщениеДобавлено: Ср Окт 07, 2009 08:09    Заголовок сообщения: Ответить с цитатой

В IT даже заглядывать страшноSmile
А ещё интересно, зачем сделали сохранение паттерна сразу по всем каналам (pos1ch1, pos1ch2... pos2ch1,pos2ch2... posNch1 posNch2), если бы каналы шли по очереди, то RLE-кодирование (при последующей паковке модуля) давало бы лучший результат. Жаль не развили формат дальше, там же есть и "версия", и "тип сжатия".
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
tone
robot modeller


Зарегистрирован: 21.09.2007
Сообщения: 513


СообщениеДобавлено: Ср Окт 07, 2009 23:26    Заголовок сообщения: Ответить с цитатой

iirc это из мод формата еще пришло
а там как то то ли в память так ложилось удобно, то ли в паулу... уже и не вспомнить
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
radpzc



Зарегистрирован: 24.09.2007
Сообщения: 238


СообщениеДобавлено: Чт Окт 08, 2009 09:59    Заголовок сообщения: Ответить с цитатой

tone писал(а):
iirc это из мод формата еще пришло
а там как то то ли в память так ложилось удобно, то ли в паулу... уже и не вспомнить


Кстати, да. Обрабатывать-то удобнее.. Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2950


СообщениеДобавлено: Чт Окт 08, 2009 14:01    Заголовок сообщения: Ответить с цитатой

radpzc писал(а):
tone писал(а):
iirc это из мод формата еще пришло
а там как то то ли в память так ложилось удобно, то ли в паулу... уже и не вспомнить


Кстати, да. Обрабатывать-то удобнее.. Wink


а главное оптимальнее алгоритм по тактам ) Этож не то что сейчас, двухпроцессорный пенёк по самое нихочу грузят одним софт-синтом )
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
radpzc



Зарегистрирован: 24.09.2007
Сообщения: 238


СообщениеДобавлено: Пт Окт 09, 2009 10:21    Заголовок сообщения: Ответить с цитатой

BiTL писал(а):
а главное оптимальнее алгоритм по тактам ) Этож не то что сейчас, двухпроцессорный пенёк по самое нихочу грузят одним софт-синтом )


Вспоминается как в кубик плеере it-шные модули со скрипом крутились на 486 компьютере )
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2950


СообщениеДобавлено: Пт Окт 09, 2009 12:06    Заголовок сообщения: Ответить с цитатой

radpzc писал(а):

Вспоминается как в кубик плеере it-шные модули со скрипом крутились на 486 компьютере )


ну это если совсем хилый 486-ой Smile И каналов в модуле дохренищща. На моём 486-SX 66мГц отлично игрались
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1424


СообщениеДобавлено: Пт Окт 09, 2009 18:15    Заголовок сообщения: Ответить с цитатой

radpzc писал(а):
в кубик плеере it-шные модули со скрипом крутились на 486 компьютере )

Ну зато там была 8-точечная интерполяция и мощнейшая визуализация.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов DemoScene.Ru -> Музыка Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3  След.
Страница 2 из 3

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах