aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Library/ml_plg/util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Plugins/Library/ml_plg/util.cpp')
-rw-r--r--Src/Plugins/Library/ml_plg/util.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/Src/Plugins/Library/ml_plg/util.cpp b/Src/Plugins/Library/ml_plg/util.cpp
new file mode 100644
index 00000000..599512de
--- /dev/null
+++ b/Src/Plugins/Library/ml_plg/util.cpp
@@ -0,0 +1,36 @@
+#include "main.h"
+#include "../winamp/wa_ipc.h"
+
+int GetFileInfo(const wchar_t *filename, wchar_t *metadata, wchar_t *dest, int len)
+{
+ dest[0]=0;
+ extendedFileInfoStructW efis=
+ {
+ filename,
+ metadata,
+ dest,
+ (size_t)len,
+ };
+ int r = SendMessage(plugin.hwndWinampParent,WM_WA_IPC,(WPARAM)&efis,IPC_GET_EXTENDED_FILE_INFOW); //will return 1 if wa2 supports this IPC call
+ return r;
+}
+
+int updateFileInfo(const wchar_t *filename, wchar_t *metadata, wchar_t *data)
+{
+ extendedFileInfoStructW efis =
+ {
+ filename,
+ metadata,
+ data ? data : L"",
+ data ? wcslen(data) : 0,
+ };
+ return SendMessage(plugin.hwndWinampParent, WM_WA_IPC, (WPARAM)&efis, IPC_SET_EXTENDED_FILE_INFOW);
+}
+
+
+void WriteFileInfo(const wchar_t *filename)
+{
+
+ SendMessage(plugin.hwndWinampParent, WM_WA_IPC, 0, IPC_WRITE_EXTENDED_FILE_INFO);
+ SendMessage(plugin.hwndWinampParent, WM_WA_IPC, (WPARAM)filename, IPC_FILE_TAG_MAY_HAVE_UPDATEDW);
+} \ No newline at end of file