Example #1
0
static gboolean
ol_player_amarok2_get_played_time (int *played_time)
{
    OlPlayerMpris *mpris = ol_player_amarok2_get_mpris ();
    int amarok_time = 0;
    if (!ol_player_mpris_get_played_time (mpris, &amarok_time))
        return FALSE;
    ol_player_amarok2_ensure_elapse (amarok_time);
    /* FIXME: Due to a bug in Amarok 2.0, the status returned is always set to
       stopped, so we can't determine the true status of Amarok.
       Enable the true clause when the fixed version of Amarok 2 is wide spread.
     */
    if (0)
    {
        enum OlPlayerStatus status = ol_player_amarok2_get_status ();
        if (status == OL_PLAYER_PLAYING)
            *played_time = ol_elapse_emulator_get_real_ms (elapse_emulator, amarok_time);
        else
            *played_time = ol_elapse_emulator_get_last_ms (elapse_emulator, amarok_time);
    }
    else
    {
        *played_time = ol_elapse_emulator_get_real_ms (elapse_emulator, amarok_time);
    }
    return TRUE;
}
Example #2
0
static gboolean
ol_player_qmmp_get_played_time (int *played_time)
{
  OlPlayerMpris *mpris = ol_player_qmmp_get_mpris ();
  int qmmp_time;
  if (!ol_player_mpris_get_played_time (mpris, &qmmp_time))
    return FALSE;
  enum OlPlayerStatus status = ol_player_qmmp_get_status ();
  ol_player_qmmp_ensure_elapse (qmmp_time);
  if (status == OL_PLAYER_PLAYING)
    *played_time = ol_elapse_emulator_get_real_ms (elapse_emulator,
                                                   qmmp_time);
  else if (status == OL_PLAYER_PAUSED)
    *played_time = ol_elapse_emulator_get_last_ms (elapse_emulator,
                                                   qmmp_time);
  else
    *played_time = -1;
  return TRUE;
}
static gboolean
ol_player_clementine_get_played_time (int *played_time)
{
  OlPlayerMpris *mpris = ol_player_clementine_get_mpris ();
  int clementine_time = 0;
  if (!ol_player_mpris_get_played_time (mpris, &clementine_time))
    return FALSE;
  ol_player_clementine_ensure_elapse (clementine_time);

  if (0)
  {
    enum OlPlayerStatus status = ol_player_clementine_get_status ();
    if (status == OL_PLAYER_PLAYING)
      *played_time = ol_elapse_emulator_get_real_ms (elapse_emulator, clementine_time);
    else
      *played_time = ol_elapse_emulator_get_last_ms (elapse_emulator, clementine_time);
  }
  else
  {
    *played_time = ol_elapse_emulator_get_real_ms (elapse_emulator, clementine_time);
  }
  return TRUE;
}
static gboolean
ol_player_songbird_get_played_time (int *played_time)
{
  OlPlayerMpris *mpris = ol_player_songbird_get_mpris ();
  return ol_player_mpris_get_played_time (mpris, played_time);
}