aboutsummaryrefslogtreecommitdiff
path: root/Src/playlist/PLSWriter.cpp
diff options
context:
space:
mode:
authorJean-Francois Mauguit <jfmauguit@mac.com>2024-09-24 09:03:25 -0400
committerGitHub <noreply@github.com>2024-09-24 09:03:25 -0400
commitbab614c421ed7ae329d26bf028c4a3b1d2450f5a (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/playlist/PLSWriter.cpp
parent4bde6044fddf053f31795b9eaccdd2a5a527d21f (diff)
parent20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (diff)
downloadwinamp-bab614c421ed7ae329d26bf028c4a3b1d2450f5a.tar.gz
Merge pull request #5 from WinampDesktop/community
Merge to main
Diffstat (limited to 'Src/playlist/PLSWriter.cpp')
-rw-r--r--Src/playlist/PLSWriter.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/Src/playlist/PLSWriter.cpp b/Src/playlist/PLSWriter.cpp
new file mode 100644
index 00000000..e3f35ed5
--- /dev/null
+++ b/Src/playlist/PLSWriter.cpp
@@ -0,0 +1,36 @@
+#include "PLSWriter.h"
+#include "../nu/AutoChar.h"
+
+PLSWriter::PLSWriter() : fp(0), numEntries(0)
+{
+}
+
+int PLSWriter::Open(const wchar_t *filename)
+{
+ fp = _wfopen(filename, L"wt");
+ if (!fp)
+ return 0;
+
+ fprintf(fp, "[playlist]\r\n");
+
+ return 1;
+}
+
+void PLSWriter::Write(const wchar_t *filename)
+{
+ fwprintf(fp, L"File%d=%s\r\n", (int)++numEntries, filename);
+}
+
+void PLSWriter::Write(const wchar_t *filename, const wchar_t *title, int length)
+{
+ Write(filename);
+ fwprintf(fp, L"Title%d=%s\r\n", (int)numEntries, title);
+ fprintf(fp, "Length%d=%d\r\n", (int)numEntries, length);
+}
+
+void PLSWriter::Close()
+{
+ fprintf(fp, "NumberOfEntries=%d\r\n", (int)numEntries);
+ fprintf(fp, "Version=2\r\n");
+ fclose(fp);
+} \ No newline at end of file