Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 110

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Использую BASSPlayer, ioPlug, PluginCtrl;
В на ниже приведённом участке кода загружаю input плагины от винампа - это получается успешно. Дальше, нужно вызвать окно конфигурации этого плагина, но увы, оно не появляется, подскажите, пожалуйста, где у меня ошибка.

Приложение:
  1.  
  2. procedure TForm1.Button1Click(Sender: TObject);
  3. var
  4. imod : ^TIn_module;
  5. omod : ^TOut_module;
  6. begin
  7. info_input.Lines.Clear;
  8. if (BassPlayer1.Mode=plmPlaying) or (BassPlayer1.Mode=plmPaused) then
  9. begin
  10. info_input.Lines.Add('plug-in cannot be selected while playing or paused state !');
  11. exit;
  12. end;
  13.  
  14. if not OpenPlug.Execute then
  15. exit;
  16.  
  17. if not initInputDll(OpenPlug.FileName) then
  18. begin
  19. info_input.Lines.Add('Failed to load input plug-in !');
  20. exit;
  21. end;
  22.  
  23. imod := getInModule;
  24. imod.hMainWindow := Form1.Handle;
  25. {imod.hDllInstance :=InputDllHandle; }
  26. imod.outMod := omod;
  27. imod.init;
  28. imod.SetInfo := SetInfo1;
  29. imod.dsp_IsActive := dsp_isactive1;
  30. imod.dsp_dosamples := dsp_dosamples1;
  31. imod.SAVSAInit := SAVSAInit1;
  32. imod.SAVSADeInit := SAVSADeinit1;
  33. imod.SAAddPCMData := SAAddPCMData1;
  34. imod.SAGetMode := SAGetMode1;
  35. imod.SAAdd := SAADD1;
  36. imod.VSASetInfo := VSASetInfo1;
  37. imod.VSAAddPCMData := VSAAddPCMData1;
  38. imod.VSAGetMode := VSAGetMode1;
  39. imod.VSAAdd := VSAAdd1;
  40.  
  41.  
  42.  
  43. info_input.Lines.Add('Loaded '+ string(imod.description));
  44. if imod.UsesOutputPlug = 0 then
  45. info_input.Lines.Add('Note : Loaded Input plug-in sounds out directly.');
  46. end;
  47.  
  48.  
  49.  
  50. procedure TForm1.Button2Click(Sender: TObject);
  51. begin
  52. if imod <> nil then
  53. imod.config(Form1.Handle);
  54. end;
  55.  
  56.  
  57.  
  58.  
  59.  
  60. procedure SetInfo1(bitrate, srate, stereo, synched : integer); cdecl; // if -1, changes ignored? :)
  61. begin
  62. end;
  63.  
  64. function dsp_isactive1 : integer; cdecl;
  65. begin
  66. result := 0;
  67. end;
  68.  
  69. function dsp_dosamples1(samples : pointer; numsamples, bps, nch, srate : integer) : integer; cdecl;
  70. begin
  71. result := numsamples;
  72. end;
  73.  
  74.  
  75. procedure SAVSAInit1(maxlatency_in_ms : integer; srate : integer); cdecl; // call in omod.Play()
  76. begin
  77. end;
  78.  
  79. procedure SAVSADeInit1;cdecl; // call in omod.Stop()
  80. begin
  81. end;
  82.  
  83. procedure SAAddPCMData1(PCMData: pointer; nch: integer; bps: integer; timestamp: integer); cdecl;
  84. begin
  85. end;
  86.  
  87. // gets csa (the current type (4=ws,2=osc,1=spec))
  88. function SAGetMode1: integer; cdecl;
  89. begin
  90. result := 0;
  91. end;
  92.  
  93. // sets the spec data, filled in by winamp
  94. procedure SAAdd1(data: pointer; timestamp: integer; csa: integer); cdecl;
  95. begin
  96. end;
  97.  
  98. // sets the vis data directly from PCM data
  99. procedure VSAAddPCMData1(PCMData: pointer; nch: integer; bps: integer; timestamp: integer); cdecl;
  100. begin
  101. end;
  102.  
  103. // use to figure out what to give to VSAAdd
  104. function VSAGetMode1(var specNch : integer; var waveNch : integer) : integer; cdecl;
  105. begin
  106. result := 0;
  107. end;
  108.  
  109. // filled in by winamp, called by plug-in
  110. procedure VSAAdd1(data : pointer; timestamp : integer); cdecl;
  111. begin
  112. end;
  113.  
  114. procedure VSASetInfo1(srate : integer; nch : integer); cdecl;
  115. begin
  116. end;


skvitek Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: skvitek (статус: Посетитель)
Вопрос отправлен: 9 ноября 2007, 23:26
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:54
Выполнено за 0.02 сек.