Сделай сам на Delphi: Визуализационный плагин к Winamp | Программирование на Delphi и не только

Реклама на сайте

Предлагаем для размещения гостиницы Санкт-Петербурга класса 4 звезды

Почитайте!

Нас читают

Статьи о программировании и не только

Mail.Ru

Rambler's Top100

Programming Blogs - BlogCatalog Blog Directory

Сделай сам на Delphi: Визуализационный плагин к Winamp

30.03.2008 от Иван Ширко

Страница: 1 2 3 4 5 6

  Quit: procedure(thismod: PwinampVisModule);cdecl;
  userData: pointer;
end;
PwinampVisHeader = ^winampVisHeader;
winampVisHeader = packed record
  version: integer;
  description: PChar;
  getModule: function( which : integer ) : PwinampVisModule; cdecl;
end;
var
  //заголовок плагина
  hdr: winampVisHeader;
  //модуль плагина
  mod1: winampVisModule;

//далее следуют процедуры, назначение которых описано выше
function getModule(which: integer): PwinampVisModule;cdecl;
begin
  case which of
    0: result := @mod1;
    else
      result := nil
  end;
end;

function winampVisGetHeader: PwinampVisHeader; cdecl;
begin
  result := @hdr;
end;

procedure config(this_mod: PwinampVisModule); cdecl;
begin
  MessageBox(mod1.hwndParent, 'Настроек нет', 'Окно настроек', mb_OK);
end;

function init(this_mod: PwinampVisModule): integer; cdecl;
begin
  //показываем форму с ProgressBar'ами
  Form1.Show;
  result := 0;
end;

function render(this_mod: PwinampVisModule): integer; cdecl;
begin
  //при поступлении новых данных от Winamp'a устанавливаем
  //высоту столбиков ProgressBar'ов в соответствии со значением
  //музыкальных данных шести колонок

  Form1.ProgressBar1.Position := this_mod.spectrumData[0,1];
  Form1.ProgressBar2.Position := this_mod.spectrumData[0,2];
  Form1.ProgressBar3.Position := this_mod.spectrumData[0,3];
  Form1.ProgressBar4.Position := this_mod.spectrumData[0,4];
  Form1.ProgressBar5.Position := this_mod.spectrumData[0,5];
  Form1.ProgressBar6.Position := this_mod.spectrumData[0,6];
  result := 0;
end;
procedure quit(this_mod: PwinampVisModule); cdecl;
begin
end;

//экспортируемая функция
exports
  winampVisGetHeader;
begin
  //заполняем начальные параметры плагина
  hdr.version := VIS_HDRVER;
  hdr.description := PChar(descr);
  hdr.getModule := @getModule;
  mod1.description := PChar(mod1_descr);
  mod1.hwndParent := 0;
  mod1.hDllInstance := 0;

Страница: 1 2 3 4 5 6

Рубрики: Delphi, Winamp, Сделай сам |

Комментарии (15)

  1. IVAn sCm пишет:

    kRUTO!!! aftoru respeKt!!! DAVNO ISkaL TAKoE

  2. Dosha пишет:

    Спасибо за модули. В выходные попробую разобраться подробнее

  3. Фанат пишет:

    Отлично написано

  4. Иван пишет:

    Статья очень пригодилась, все просто и понятно.

    Огромное спасибо автору!:)

  5. Zveryoga пишет:

    Люблю когда по сути, мне понравилось.

  6. hitzinger пишет:

    Благодарю, очень полезная вещь

  7. help пишет:

    У меня коряво получается, но все равно спасибо.

  8. Коля пишет:

    У меня не вышло(((

  9. Гриша пишет:

    Спасибо попробую.

  10. Виталий пишет:

    Спасибо большое!!! Одно но : в 2 плагине в коде нужно заменить “*********
    keybd_event(c, $45, (KEYEVENTF_EXTENDEDKEY or 0), 0);
    //key release
    *****”
    на
    “*********
    keybd_event(c, $45, (KEYEVENTF_EXTENDEDKEY or 0), 0) else
    //key release
    *****”. Иначе просто все лампочки всегда выключаються.

  11. Иван Ширко пишет:

    >>Виталий

    Спасибо!

  12. dfm пишет:

    хм…интересно..спасибо за идею, давненько хотел что-либо подобное попробовать…

  13. uniforgot пишет:

    Отлично я нашла что искала:)

  14. dpath пишет:

    Класс, получилось :) спасибо.

  15. yammysound пишет:

    Извините, может не по теме, но возможно вы подскажете, как сделать, что бы винамп запускался с моим скином на любом компе (на флешке если принесу и т.д.)… Т.е. сделать свой скин скином по умолчанию…

Оставить комментарий

Заметьте: Включена проверка комментариев. Нет смысла повторно отправлять комментарий.