mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
214 lines
4.9 KiB
C++
214 lines
4.9 KiB
C++
// ASCExtraData.cpp : Implementation of CASCExtraData
|
|
|
|
#include "stdafx.h"
|
|
#include "ATLDefine.h"
|
|
#include "ASCExtraData.h"
|
|
|
|
|
|
// CASCExtraData
|
|
|
|
STDMETHODIMP CAVSExtraData::get_Year(long *pVal)
|
|
{
|
|
*pVal=ExtraInfo.Year;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::put_Year(long newVal)
|
|
{
|
|
ExtraInfo.Year=newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::get_Title(BSTR *pVal)
|
|
{
|
|
*pVal=ExtraInfo.Title.Copy();
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::put_Title(BSTR newVal)
|
|
{
|
|
ExtraInfo.Title=newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::get_Copyright(BSTR *pVal)
|
|
{
|
|
*pVal=ExtraInfo.Copyright.Copy();
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::put_Copyright(BSTR newVal)
|
|
{
|
|
ExtraInfo.Copyright=newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::get_Comments(BSTR *pVal)
|
|
{
|
|
*pVal=ExtraInfo.Comments.Copy();
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::put_Comments(BSTR newVal)
|
|
{
|
|
ExtraInfo.Comments=newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::get_Artist(BSTR *pVal)
|
|
{
|
|
*pVal=ExtraInfo.Artist.Copy();
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::put_Artist(BSTR newVal)
|
|
{
|
|
ExtraInfo.Artist=newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::get_Album(BSTR *pVal)
|
|
{
|
|
*pVal=ExtraInfo.Album.Copy();
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::put_Album(BSTR newVal)
|
|
{
|
|
ExtraInfo.Album=newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::get_Genre(BSTR *pVal)
|
|
{
|
|
*pVal=ExtraInfo.Genre.Copy();
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::put_Genre(BSTR newVal)
|
|
{
|
|
ExtraInfo.Genre=newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::get_Composer(BSTR *pVal)
|
|
{
|
|
*pVal=ExtraInfo.Composer.Copy();
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::put_Composer(BSTR newVal)
|
|
{
|
|
ExtraInfo.Composer=newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::get_EncodedBy(BSTR *pVal)
|
|
{
|
|
*pVal=ExtraInfo.EncodedBy.Copy();
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::put_EncodedBy(BSTR newVal)
|
|
{
|
|
ExtraInfo.EncodedBy=newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::get_Track(long *pVal)
|
|
{
|
|
*pVal=ExtraInfo.Track;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::put_Track(long newVal)
|
|
{
|
|
ExtraInfo.Track=newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::get_URL(BSTR *pVal)
|
|
{
|
|
*pVal=ExtraInfo.URL.Copy();
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::put_URL(BSTR newVal)
|
|
{
|
|
ExtraInfo.URL=newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::get_OriginalArtist(BSTR* pVal)
|
|
{
|
|
*pVal=ExtraInfo.OriginalArtist.Copy();
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::put_OriginalArtist(BSTR newVal)
|
|
{
|
|
ExtraInfo.OriginalArtist=newVal;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::get_Picture(IPictureDisp** pVal)
|
|
{
|
|
*pVal = ExtraInfo.Picture;
|
|
ADDREFINTERFACE((*pVal));
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::put_Picture( IPictureDisp* newVal)
|
|
{
|
|
RELEASEINTERFACE(ExtraInfo.Picture);
|
|
ExtraInfo.Picture = newVal;
|
|
ADDREFINTERFACE(ExtraInfo.Picture);
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::get_AdditionalCount( long* pVal)
|
|
{
|
|
*pVal = (long)ExtraInfo.Additional.GetCount();
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::GetAdditional(long Index, BSTR* Name,BSTR* Value)
|
|
{
|
|
if (Index>=(long)ExtraInfo.Additional.GetCount())
|
|
return S_OK;
|
|
|
|
*Name=ExtraInfo.Additional[Index].Name.Copy();
|
|
*Value=ExtraInfo.Additional[Index].Value.Copy();
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::SetAdditional(long Index, BSTR Name, BSTR Value)
|
|
{
|
|
_ExtraInfo::_Additional newAdditional;
|
|
newAdditional.Name="";
|
|
newAdditional.Value="";
|
|
while (Index>=(long)ExtraInfo.Additional.GetCount())
|
|
{
|
|
ExtraInfo.Additional.Add(newAdditional);
|
|
}
|
|
ExtraInfo.Additional[Index].Name=Name;
|
|
ExtraInfo.Additional[Index].Value=Value;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::DeleteAdditional(long Index)
|
|
{
|
|
ExtraInfo.Additional.RemoveAt(Index);
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::get_MarkerCount( long* pVal)
|
|
{
|
|
*pVal = (long)ExtraInfo.Marker.GetCount();
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::GetMarker(long Index,double* TimeStamp,double* Duration,BSTR* Label,BSTR* Note)
|
|
{
|
|
if (Index>(long)ExtraInfo.Marker.GetCount())
|
|
return S_OK;
|
|
|
|
*TimeStamp=ExtraInfo.Marker[Index].Position;
|
|
*Duration=ExtraInfo.Marker[Index].Length;
|
|
*Label=ExtraInfo.Marker[Index].Label.Copy();
|
|
*Note=ExtraInfo.Marker[Index].Note.Copy();
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::SetMarker(long Index,double TimeStamp,double Duration,BSTR Label,BSTR Note)
|
|
{
|
|
_ExtraInfo::_Marker newMarker;
|
|
newMarker.Label="";
|
|
newMarker.Length=0;
|
|
newMarker.Note="";
|
|
newMarker.Position=0;
|
|
|
|
while (Index>=(long)ExtraInfo.Marker.GetCount())
|
|
{
|
|
ExtraInfo.Marker.Add(newMarker);
|
|
}
|
|
ExtraInfo.Marker[Index].Label=Label;
|
|
ExtraInfo.Marker[Index].Length=Duration;
|
|
ExtraInfo.Marker[Index].Note=Note;
|
|
ExtraInfo.Marker[Index].Position=TimeStamp;
|
|
return S_OK;
|
|
}
|
|
STDMETHODIMP CAVSExtraData::DeleteMarker(long Index)
|
|
{
|
|
ExtraInfo.Marker.RemoveAt(Index);
|
|
return S_OK;
|
|
}
|