add 2007 copyright
[flac.git] / src / plugin_winamp2 / infobox.c
index 89e7fb7..c4b8034 100644 (file)
@@ -1,34 +1,38 @@
 /* in_flac - Winamp2 FLAC input plugin\r
- * Copyright (C) 2002,2003,2004,2005  Josh Coalson\r
+ * Copyright (C) 2002,2003,2004,2005,2006,2007  Josh Coalson\r
  *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
  *\r
- * This program is distributed in the hope that it will be useful,\r
+ * This library is distributed in the hope that it will be useful,\r
  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- * GNU General Public License for more details.\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
  *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\r
  */\r
 \r
+#if HAVE_CONFIG_H\r
+#  include <config.h>\r
+#endif\r
+\r
 #include <windows.h>\r
 #include <stdio.h>\r
 #include "FLAC/all.h"\r
 #include "plugin_common/all.h"\r
 #include "infobox.h"\r
-#include "config.h"\r
+#include "configure.h"\r
 #include "resource.h"\r
 \r
 \r
 typedef struct\r
 {\r
        char filename[MAX_PATH];\r
-       FLAC__StreamMetadata tags;\r
+       FLAC__StreamMetadata *tags;\r
 } LOCALDATA;\r
 \r
 static char buffer[8192];\r
@@ -201,7 +205,7 @@ static wchar_t *AnsiToWide(const char *src)
                                 if (*buffer) { ucs2 = AnsiToWide(buffer); FLAC_plugin__tags_set_tag_ucs2(data->tags, y, ucs2, /*replace_all=*/false); free(ucs2); } \\r
                                 else FLAC_plugin__tags_delete_tag(data->tags, y)\r
 \r
-#define SetTextW(x,y)           ucs2 = FLAC_plugin__tags_get_tag_ucs2(data->tags, y)); \\r
+#define SetTextW(x,y)           ucs2 = FLAC_plugin__tags_get_tag_ucs2(data->tags, y); \\r
                                 SetDlgItemTextW(hwnd, x, ucs2); \\r
                                 free(ucs2)\r
 \r
@@ -213,7 +217,7 @@ static wchar_t *AnsiToWide(const char *src)
 static BOOL InitInfoboxInfo(HWND hwnd, const char *file)\r
 {\r
        LOCALDATA *data = LocalAlloc(LPTR, sizeof(LOCALDATA));\r
-       wchar_t *ucs2;
+       wchar_t *ucs2;\r
        FLAC__StreamMetadata streaminfo;\r
        DWORD    length, bps, ratio, rg;\r
        LONGLONG filesize;\r
@@ -232,8 +236,8 @@ static BOOL InitInfoboxInfo(HWND hwnd, const char *file)
        length = (DWORD)(streaminfo.data.stream_info.total_samples / streaminfo.data.stream_info.sample_rate);\r
        bps = (DWORD)(filesize / (125*streaminfo.data.stream_info.total_samples/streaminfo.data.stream_info.sample_rate));\r
        ratio = bps*1000000 / (streaminfo.data.stream_info.sample_rate*streaminfo.data.stream_info.channels*streaminfo.data.stream_info.bits_per_sample);\r
-       rg  = FLAC_plugin__tags_get_tag_utf8(data->tags, L"REPLAYGAIN_TRACK_GAIN") ? 1 : 0;\r
-       rg |= FLAC_plugin__tags_get_tag_utf8(data->tags, L"REPLAYGAIN_ALBUM_GAIN") ? 2 : 0;\r
+       rg  = FLAC_plugin__tags_get_tag_utf8(data->tags, "REPLAYGAIN_TRACK_GAIN") ? 1 : 0;\r
+       rg |= FLAC_plugin__tags_get_tag_utf8(data->tags, "REPLAYGAIN_ALBUM_GAIN") ? 2 : 0;\r
 \r
        sprintf(buffer, "Sample rate: %d Hz\nChannels: %d\nBits per sample: %d\nMin block size: %d\nMax block size: %d\n"\r
                        "File size: %I64d bytes\nTotal samples: %I64d\nLength: %d:%02d\nAvg. bitrate: %d\nCompression ratio: %d.%d%%\n"\r
@@ -283,7 +287,7 @@ static void __inline SetTag(HWND hwnd, const char *filename, FLAC__StreamMetadat
 static void UpdateTag(HWND hwnd)\r
 {\r
        LOCALDATA *data = (LOCALDATA*)GetWindowLong(hwnd, GWL_USERDATA);\r
-       wchar_t *ucs2;
+       wchar_t *ucs2;\r
 \r
        /* get fields */\r
        if (isNT)\r
@@ -414,7 +418,7 @@ static __inline char *GetFileName(const char *fullname)
 \r
 void ReadTags(const char *fileName, FLAC__StreamMetadata **tags, BOOL forDisplay)\r
 {\r
-       if(FLAC_plugin__tags_get(fileName, tags, forDisplay ? flac_cfg.title.sep : NULL)) {\r
+       if(FLAC_plugin__tags_get(fileName, tags)) {\r
 \r
                /* add file name */\r
                if (forDisplay)\r
@@ -422,13 +426,13 @@ void ReadTags(const char *fileName, FLAC__StreamMetadata **tags, BOOL forDisplay
                        char *c;\r
                        wchar_t *ucs2;\r
                        ucs2 = AnsiToWide(fileName);\r
-                       FLAC_plugin__tags_set_tag_ucs2(*tags, "filepath", ucs2);\r
+                       FLAC_plugin__tags_set_tag_ucs2(*tags, "filepath", ucs2, /*replace_all=*/true);\r
                        free(ucs2);\r
 \r
                        strcpy(buffer, GetFileName(fileName));\r
                        if (c = strrchr(buffer, '.')) *c = 0;\r
                        ucs2 = AnsiToWide(buffer);\r
-                       FLAC_plugin__tags_set_tag_ucs2(*tags, "filename", ucs2);\r
+                       FLAC_plugin__tags_set_tag_ucs2(*tags, "filename", ucs2, /*replace_all=*/true);\r
                        free(ucs2);\r
                }\r
        }\r