SoundDigital
Содержание

Главная

Лицензия

Программы

Программы

Обновления

Оболочки (Skin)

Плагины (Plug-in)

 Связь

Напиши автору

Создание плагина PLP

 

Скачать описание и проект плагина (размер 10.7 КБ)

 

Описание создания плагина для списка воспроизведения.

 

1. Примечания

 

Название плагина должно начинать на «SDX» например SDX_PL_S4D.dll

 

Программа при работе с библиотекой работает только с одной строкой.

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

 

Пример

 

Const

  br=#13#10;

 

Var

  AddPL_3,Str,TagTitle,FileNameSaveG:String;

  Time_PLg:Integer;

 

begin

  AddPL_3:=AddPL_3+TagTitle+FloatToStr(Time_PLg)+','+Str+br;

  AddPL_3:=AddPL_3+FileNameSaveG;

end;

 

где:

AddPL_3 //Параметр содержащий полученный результат

TagTitle //Параметр содержащий обозначение тега например «@TAG

Time_PLg //Параметр содержащий продолжительность трека

Str //Параметр содержит тег файла если он есть

br //Константа для перехода на следующею строку #13#10

FileNameSaveG //Параметр содержащий путь файла

 

Полученный результат AddPL_3 отправляем в функция SDX_PL_OutSave для вывода в программа.

 

2. Экспортируемые функции

 

SDX_PL_In //Ввод параметров строки при открытие списка воспроизведения

SDX_PL_Out_1 //Путь к файлу при открытие плей-листа

SDX_PL_Out_2 //Считанный тег при открытие плей-листа

SDX_PL_Time //Продолжительность трека из считанного тега

SDX_PL_Clear //Очистка переменных строк параметров путь к файлу и тег файла

SDX_PL_Info //Информация о возможностях плей-листа

SDX_PL_ExtInfo //Расширения поддерживаемые плей-листом комментарий для диалогов

SDX_PL_Count //Количество поддерживаемых плей-листов

SDX_PL_About //Информация о плей-листе и разработчике библиотеки

SDX_PL_Ext //Расширения поддерживаемые плей-листом

SDX_PL_InSave //Ввод параметров строки для сохранения

SDX_PL_OutSave //Сохранения плей-листа и вывод информации

SDX_PL_DllInfo //Информация для списка воспроизведения

SDX_PL_PlayLitsInfo //Дополнительная информация о плей-листе

 

3. Описание функции

 

//////******************РАЗНОЕ*******************/////

 

//Очистка переменных строк параметров путь к файлу и тег файла

function SDX_PL_Clear:String; stdcall;

Когда программа считывает или сохраняет информацию из списка воспроизведения то она после вызывает эту функцию каждый раз после обработки одной строки чтобы очистить переменный от полученных значений после обработки строки. Сюда можно добавить любые переменные которые Вам необходимо будет очистить.

 

//Дополнительная информация о плей-листе

function SDX_PL_PlayLitsInfo(Time_PL,Count_PL,Index_PL:Integer;FN_PL:String):String; stdcall;

где:

Time_PL //Содержит информацию о продолжительности трека

Count_PL //Содержит информацию о количестве файлов списки воспроизведения

Index_PL //Содержит информацию о выделенной на момент сохранения строки в плей-листе

FN_PL //Содержит параметр у пути файла где будет сохранен список воспроизведения

 

Данная функция вызывается программой перед началом сохранения списка воспроизведения и содержит дополнительную информацию которая может использоваться при сохранение плей-листа и создания тегов к файлам.

 

//////******************РАЗНОЕ*******************/////

 

 

//////****************ОТКРЫТИЕ*****************/////

 

//Путь к файлу при открытие плей-листа

function SDX_PL_Out_1:String; stdcall;

Эта функция предназначена для вывода одного пути к файлу при открытие плей-листа. Программа считывает одну строку из плей-листа и передает ее в библиотеку если этот параметр окажется путем к файлу то он перерастаться в эту функцию.

 

//Считанный тег при открытие плей-листа

function SDX_PL_Out_2:String; stdcall;

Эта функция предназначена для вывода тега из списка воспроизведения. Также работает с одной строкой как выше описанная функция.

 

//Продолжительность трека из считанного тега

function SDX_PL_Time:Integer; stdcall;

Это функция выводит продолжительность трека. Также работает с одной строкой как выше описанная функция.

 

//Ввод параметров строки при открытие списка воспроизведения

function SDX_PL_In(StrS4D,Ext_S4D:String;ExtS4D,TagS4D:Boolean):String; stdcall;

где:

StrS4D //Содержит информацию строки из открытого списка воспроизведения

Ext_S4D //Расширения файла списка воспроизведения

ExtS4D //Содержит информацию отображать расширения файла

TagS4D //Содержит информацию отображать в плей-листе тег файла если он есть

 

Данная функция считывает одну строку с открытого списка воспроизведения и переедет ее в библиотеку для ее обработки. При завершение обработки этой строки переходит к следующий.

 

//////****************ОТКРЫТИЕ*****************/////

 

 

//////***************СОХРАНЕНИЕ***************/////

 

//Сохранения плей-листа и вывод информации

function SDX_PL_OutSave:String; stdcall;

Данная функция выводит полученный результат после обработки строки при сохранение списка воспроизведения. Выводит одну строку.

 

//Ввод параметров строки для сохранения

function SDX_PL_InSave(FileNameSave,TagSave,Ext_S4D:String):String; stdcall;

где:

FileNameSave //Содержит информацию о пути к файлу

TagSave //Содержит информацию о считанном теги файла или имени файла в плей-листе

Ext_S4D //Расширение файла с которым он будет сохранен

 

Данная функция считывает информацию одной строки и передает ее в библиотеку для дальнейшей ее обработки.

 

//////***************СОХРАНЕНИЕ***************/////

 

 

/////***************ИНФОРМАЦИЯ***************/////

 

//Информация о плей-листе и разработчике библиотеки

function SDX_PL_About:String; stdcall;

Данная функция содержит информацию о разработчике этой библиотеки

 

//Информация о возможностях плей-листа

function SDX_PL_Info:String; stdcall;

Содержит информацию о возможностях этого плей-листа (пока того в виде сообщения)

 

//Расширения поддерживаемые плей-листом

function SDX_PL_Ext(IndexPL:Byte):String; stdcall;

где:

IndexPL //Параметр для распознания расширения (для программы)

Данная функция содержит список расширений поддерживаемой этой библиотекой

 

//Расширения поддерживаемые плей-листом комментарий для диалогов

function SDX_PL_ExtInfo(IndexPLI:Byte):String; stdcall;

Содержит комментарий для диалогов открытия и сохранения

 

//Количество поддерживаемых плей-листов

function SDX_PL_Count:Byte; stdcall;

Содержит информацию о количестве поддерживаемых списков воспроизведения библиотекой

 

//Информация для списка воспроизведения

function SDX_PL_DllInfo:String; stdcall;

Информация выводимая в программе о данной библиотеке в кратком виде

 

/////***************ИНФОРМАЦИЯ***************/////

 

4. Пример кода некоторых функций

 

Пример 1

 

function SDX_PL_DllInfo:String; stdcall;

begin

  Result:='SoundDigital PlayList {Sound 4 Digital ver. 1.0}';

end;

 

Пример 2

 

function SDX_PL_Count:Byte; stdcall;

begin

  Result:=3;

end;

 

Пример 3

 

function SDX_PL_Ext(IndexPL:Byte):String; stdcall;

begin

 case IndexPL of

  1: Result:='*.SDP';

  2: Result:='*.BSP';

  3: Result:='*.NPL';

 end;

end;

 

Пример 4

 

function SDX_PL_ExtInfo(IndexPLI:Byte):String; stdcall;

begin

 case IndexPLI of

  1: Result:='SoundDigital PlayList';

  2: Result:='BSplayer PlayList';

  3: Result:='Nokia MP PlayList';

 end;

end;

 

Пример 5

 

function SDX_PL_Time:Integer; stdcall;

begin

 Result:=-1;

end;

 

4. Пример кода библиотеке SDX_PL_SDP.dll

 

library SDX_PL_SDP;

 

uses

  FastShareMem,

  Windows,

  SysUtils,

  StrUtils;

 

Var

  ExtS4Dg:Boolean;//Отображать в плей-листе расширение файла

  StrS4DG,AddPL_1,AddPL_2,AddPL_3,Str,FileNameSaveG:String;

{$R *.RES}

 

//////******************РАЗНОЕ*******************/////

 

//Очистка переменных строк параметров путь к файлу и тег файла

function SDX_PL_Clear:String; stdcall;

begin

 AddPL_1:='';

 AddPL_2:='';

 AddPL_3:='';

end;

 

//Дополнительная информация о плей-листе

function SDX_PL_PlayLitsInfo(Time_PL,Count_PL,Index_PL:Integer;FN_PL:String):String; stdcall;

begin

end;

//////******************РАЗНОЕ*******************/////

 

//////****************ОТКРЫТИЕ*****************/////

 

//Путь к файлу при открытие плей-листа

function SDX_PL_Out_1:String; stdcall;

begin

 Result:='';

 Result:=AddPL_1;

end;

 

//Считанный тег при открытие плей-листа

function SDX_PL_Out_2:String; stdcall;

begin

 Result:='';

 Result:=AddPL_2;

end;

 

//Продолжительность трека из считанного тега

function SDX_PL_Time:Integer; stdcall;

begin

 Result:=-1;

end;

 

//Вывод расширения в плей-лист

procedure ExtPlayList(ExtFile:String);

begin

 if ExtS4Dg=true then

  AddPL_2:=ExtractFileName(Copy(ExtFile, 1, Length(ExtFile) - 4))

 else

  AddPL_2:=ExtractFileName(ExtFile)

end;

 

//Обработка плей-листа

procedure OpenPL;

begin

  if (Pos(':\',StrS4DG)=2) or ((Pos('\',StrS4DG)>0 )and( Pos('.',StrS4DG)>0 ))  then

   if Pos(':\',StrS4DG)<=2 then

    AddPL_1:=StrS4DG;

  ExtPlayList(StrS4DG);

  if AddPL_1<>'' then

   SDX_PL_Out_1;

  if AddPL_2<>'' then

   SDX_PL_Out_2;

end;

 

//Ввод параметров строки при открытие списка воспроизведения

function SDX_PL_In(StrS4D,Ext_S4D:String;ExtS4D,TagS4D:Boolean):String; stdcall;

begin

 StrS4DG:=StrS4D;

 ExtS4Dg:=ExtS4D;

 OpenPL;//Обработка плей-листа

end;

//////****************ОТКРЫТИЕ*****************/////

 

 

//////***************СОХРАНЕНИЕ***************/////

 

//Сохранения плей-листа и вывод информации

function SDX_PL_OutSave:String; stdcall;

begin

 Result:='';

 Result:=AddPL_3;

end;

 

//Сохранение плей-листа

procedure S4D_PL_Save;

begin

 AddPL_3:=AddPL_3+FileNameSaveG;

 SDX_PL_OutSave;

end;

 

//Ввод параметров строки для сохранения

function SDX_PL_InSave(FileNameSave,TagSave,Ext_S4D:String):String; stdcall;

begin

 FileNameSaveG:=FileNameSave;

 S4D_PL_Save;//Сохранение плей-листа

end;

//////***************СОХРАНЕНИЕ***************/////

 

 

/////***************ИНФОРМАЦИЯ***************/////

 

//Информация о плей-листе и разработчике библиотеки

function SDX_PL_About:String; stdcall;

begin

 Result:=

 '® DMX'+#39+'soft'+#13+

 #13+

 'DMX'+#39+'soft 2004 - 2007 (Sergey Zherebcov)'+#13+

 #13+

 'Library SoundDigital PlayList Plugin'+#13+

 #13+

 'Version 1.0';

end;

 

//Информация о возможностях плей-листа

function SDX_PL_Info:String; stdcall;

begin

 Result:=

 '|||||**********SDP:BSP:NPL**********|||||'+#13+

#13+

 'Поддержка списков воспроизведения: SDP:BSP:NPL'+#13+

#13+

 'Сайт разработчика: www.SoundDigital.Narod.ru'+#13+

#13+

 'Электронная почта: dmx_xc@mail.ru'+#13+

#13+

 '|||||**********SDP:BSP:NPL**********|||||';

end;

 

//Расширения поддерживаемые плей-листом

function SDX_PL_Ext(IndexPL:Byte):String; stdcall;

begin

 case IndexPL of

  1: Result:='*.SDP';

  2: Result:='*.BSP';

  3: Result:='*.NPL';

 end;

end;

 

//Расширения поддерживаемые плей-листом комментарий для диалогов

function SDX_PL_ExtInfo(IndexPLI:Byte):String; stdcall;

begin

 case IndexPLI of

  1: Result:='SoundDigital PlayList';

  2: Result:='BSplayer PlayList';

  3: Result:='Nokia MP PlayList';

 end;

end;

 

//Количество поддерживаемых плей-листов

function SDX_PL_Count:Byte; stdcall;

begin

  Result:=3;

end;

 

//Информация для списка воспроизведения

function SDX_PL_DllInfo:String; stdcall;

begin

  Result:='SoundDigital PlayList {SoundDigital PlayList SDP:BSP:NPL ver. 1.0}';

end;

 

/////***************ИНФОРМАЦИЯ***************/////

 

exports

  SDX_PL_In,

  SDX_PL_Out_1,

  SDX_PL_Out_2,

  SDX_PL_Clear,

  SDX_PL_Info,

  SDX_PL_ExtInfo,

  SDX_PL_Count,

  SDX_PL_About,

  SDX_PL_Ext,

  SDX_PL_InSave,

  SDX_PL_OutSave,

  SDX_PL_DllInfo,

  SDX_PL_PlayLitsInfo,

  SDX_PL_Time;

 

begin

end.



Hosted by uCoz