Скачать описание и проект плагина (размер 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.