Перейти к публикации
Планета Deus Ex

WinAmp class


Рекомендованные сообщения

Во время своих эксперементов с Native функциями я написал класс,через который можно было управлять WinAmp'oм. Вообщем если кому это надо качать здесь.

 

Сразу предупреждаю, что класс в незаконченном состоянии и может не работать со старыми версиями Winamp(я тестировал на 5.094)

 

Класс WinAmp:

 

Функции:

function SetBaseFolder(string base) - основная папка с мп3

function EnumAllFiles(string where,out string List[260]) - помещает в массив List cписок файлов из директории BaseFolder+where

function EnumFolders(string where,out string List[260]) - тоже самое, но для папок

function StartWinAmp(string Path) - запускает WinAmp. Где path-cтрока типа "C:/winamp/winamp.exe"

function StartPlayback() - аналог кнопки Play

function ClearPlaylist() - очищает плейлист

function AddFileToPlaylist(string file) - добавляет файл в плейлист

 

Пример использования:

simulated function PreBeginPlay()

{

local WinAmp WA;

Super.PreBeginPlay();

 

WA = Spawn(class'WinAmp', Self);

WA.StartWinAmp("e:program fileswinampwinamp.exe");

WA.SetBaseFolder("e:my documentsmusic");

WA.AcquireHandle();

WA.PlayTrack("02. Storm.mp3");

 

}

Ссылка на комментарий
  • Ответы 50
  • Создано
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

VECTOR, а как бы замутить mp3 музыку вместо umx? Помню, в UT436 это был UMXPlus. С Bass библиотекой. Но вот как бы его по Дэус замутить. Я пробовал, и у меня не получалось. Кстати, в версиях UT, ниже 436 это не работало.

Ссылка на комментарий
Эээ... может я туплю, но винамп для Деуса уже есть лет 5 :)

Неа он есть и действительно существует лет 5. Это вроде первый мод TheRenegadeMaster ("TRM") - редактора deus-ex.org (deusexgaming.com).

Только мод работает с версиями Winamp'а до 3.0.

Ссылка на комментарий
VECTOR, а как бы замутить mp3 музыку вместо umx? Помню, в UT436 это  был UMXPlus. С Bass библиотекой. Но вот как бы его по Дэус замутить.  Я пробовал, и у меня не получалось. Кстати, в версиях UT, ниже 436  это не работало.

хмм, интересно... Я подумаю. Можно наверно остановить проигрывание umx и вместо них через Native функцию начать воспроизведение мп3.

Ссылка на комментарий
VECTOR, а как бы замутить mp3 музыку вместо umx? Помню, в UT436 это  был UMXPlus. С Bass библиотекой. Но вот как бы его по Дэус замутить.  Я пробовал, и у меня не получалось. Кстати, в версиях UT, ниже 436  это не работало.

хмм, интересно... Я подумаю. Можно наверно остановить проигрывание umx и вместо них через Native функцию начать воспроизведение мп3.

Нет, тут сложнее:

0. Надо уметь менять треки в зависимости от игровой ситуации

1. Нужно хранить текущее положение трека, потому что после двойной смены ситуации мы должны к нему вернуться (например после combat обратно в ambient)

2. Нужно как-то решать проблему с тем, что после возвращения с запомненной позиции, трек должен начинать играть плавно... С mp3 это намного сложнее чем с трекерами (потому что нет разбиения трека на паттерны)

3. Ну и без винампа всё это должно работать, иначе вообще нафик.

Ссылка на комментарий

Dedъ, зачем менять треки? Достаточно того, что просто будет играть 1 файл, в заставке, например, а чтобы трекерную музыку юзать, нужно ещё её грамотно написать на 5! паттернов.

А затухание - не проблема - Fade In, Fade Out.

Никаких винампов, я ж говорю, это как-то с Bass.dll можно сделать, вот только как?

 

Кстати, тема интересная. Я тут решил музон сделать вав файлом. Трекер не годится, т.к. он поддерживает вав файлы 8 и 16 бит. А вот если вав закодировать в 4 бит IMA ADPCM, а потом импортнуть в эдитор, то он весить будет в 2 раза меньше, чем 8-битный. Но, Playsound(...) не годится, мне кажется Galaxy не поддерживает стерео звуки в Дэусе. Кто знает как это обойти? Может там (в системе Galaxy) есть фича, которая бы установила panning на левый и правый каналы? VECTOR, что скажешь?

Ссылка на комментарий

Расскажите подробно что за Bass.dll. Про ВинАмп забудьте,я щас в процессе перевода все этого дела на DLL FMOD Ex.

 

Про Гэлакси ничего такого не знаю, хотя нашел в файле Galaxy cледующую структуру:

typedef struct

{

udword FourCC; udword Size;

uword Flags; uword Bank;

uword Program; sword Pitchwheel; sword PitchwheelSens; uword Panning;

uword Modulation; uword Expression; uword Volume;

uword Hold1; uword Reverb; uword Chorus; uword RPN;

uword NRPN; uword Data; char Hold1Map[128]; glxVoice * VoiceMap[128];

} glxChannel;

 

Надо разобраться где она используется и как ей пользоваться

Ссылка на комментарий

OK. Galaxy я пока не трогал. Зато сделал класс по типу UMXPLUS.

 

Качать там же где и раньше.

 

Небольшой walk-through:

 

1.Добавити в секцию [Editor.EditorEngine] в DeusEx.ini:

EditPackages=VSDDX

2. Добавить на мапу актора MusicControl (Actor->SoundPlayer->MusicControl)

3. В свойствах добавленного актора указать название mp3 трека (MusicControl->SongFile). Если Сам mp3 файл не находится в UTMusi4.

4.++ Открыть свойства уровня (Level Properties - F6) и в разделе Audio поставить следующие значения:

 

Song = любой umx трек, важно чтобы не было значения "None"

SongSection = 255c, изменить опцию SoundPlayer->BaseAddress

 

В readme написано, что пункт 4 можно не выполнять, но это не правда :)

Ссылка на комментарий

ОМФГ, афтор, я но вас буду молитсо!1 :)

Всё, теперь нет необходимости юзать 8битные вав-файлы, засунутые в umx (таких было четыре штуки - main menu, credits, intro и rage_cutscene). Ааааааъъъъ!111

 

++Чего-то регулирование громкости на mp3 эффекта не оказывает. Вроде как в UT оно работало.

Ссылка на комментарий
Можно в 2027 юзоть? Копирайты уже поставил.

 

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

 

Да, конечно можно. Утилиты по зашифровке, где то на этом форуме уже упоминались, сам найду.

Ссылка на комментарий

++Чего-то регулирование громкости на mp3 эффекта не оказывает. Вроде как в UT оно работало.

 

Да, про это я совсем забыл. Закачал новую версию, громкость теперь должна работать.

 

++ICQ добавил в профиль и тебе в PM

Ссылка на комментарий

Респект, VECTOR!

Только зашифрововать зачем??? :)((

Я-то хотел в коде разобраться. Посмотреть.

 

Совсем круто будет, если добавить код в конец SoundPlayer.uc

 

defaultproperties

{

bHidden=True

}

Ссылка на комментарий
Респект, VECTOR!

Только зашифрововать зачем??? :)((

Я-то хотел в коде разобраться. Посмотреть.

 

Совсем круто будет, если добавить код в конец SoundPlayer.uc

 

defaultproperties

{

    bHidden=True

}

Чтобы проворные мозгососы из омерики не стянули код и мы не увидели через недельку 'свой' mp3 плеер в каком-нибудь ТNМ.

Ссылка на комментарий
Респект, VECTOR!

Только зашифрововать зачем??? :twisted:((

Я-то хотел в коде разобраться. Посмотреть.

 

Совсем круто будет, если добавить код в конец SoundPlayer.uc

 

defaultproperties

{

    bHidden=True

}

Чтобы проворные мозгососы из омерики не стянули код и мы не увидели через недельку 'свой' mp3 плеер в каком-нибудь ТNМ.

В TNM уже поставлен ogg плэйер по данным наших тайных агентов :)

Ссылка на комментарий

Библиотека FMOD Ex умеет играть:

 

Mod Playback. MOD/S3M/XM and IT.

MIDI Support. FMOD Supports Microsoft Wavetable Synthesizer, and hardware wave-table cards.

Microsoft WAV Support, including support for compressed wavs of any type, using ACM codecs.

Native ADPCM support for any platform, without needing any codecs.

Shoutcast / IceCast / HTTP internet streaming support.

ID3v1, ID3v2, ogg vorbis, ASF tag support.

MP2/MP3 Support. The MP3 engine is quite efficient, and will get faster in the future!

Ogg Vorbis Support. This new free from patent format is gaining popularity fast, and sounds better than mp3 at the same bit rate! FMOD is recognized by xiph.org as supporting ogg vorbis.

WMA/ASF/etc Support. Another competitor for MP3, It is arguably better than MP3, and is free to use also!

Macintosh AIFF support, on all versions of FMOD.

Internet Streaming Support. With one function call, it is possible to play an mp3 or wma over the internet! (you juts pass a URL to FMOD instead of a filename)

CD Playback using FSOUND's FASTCD system (NO POLLING).

Ссылка на комментарий
Чтобы проворные мозгососы из омерики не стянули код и мы не увидели через недельку 'свой' mp3 плеер в каком-нибудь ТNМ.

Пусть юзают. Они ещё и кредит дадут. Поверь. Или ты боишься их?

Когда я вижу открытый код, я благодарен тому кто его написал. И дам ему кредит. Но если он бесплатный, но зашифрованый - я матюкаюсь и шлю их на одно популярное место.

Ссылка на комментарий
Чтобы проворные мозгососы из омерики не стянули код и мы не увидели через недельку 'свой' mp3 плеер в каком-нибудь ТNМ.

Пусть юзают. Они ещё и кредит дадут. Поверь. Или ты боишься их?

Когда я вижу открытый код, я благодарен тому кто его написал. И дам ему кредит. Но если он бесплатный, но зашифрованый - я матюкаюсь и шлю их на одно популярное место.

Кредиты - это в лучшем случае. Я с очень многими dxмодерами успел пообщаться за эти 4 года, знаю что говорю.

Ссылка на комментарий

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...