Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.01.23;
Скачать: [xml.tar.bz2];

Вниз

Требуется помощь!!!   Найти похожие ветки 

 
Совсем НОВИЧОК   (2003-01-06 21:37) [0]

С Рождеством всех!

Теперь к делу:
ниже приведен код плагина к ВинАмпу на С(или на С++ - я в них не разбираюсь ;-)
С какими параметрами(и как) нужно вызвать процедуру winampGetInModule2(описание внизу кода) из проги на Дельфи ?
Приведите пожалуйста пример, ОЧЕНЬ буду благодарен, т.к. я НОВИЧОК в программировании.
Заранее спасибо.



BOOL WINAPI _DllMainCRTStartup(HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
{
return TRUE;
}

// post this to the main window at end of file (after playback as stopped)
#define WM_WA_MPEG_EOF WM_USER+2

// raw configuration
#define NCH 2
#define SAMPLERATE 44100
#define BPS 16



HANDLE input_file=INVALID_HANDLE_VALUE;

int killDecodeThread=0;
HANDLE thread_handle=INVALID_HANDLE_VALUE;

DWORD WINAPI __stdcall DecodeThread(void *b); // the decode thread procedure

void config(HWND hwndParent)
{}
void about(HWND hwndParent)
{}

void init() { /* any one-time initialization goes here (configuration reading, etc) */ }

void quit() { /* one-time deinit, such as memory freeing */ }

int isourfile(char *fn) { return 0; }


int play(char *fn)
{ }

void pause() { paused=1; mod.outMod->Pause(1); }
void unpause() { paused=0; mod.outMod->Pause(0); }
int ispaused() { return paused; }

void stop() { }

int getlength() { }

int getoutputtime() { }

void setoutputtime(int time_in_ms) { }

void setvolume(int volume) { mod.outMod->SetVolume(volume); }
void setpan(int pan) { mod.outMod->SetPan(pan); }

int infoDlg(char *fn, HWND hwnd)
{}

void getfileinfo(char *filename, char *title, int *length_in_ms)
{}

void eq_set(int on, char data[10], int preamp)
{}
DWORD WINAPI __stdcall DecodeThread(void *b)
{}



In_Module mod =
{
IN_VER,
"Nullsoft RAW Player v0.0 "
#ifdef __alpha
"(AXP)"
#else
"(x86)"
#endif
,
0, // hMainWindow
0, // hDllInstance
"RAW\0RAW Audio File (*.RAW)\0"
,
1, // is_seekable
1, // uses output
config,
about,
init,
quit,
getfileinfo,
infoDlg,
isourfile,
play,
pause,
unpause,
ispaused,
stop,

getlength,
getoutputtime,
setoutputtime,

setvolume,
setpan,

0,0,0,0,0,0,0,0,0, // vis stuff


0,0, // dsp

eq_set,

NULL, // setinfo

0 // out_mod

};

__declspec( dllexport ) In_Module * winampGetInModule2()
{
return &mod;
}


 
Suntechnic   (2003-01-06 22:05) [1]

Код не весь и очень подозрительно выглядит. Что, например, есть In_Module? Где его(её) определение?

Что за странный кусок, начинающийся с
In_Module mod =
{
...
?

Выглядит как инициализация то ли структуры, то ли массива, а на самом деле это больше похоже вообще на ерунду учитывая присутствие там config и about.


 
Suntechnic   (2003-01-06 22:18) [2]

М-да... хоть описания In_Module отсутствует всё-таки при ближайшем рассмотрении становится ясно что это сложная структура, в которой помимо простых типов присутствуют и указатели на ф-ции... Отсюда несколько выводов:
1) Без описания In_Module разговаривать вообще не о чём.
2) Даже имея описание портировать эту ф-цию в Delphi задача отнюдь не для новичка.





 
Uncle Archi   (2003-01-06 22:29) [3]

Где-то на этом сайте был пример с использованием какой-то библиотечки по напмсанию плагинов для WinAmp"а.


 
Uncle Archi   (2003-01-06 22:35) [4]

Оставь своё мыло, я кину этот пример.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.01.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
3-72097
Sword-Fish
2002-12-26 12:41
2003.01.23
Работа с БД


1-72219
TAN
2003-01-14 12:12
2003.01.23
ShellExecute


8-72422
dustiny
2002-07-07 22:49
2003.01.23
macromedia flash activex


14-72479
Николай Быков
2003-01-05 16:56
2003.01.23
Такая !@#$% приключилась со мной тут на днях.......


3-72127
ZiLot
2002-12-30 22:04
2003.01.23
Помогите примерчиком...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский