summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLarsAC <LarsAC@e10066b5-e1e2-0310-b819-94efdf66514b>2005-10-08 16:35:50 +0000
committerLarsAC <LarsAC@e10066b5-e1e2-0310-b819-94efdf66514b>2005-10-08 16:35:50 +0000
commite8150e1a1109c49578f3156d578490f2cdd4a3fa (patch)
treed606792c56cc814fb0d186fa44feecc45bcd9602
parenteb8468107e40dfcf6834d4a827e985194da5991a (diff)
downloadvdr-plugin-muggle-e8150e1a1109c49578f3156d578490f2cdd4a3fa.tar.gz
vdr-plugin-muggle-e8150e1a1109c49578f3156d578490f2cdd4a3fa.tar.bz2
Report whether images are available. Delete temporarily generated files at end of play
git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@862 e10066b5-e1e2-0310-b819-94efdf66514b
-rw-r--r--mg_image_provider.c27
-rw-r--r--mg_image_provider.h8
2 files changed, 32 insertions, 3 deletions
diff --git a/mg_image_provider.c b/mg_image_provider.c
index cb60363..7b46d52 100644
--- a/mg_image_provider.c
+++ b/mg_image_provider.c
@@ -93,6 +93,25 @@ mgImageProvider::mgImageProvider( )
m_delete_imgs_from_tag = false;
}
+mgImageProvider::~mgImageProvider()
+{
+ if( m_delete_imgs_from_tag )
+ {
+ for( vector<string>::iterator iter = m_image_list.begin(); iter != m_image_list.end(); iter ++ )
+ {
+ // remove( (*iter).c_str() );
+ cout << "Removing " << *iter << endl;
+ }
+ m_delete_imgs_from_tag = false;
+ }
+
+ for( vector<string>::iterator iter = m_converted_images.begin(); iter != m_converted_images.end(); iter ++ )
+ {
+ // remove( (*iter).c_str() );
+ cout << "Removing " << *iter << endl;
+ }
+}
+
mgImageProvider* mgImageProvider::Create( string dir )
{
return new mgImageProvider( dir );
@@ -103,7 +122,7 @@ mgImageProvider* mgImageProvider::Create( )
return new mgImageProvider();
}
-void mgImageProvider::updateItem( mgItemGd *item )
+bool mgImageProvider::updateItem( mgItemGd *item )
{
// clean up stuff from previous item ?
@@ -176,6 +195,12 @@ void mgImageProvider::updateItem( mgItemGd *item )
m_image_index = 0;
}
// else: nothing todo when changing the item currently being played
+
+ Lock();
+ bool result = m_image_list.size() > 0;
+ Unlock();
+
+ return result;
}
void mgImageProvider::Action()
diff --git a/mg_image_provider.h b/mg_image_provider.h
index 2c81ef7..c5526bb 100644
--- a/mg_image_provider.h
+++ b/mg_image_provider.h
@@ -22,9 +22,9 @@ class mgImageProvider : public cThread
*/
std::string getImagePath();
- /*! \brief tell the image provider that we are replaying a different item now
+ /*! \brief tell the image provider that we are replaying a different item now. Return, whether images were found.
*/
- void updateItem( mgItemGd *item );
+ bool updateItem( mgItemGd *item );
/*! \brief Initialize image provider with all files in the given directory
*/
@@ -34,6 +34,10 @@ class mgImageProvider : public cThread
*/
static mgImageProvider* Create();
+ /*! \brief destroy instance and delete remaining temporary files
+ */
+ ~mgImageProvider();
+
protected:
/*! \brief Executes image conversion (.jpg to .mpg) in a separate thread