diff options
| author | LarsAC <LarsAC@e10066b5-e1e2-0310-b819-94efdf66514b> | 2005-10-08 16:35:50 +0000 |
|---|---|---|
| committer | LarsAC <LarsAC@e10066b5-e1e2-0310-b819-94efdf66514b> | 2005-10-08 16:35:50 +0000 |
| commit | e8150e1a1109c49578f3156d578490f2cdd4a3fa (patch) | |
| tree | d606792c56cc814fb0d186fa44feecc45bcd9602 | |
| parent | eb8468107e40dfcf6834d4a827e985194da5991a (diff) | |
| download | vdr-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.c | 27 | ||||
| -rw-r--r-- | mg_image_provider.h | 8 |
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 |
