diff options
-rw-r--r-- | addons/screensaver.xbmc.builtin.dim/addon.xml | 2 | ||||
-rw-r--r-- | addons/skin.estuary/addon.xml | 2 | ||||
-rw-r--r-- | addons/skin.estuary/language/resource.language.cs_cz/strings.po | 6 | ||||
-rw-r--r-- | addons/skin.estuary/language/resource.language.ro_ro/strings.po | 8 | ||||
-rw-r--r-- | tools/android/packaging/xbmc/res/layout/activity_main.xml | 4 | ||||
-rw-r--r-- | tools/android/packaging/xbmc/src/Main.java.in | 1 | ||||
-rw-r--r-- | tools/android/packaging/xbmc/src/XBMCMainView.java.in | 4 | ||||
-rw-r--r-- | tools/android/packaging/xbmc/src/XBMCVideoView.java.in | 2 | ||||
-rw-r--r-- | xbmc/filesystem/PluginDirectory.cpp | 3 | ||||
-rw-r--r-- | xbmc/music/MusicDatabase.cpp | 15 | ||||
-rw-r--r-- | xbmc/music/dialogs/GUIDialogMusicInfo.cpp | 19 | ||||
-rw-r--r-- | xbmc/music/windows/GUIWindowMusicBase.cpp | 22 |
12 files changed, 58 insertions, 30 deletions
diff --git a/addons/screensaver.xbmc.builtin.dim/addon.xml b/addons/screensaver.xbmc.builtin.dim/addon.xml index 365125ff97..8ded4db399 100644 --- a/addons/screensaver.xbmc.builtin.dim/addon.xml +++ b/addons/screensaver.xbmc.builtin.dim/addon.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <addon id="screensaver.xbmc.builtin.dim" name="Dim" - version="1.0.50" + version="1.0.51" provider-name="Team Kodi"> <extension point="xbmc.ui.screensaver" library=""/> <extension point="xbmc.addon.metadata"> diff --git a/addons/skin.estuary/addon.xml b/addons/skin.estuary/addon.xml index 206afa8314..034c174dfc 100644 --- a/addons/skin.estuary/addon.xml +++ b/addons/skin.estuary/addon.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<addon id="skin.estuary" version="2.0.18" name="Estuary" provider-name="phil65, Ichabod Fletchman"> +<addon id="skin.estuary" version="2.0.19" name="Estuary" provider-name="phil65, Ichabod Fletchman"> <requires> <import addon="xbmc.gui" version="5.14.0"/> </requires> diff --git a/addons/skin.estuary/language/resource.language.cs_cz/strings.po b/addons/skin.estuary/language/resource.language.cs_cz/strings.po index 31d32581f7..607cb16ed4 100644 --- a/addons/skin.estuary/language/resource.language.cs_cz/strings.po +++ b/addons/skin.estuary/language/resource.language.cs_cz/strings.po @@ -230,7 +230,7 @@ msgstr "Položky hlavní nabídky" msgctxt "#31062" msgid "Choose weather fanart pack" -msgstr "Zvolte balíček fanatrů počasí" +msgstr "Zvolte balíček fanartů počasí" msgctxt "#31063" msgid "Sections" @@ -442,7 +442,7 @@ msgstr "Nastavení související s hlavní nabídkou: Konfigurujte domovskou obr msgctxt "#31131" msgid "Choose skin fanart pack" -msgstr "Zvolte balíček fanatrů vzhledu" +msgstr "Zvolte balíček fanartů vzhledu" msgctxt "#31132" msgid "Select Program" @@ -502,7 +502,7 @@ msgstr "Kategorie" msgctxt "#31149" msgid "Select genre fanart pack" -msgstr "Zvolte balíček fanatrů žánru" +msgstr "Zvolte balíček fanartů žánru" msgctxt "#31150" msgid "Repository" diff --git a/addons/skin.estuary/language/resource.language.ro_ro/strings.po b/addons/skin.estuary/language/resource.language.ro_ro/strings.po index 4391cd7ba7..ba217ea0dc 100644 --- a/addons/skin.estuary/language/resource.language.ro_ro/strings.po +++ b/addons/skin.estuary/language/resource.language.ro_ro/strings.po @@ -556,6 +556,14 @@ msgctxt "#31163" msgid "Show Fanart background" msgstr "Arată decorul media ca fundal" +msgctxt "#31164" +msgid "Choose kind of profile identification" +msgstr "Alegeți tipul de identificare profil" + msgctxt "#31165" msgid "Profile name" msgstr "Nume profil" + +msgctxt "#31166" +msgid "Profile avatar" +msgstr "Avatar profil" diff --git a/tools/android/packaging/xbmc/res/layout/activity_main.xml b/tools/android/packaging/xbmc/res/layout/activity_main.xml index f8f9865de0..18fcfc3e6e 100644 --- a/tools/android/packaging/xbmc/res/layout/activity_main.xml +++ b/tools/android/packaging/xbmc/res/layout/activity_main.xml @@ -2,8 +2,6 @@ android:id="@+id/VideoLayout" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@android:color/black" > - > - + android:background="@android:color/transparent"> </RelativeLayout> diff --git a/tools/android/packaging/xbmc/src/Main.java.in b/tools/android/packaging/xbmc/src/Main.java.in index d5e6c88381..cc0cd68722 100644 --- a/tools/android/packaging/xbmc/src/Main.java.in +++ b/tools/android/packaging/xbmc/src/Main.java.in @@ -197,6 +197,7 @@ public class Main extends NativeActivity implements Choreographer.FrameCallback public void onStart() { super.onStart(); + mDecorView.setBackgroundColor(Color.TRANSPARENT); Choreographer.getInstance().removeFrameCallback(this); Choreographer.getInstance().postFrameCallback(this); diff --git a/tools/android/packaging/xbmc/src/XBMCMainView.java.in b/tools/android/packaging/xbmc/src/XBMCMainView.java.in index 6ca1f7bb20..43d6e976ed 100644 --- a/tools/android/packaging/xbmc/src/XBMCMainView.java.in +++ b/tools/android/packaging/xbmc/src/XBMCMainView.java.in @@ -27,7 +27,7 @@ public class XBMCMainView extends SurfaceView implements SurfaceHolder.Callback super(context); setZOrderOnTop(true); getHolder().addCallback(this); - getHolder().setFormat(PixelFormat.TRANSLUCENT); + getHolder().setFormat(PixelFormat.TRANSPARENT); Log.d(TAG, "Created"); } @@ -37,7 +37,7 @@ public class XBMCMainView extends SurfaceView implements SurfaceHolder.Callback super(context, attrs, defStyle); setZOrderOnTop(true); getHolder().addCallback(this); - getHolder().setFormat(PixelFormat.TRANSLUCENT); + getHolder().setFormat(PixelFormat.TRANSPARENT); Log.d(TAG, "Created"); } diff --git a/tools/android/packaging/xbmc/src/XBMCVideoView.java.in b/tools/android/packaging/xbmc/src/XBMCVideoView.java.in index b80c98420f..c3fc5fcdea 100644 --- a/tools/android/packaging/xbmc/src/XBMCVideoView.java.in +++ b/tools/android/packaging/xbmc/src/XBMCVideoView.java.in @@ -59,7 +59,7 @@ public class XBMCVideoView extends SurfaceView implements super(context); setZOrderMediaOverlay(true); getHolder().addCallback(this); - getHolder().setFormat(PixelFormat.TRANSLUCENT); + getHolder().setFormat(PixelFormat.TRANSPARENT); mVideoLayout = (RelativeLayout) Main.MainActivity.findViewById(R.id.VideoLayout); } diff --git a/xbmc/filesystem/PluginDirectory.cpp b/xbmc/filesystem/PluginDirectory.cpp index f6334bd635..fcc3a15e1f 100644 --- a/xbmc/filesystem/PluginDirectory.cpp +++ b/xbmc/filesystem/PluginDirectory.cpp @@ -59,7 +59,8 @@ void CPluginDirectory::CScriptObserver::Process() void CPluginDirectory::CScriptObserver::Abort() { - m_bStop = true; + // will wait until thread exits + StopThread(); } CPluginDirectory::CPluginDirectory() diff --git a/xbmc/music/MusicDatabase.cpp b/xbmc/music/MusicDatabase.cpp index 96035f7542..5e48e68f9b 100644 --- a/xbmc/music/MusicDatabase.cpp +++ b/xbmc/music/MusicDatabase.cpp @@ -10708,11 +10708,16 @@ void CMusicDatabase::UpdateFileDateAdded(int songId, const std::string& strFileN bool CMusicDatabase::AddAudioBook(const CFileItem& item) { - std::string strSQL = PrepareSQL("INSERT INTO audiobook (idBook,strBook,strAuthor,bookmark,file,dateAdded) VALUES (NULL,'%s','%s',%i,'%s','%s')", - item.GetMusicInfoTag()->GetAlbum().c_str(), - item.GetMusicInfoTag()->GetArtist()[0].c_str(), 0, - item.GetPath().c_str(), - CDateTime::GetCurrentDateTime().GetAsDBDateTime().c_str()); + auto const& artists = item.GetMusicInfoTag()->GetArtist(); + std::string strSQL = PrepareSQL( + "INSERT INTO audiobook (idBook,strBook,strAuthor,bookmark,file,dateAdded) " + "VALUES (NULL,'%s','%s',%i,'%s','%s')", + item.GetMusicInfoTag()->GetAlbum().c_str(), + artists.empty() ? "" : artists[0].c_str(), + 0, + item.GetPath().c_str(), + CDateTime::GetCurrentDateTime().GetAsDBDateTime().c_str() + ); return ExecuteQuery(strSQL); } diff --git a/xbmc/music/dialogs/GUIDialogMusicInfo.cpp b/xbmc/music/dialogs/GUIDialogMusicInfo.cpp index 9448324714..72f52fe658 100644 --- a/xbmc/music/dialogs/GUIDialogMusicInfo.cpp +++ b/xbmc/music/dialogs/GUIDialogMusicInfo.cpp @@ -398,11 +398,14 @@ bool CGUIDialogMusicInfo::OnMessage(CGUIMessage& message) CGUIMessage msg(GUI_MSG_ITEM_SELECTED, GetID(), iControl); CServiceBroker::GetGUI()->GetWindowManager().SendMessage(msg); int iItem = msg.GetParam1(); - if (iItem < 0 || iItem >= m_albumSongs->Size()) - break; - OnAlbumInfo(m_albumSongs->Get(iItem)->GetMusicInfoTag()->GetDatabaseId()); - - return true; + int id = -1; + if (iItem >= 0 && iItem < m_albumSongs->Size()) + id = m_albumSongs->Get(iItem)->GetMusicInfoTag()->GetDatabaseId(); + if (id > 0) + { + OnAlbumInfo(id); + return true; + } } } } @@ -1010,10 +1013,12 @@ void CGUIDialogMusicInfo::ShowFor(CFileItem* pItem) // Maybe only path is set, then set MusicInfoTag CQueryParams params; CDirectoryNode::GetDatabaseInfo(pItem->GetPath(), params); - if (params.GetAlbumId() == -1) + if (params.GetArtistId() > 0) pItem->GetMusicInfoTag()->SetDatabaseId(params.GetArtistId(), MediaTypeArtist); - else + else if (params.GetAlbumId() > 0) pItem->GetMusicInfoTag()->SetDatabaseId(params.GetAlbumId(), MediaTypeAlbum); + else + return; // nothing to do } CGUIDialogMusicInfo *pDlgMusicInfo = CServiceBroker::GetGUI()->GetWindowManager(). GetWindow<CGUIDialogMusicInfo>(WINDOW_DIALOG_MUSIC_INFO); diff --git a/xbmc/music/windows/GUIWindowMusicBase.cpp b/xbmc/music/windows/GUIWindowMusicBase.cpp index cb27b0c6a3..d0b7650c16 100644 --- a/xbmc/music/windows/GUIWindowMusicBase.cpp +++ b/xbmc/music/windows/GUIWindowMusicBase.cpp @@ -62,6 +62,8 @@ #include "platform/linux/XTimeUtils.h" #endif +#include <algorithm> + using namespace XFILE; using namespace MUSICDATABASEDIRECTORY; using namespace PLAYLIST; @@ -690,12 +692,20 @@ bool CGUIWindowMusicBase::OnContextButton(int itemNumber, CONTEXT_BUTTON button) Update(item->GetPath()); int bookmark; m_musicdatabase.GetResumeBookmarkForAudioBook(item->GetPath(), bookmark); - int i=0; - while (i < m_vecItems->Size() && bookmark > m_vecItems->Get(i)->m_lEndOffset) - ++i; - CFileItem resItem(*m_vecItems->Get(i)); - resItem.SetProperty("StartPercent", ((double)bookmark-resItem.m_lStartOffset)/(resItem.m_lEndOffset-resItem.m_lStartOffset)*100); - g_application.PlayFile(resItem, "", false); + + auto itemIt = std::find_if( + m_vecItems->cbegin(), + m_vecItems->cend(), + [&](const CFileItemPtr& item) { return bookmark <= item->m_lEndOffset; } + ); + if (itemIt != m_vecItems->cend()) + { + CFileItem resItem(**itemIt); + resItem.SetProperty("StartPercent", + 100.0 * (bookmark - resItem.m_lStartOffset) / (resItem.m_lEndOffset - resItem.m_lStartOffset) + ); + g_application.PlayFile(resItem, "", false); + } } default: |