Ticket #10778: patch.lastopenfile.1

File patch.lastopenfile.1, 6.3 KB (added by mayfields@…, 8 years ago)

Close file after using getTagger()

Line 
1--- a/mythtv/mythplugins/mythmusic/mythmusic/editmetadata.cpp   2012-05-31 13:35:19.610075548 +0930
2+++ a/mythtv/mythplugins/mythmusic/mythmusic/editmetadata.cpp   2012-05-31 13:33:44.618606530 +0930
3@@ -22,6 +22,7 @@
4 #include "decoder.h"
5 #include "genres.h"
6 #include "metaio.h"
7+#include "metaioid3.h"
8 #include "musicplayer.h"
9 #include "musicutils.h"
10
11@@ -204,6 +205,8 @@ void EditMetadataCommon::saveAll()
12
13         if (tagger)
14             tagger->write(m_metadata);
15+        if (dynamic_cast <MetaIOID3 *>(tagger))
16+            tagger->read(NULL);
17     }
18
19     saveToDatabase();
20@@ -296,6 +299,8 @@ void EditMetadataCommon::scanForImages(v
21             m_metadata->getAlbumArtImages()->addImage(image);
22         }
23     }
24+    if (dynamic_cast <MetaIOID3 *>(tagger))
25+        tagger->read(NULL);
26 }
27
28 ///////////////////////////////////////////////////////////////////////////////
29@@ -1079,6 +1084,8 @@ void EditAlbumartDialog::showMenu(void )
30                         if (m_metadata->getTagger()->supportsEmbeddedImages())
31                             menu->AddButton(tr("Remove Selected Image From Tag"));
32                     }
33+                    if (dynamic_cast <MetaIOID3 *>(m_metadata->getTagger()))
34+                        m_metadata->getTagger()->read(NULL);
35                 }
36             }
37         }
38@@ -1088,6 +1095,8 @@ void EditAlbumartDialog::showMenu(void )
39     {
40         if (m_metadata->getTagger()->supportsEmbeddedImages())
41             menu->AddButton(tr("Copy Image To Tag"));
42+        if (dynamic_cast <MetaIOID3 *>(m_metadata->getTagger()))
43+            m_metadata->getTagger()->read(NULL);
44     }
45
46     popupStack->AddScreen(menu);
47@@ -1154,6 +1163,8 @@ void EditAlbumartDialog::customEvent(QEv
48                                 if (!tagger->changeImageType(m_metadata->Filename(), &oldImage, image->imageType))
49                                     LOG(VB_GENERAL, LOG_INFO, "EditAlbumartDialog: failed to change image type");
50                             }
51+                        if (dynamic_cast <MetaIOID3 *>(tagger))
52+                            tagger->read(NULL);
53                         }
54                         else
55                         {
56@@ -1315,6 +1326,8 @@ void EditAlbumartDialog::doRemoveImageFr
57             {
58                 LOG(VB_GENERAL, LOG_ERR, "EditAlbumartDialog: asked to remove an image from the tag "
59                                          "but the tagger doesn't support it!");
60+                        if (dynamic_cast <MetaIOID3 *>(tagger))
61+                            tagger->read(NULL);
62                 return;
63             }
64
65@@ -1325,6 +1338,9 @@ void EditAlbumartDialog::doRemoveImageFr
66
67             removeCachedImage(image);
68             rescanForImages();
69+
70+            if (dynamic_cast <MetaIOID3 *>(tagger))
71+                tagger->read(NULL);
72         }
73     }
74 }
75@@ -1337,6 +1353,8 @@ void EditAlbumartDialog::doCopyImageToTa
76     {
77         LOG(VB_GENERAL, LOG_ERR, "EditAlbumartDialog: asked to write album art to the tag "
78                               "but the tagger does't support it!");
79+        if (dynamic_cast <MetaIOID3 *>(tagger))
80+            tagger->read(NULL);
81         return;
82     }
83
84@@ -1348,6 +1366,9 @@ void EditAlbumartDialog::doCopyImageToTa
85     removeCachedImage(image);
86
87     rescanForImages();
88+
89+    if (dynamic_cast <MetaIOID3 *>(tagger))
90+        tagger->read(NULL);
91 }
92
93 void EditAlbumartDialog::removeCachedImage(const AlbumArtImage *image)
94--- a/mythtv/mythplugins/mythmusic/mythmusic/filescanner.cpp    2012-04-24 17:33:39.000000000 +0930
95+++ b/mythtv/mythplugins/mythmusic/mythmusic/filescanner.cpp    2012-05-31 12:30:43.503500222 +0930
96@@ -17,6 +17,7 @@
97 #include "filescanner.h"
98 #include "metadata.h"
99 #include "metaio.h"
100+#include "metaioid3.h"
101 
102 FileScanner::FileScanner() : m_decoder(NULL)
103 {
104@@ -317,6 +318,8 @@ void FileScanner::AddFileToDB(const QStr
105                 data->setEmbeddedAlbumArt(artList);
106                 data->getAlbumArtImages()->dumpToDatabase();
107             }
108+            if (dynamic_cast <MetaIOID3 *>(tagger))
109+                tagger->read(NULL);
110 
111             delete data;
112         }
113--- a/mythtv/mythplugins/mythmusic/mythmusic/importmusic.cpp    2012-05-31 13:35:18.066718360 +0930
114+++ b/mythtv/mythplugins/mythmusic/mythmusic/importmusic.cpp    2012-05-31 13:32:06.240418303 +0930
115@@ -17,6 +17,7 @@
116 #include "editmetadata.h"
117 #include "musicplayer.h"
118 #include "metaio.h"
119+#include "metaioid3.h"
120 #include "musicutils.h"
121 
122 #include <mythdialogbox.h>
123@@ -442,6 +443,8 @@ void ImportMusicDialog::addPressed()
124             meta->setEmbeddedAlbumArt(artList);
125             meta->getAlbumArtImages()->dumpToDatabase();
126         }
127+        if (dynamic_cast <MetaIOID3 *>(tagger))
128+            tagger->read(NULL);
129 
130         m_somethingWasImported = true;
131 
132--- a/mythtv/mythplugins/mythmusic/mythmusic/metadata.cpp       2012-05-20 07:57:50.076718340 +0930
133+++ b/mythtv/mythplugins/mythmusic/mythmusic/metadata.cpp       2012-05-31 12:28:03.317300055 +0930
134@@ -874,13 +874,19 @@ QString Metadata::getAlbumArtFile(void)
135                     {
136                         image->save(res);
137                         delete image;
138+                        if (dynamic_cast <MetaIOID3 *>(getTagger()))
139+                            getTagger()->read(NULL);
140                         return res;
141                     }
142+                    if (dynamic_cast <MetaIOID3 *>(getTagger()))
143+                        getTagger()->read(NULL);
144                 }
145                 else
146                 {
147                     // image is in a file but couldn't be found!
148                     m_albumArt->getImageList()->removeAll(albumart_image);
149+                    if (dynamic_cast <MetaIOID3 *>(getTagger()))
150+                        getTagger()->read(NULL);
151                     return QString("");
152                 }
153             }
154@@ -941,7 +941,10 @@ MetaIO* Metadata::getTagger(void)
155         if (metaIOID3.TagExists(Filename(true)))
156             return &metaIOID3;
157         else
158+        {
159+            metaIOID3.read(NULL);
160             return &metaIOFLACVorbis;
161+        }
162     }
163     else if (extension == "m4a")
164         return &metaIOMP4;
165@@ -1478,6 +1484,8 @@ void AlbumArtImages::addImage(const Albu
166
167         image->filename = path + filename;
168     }
169+    if (dynamic_cast <MetaIOID3 *>(m_parent->getTagger()))
170+        m_parent->getTagger()->read(NULL);
171 }
172
173 /// saves or updates the image details in the DB