Use fallback only if no player was requested;

Request no player by default
pull/264/head
Lars Krämer 4 years ago
parent 9a34b55498
commit 6dd08c89bc

@ -157,7 +157,9 @@ bool dbus_manager::get_media_player_metadata(metadata& meta, std::string name) {
bool dbus_manager::init(const std::string& requested_player) { bool dbus_manager::init(const std::string& requested_player) {
if (m_inited) return true; if (m_inited) return true;
m_requested_player = "org.mpris.MediaPlayer2." + requested_player; if(not requested_player.empty()){
m_requested_player = "org.mpris.MediaPlayer2." + requested_player;
}
if (!m_dbus_ldr.IsLoaded() && !m_dbus_ldr.Load("libdbus-1.so.3")) { if (!m_dbus_ldr.IsLoaded() && !m_dbus_ldr.Load("libdbus-1.so.3")) {
std::cerr << "MANGOHUD: Could not load libdbus-1.so.3\n"; std::cerr << "MANGOHUD: Could not load libdbus-1.so.3\n";
@ -191,22 +193,29 @@ bool dbus_manager::select_active_player() {
auto old_active_player = m_active_player; auto old_active_player = m_active_player;
m_active_player = ""; m_active_player = "";
metadata meta{}; metadata meta{};
// If the requested player is available, use it if(not m_requested_player.empty()){
if (m_name_owners.count(m_requested_player) > 0) { std::cerr << "Requested player: " << m_requested_player << "\n";
m_active_player = m_requested_player; // If the requested player is available, use it
std::cerr << "Selecting requested player: " << m_requested_player if (m_name_owners.count(m_requested_player) > 0) {
<< "\n"; m_active_player = m_requested_player;
get_media_player_metadata(meta, m_active_player); std::cerr << "Selecting requested player: " << m_requested_player
<< "\n";
get_media_player_metadata(meta, m_active_player);
}
} }
else {
// Else, use any player that is currently playing.. // If no player is requested, use any player that is currently playing
if (m_active_player.empty()) { if (m_active_player.empty()) {
for (const auto& entry : m_name_owners) { for (const auto& entry : m_name_owners) {
const auto& name = std::get<0>(entry); const auto& name = std::get<0>(entry);
get_media_player_metadata(meta, name); get_media_player_metadata(meta, name);
if (meta.playing) { if (meta.playing) {
m_active_player = name; m_active_player = name;
std::cerr << "Selecting fallback player: " << name << "\n"; std::cerr << "Selecting fallback player: " << name << "\n";
}
else {
meta = {};
}
} }
} }
} }

@ -423,7 +423,7 @@ parse_overlay_config(struct overlay_params *params,
params->background_color = 0x020202; params->background_color = 0x020202;
params->text_color = 0xffffff; params->text_color = 0xffffff;
params->media_player_color = 0xffffff; params->media_player_color = 0xffffff;
params->media_player_name = "spotify"; params->media_player_name = "";
params->font_scale = 1.0f; params->font_scale = 1.0f;
params->font_scale_media_player = 0.55f; params->font_scale_media_player = 0.55f;
params->log_interval = 100; params->log_interval = 100;

Loading…
Cancel
Save