diff options
author | Jean-Francois Mauguit <jfmauguit@mac.com> | 2024-09-24 09:03:25 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-24 09:03:25 -0400 |
commit | bab614c421ed7ae329d26bf028c4a3b1d2450f5a (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/playlist/ifc_playlistT.h | |
parent | 4bde6044fddf053f31795b9eaccdd2a5a527d21f (diff) | |
parent | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (diff) | |
download | winamp-bab614c421ed7ae329d26bf028c4a3b1d2450f5a.tar.gz |
Merge pull request #5 from WinampDesktop/community
Merge to main
Diffstat (limited to 'Src/playlist/ifc_playlistT.h')
-rw-r--r-- | Src/playlist/ifc_playlistT.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Src/playlist/ifc_playlistT.h b/Src/playlist/ifc_playlistT.h new file mode 100644 index 00000000..7b9d96d5 --- /dev/null +++ b/Src/playlist/ifc_playlistT.h @@ -0,0 +1,48 @@ +#pragma once +#include "ifc_playlist.h" +template <class T> +class ifc_playlistT : public ifc_playlist +{ +protected: + ifc_playlistT() {} + ~ifc_playlistT() {} + + void Clear(); + //void AppendWithInfo(const wchar_t *filename, const char *title, int lengthInMS); + //void Append(const wchar_t *filename); + + size_t GetNumItems() { return 0; } + size_t GetItem( size_t item, wchar_t *filename, size_t filenameCch ) { return 0; } + size_t GetItemTitle( size_t item, wchar_t *title, size_t titleCch ) { return 0; } + int GetItemLengthMilliseconds( size_t item ) { return -1; } + size_t GetItemExtendedInfo( size_t item, const wchar_t *metadata, wchar_t *info, size_t infoCch ) { return 0; } + int Reverse() { return PLAYLIST_UNIMPLEMENTED; } + int Swap( size_t item1, size_t item2 ) { return PLAYLIST_UNIMPLEMENTED; } + int Randomize( int ( *generator )( ) ) { return PLAYLIST_UNIMPLEMENTED; } + void Remove( size_t item ) {} + int SortByTitle() { return 0; } + int SortByFilename() { return 0; } + int SortByDirectory() { return 0; } + +#define CBCLASS T +#define CBCLASST ifc_playlistT<T> + START_DISPATCH_INLINE; + VCBT( IFC_PLAYLIST_CLEAR, Clear ) + //M_VCB( IFC_PLAYLIST_APPENDWITHINFO, AppendWithInfo) + //M_VCB( IFC_PLAYLIST_APPEND, Append) + CBT( IFC_PLAYLIST_GETNUMITEMS, GetNumItems ) + CBT( IFC_PLAYLIST_GETITEM, GetItem ) + CBT( IFC_PLAYLIST_GETITEMTITLE, GetItemTitle ) + CBT( IFC_PLAYLIST_GETITEMLENGTHMILLISECONDS, GetItemLengthMilliseconds ) + CBT( IFC_PLAYLIST_GETITEMEXTENDEDINFO, GetItemExtendedInfo ) + CBT( IFC_PLAYLIST_REVERSE, Reverse ) + CBT( IFC_PLAYLIST_SWAP, Swap ) + CBT( IFC_PLAYLIST_RANDOMIZE, Randomize ) + VCBT( IFC_PLAYLIST_REMOVE, Remove ) + CBT( IFC_PLAYLIST_SORTBYTITLE, SortByTitle ) + CBT( IFC_PLAYLIST_SORTBYFILENAME, SortByFilename ) + CBT( IFC_PLAYLIST_SORTBYDIRECTORY, SortByDirectory ) + END_DISPATCH; +#undef CBCLASS +#undef CBCLASST +}; |