1. 01 Oct, 2017 1 commit
    • Michael Pyne's avatar
      Remove Kdelibs4Support. · 1e3b90b8
      Michael Pyne authored
      This required a wide assortment of fixes, including deleting
      needless #include <koldfoo.h> headers, some minor additional porting
      tasks, and adding in includes that were previously only implicitly
  2. 30 Sep, 2017 5 commits
  3. 30 Aug, 2017 2 commits
  4. 27 Aug, 2017 1 commit
  5. 26 Aug, 2017 6 commits
  6. 25 Aug, 2017 3 commits
  7. 27 Jul, 2017 1 commit
  8. 26 Jul, 2017 3 commits
  9. 27 Apr, 2014 1 commit
  10. 30 Nov, 2013 1 commit
    • Michael Pyne's avatar
      GIT_SILENT: Update source code license headers. · d969a0b4
      Michael Pyne authored
      Thanks to Eric Newberry (from Google Code-In) for running the heavy
      lifting on this.
      I made some other corrections since we're touching all the source
      anyways (e.g. fixing my email addresses), fixing the encoding of Richard
      Lärkäng's name, and I've also chosen to avoid the fancy box-shaped
      comments so that there's no issue with trailing spaces/tabs.
  11. 03 Sep, 2013 1 commit
    • Michael Pyne's avatar
      scrobbler: Change Scrobbler owner to be JuK, not PlayerManager. · 1fc69df5
      Michael Pyne authored
      PlayerManager will always emit a track changed signal, which means the
      Scrobbler will always have to receive it even if we're not scrobbling
      (my last change to avoid making network requests when not using last.fm
      broke this, it seems).
      Instead move the Scrobbler into the base application class where we can
      track whether scrobbling is enabled or not, and Do the Right Thing. I
      don't have a last.fm account so although this should still work (I
      think), I can't verify. I have verified that we at least don't crash
      anymore. Martin, can you double-check when you get a chance?
  12. 29 Jun, 2013 1 commit
    • Michael Pyne's avatar
      mpris2: Move DBus adapter creation until after GUI setup. · fa657b97
      Michael Pyne authored
      This helps a little bit with JuK freezing Plasma due to DBus deadlocks
      from synchronous calls being made between KStatusNotifierItem, its
      Plasma notification area counterpart, and the MPRIS2 adapter and its
      Plasma counterpart(s).
      Proper fix is async everywhere as far as I can tell.
  13. 26 Jun, 2013 1 commit
    • Michael Pyne's avatar
      startup: Async-ify cached item loading on startup, add timers. · bf4df116
      Michael Pyne authored
      In an attempt to get rid of processEvents() (related to several existing
      crash bugs) I am trying to port the startup code towards more
      async-friendly schemes.
      There's no threading but we at least get back to the event loop much
      more frequently while loading files.
      Additionally I have added debug output with instrumentation to show how
      long it takes to advance through each step of the startup (I think this
      might be the first time anyone has understood JuK startup sequence in
      This leaves some essentially dead code with Cache (which no longer
      acts as a container), which I will try to cleanup in later commits.
  14. 24 Jun, 2012 1 commit
    • Michael Pyne's avatar
      Remove old covers at startup. · d1a0dc2f
      Michael Pyne authored
      To keep disk usage manageable, but more importantly to ensure that the
      covers generated for a given track ID are not made incorrect if a track
      ends up with a different ID on the next JuK startup.
  15. 19 Apr, 2012 1 commit
  16. 16 Apr, 2012 1 commit
    • Michael Pyne's avatar
      Initial MPRIS2 support. · 54c6db81
      Michael Pyne authored
      Eike Hein has kindly donated a working Mpris2 adaptor with instructions
      on how to integrate into JuK, so I've done so.
      This is just at the "compiles and links" stage and the track ID will
      give a lot of weirdness due to the strictness of the D-Bus Object Path
      name spec.
      The reason we don't just use an identifier for a track is that the
      "primary key" JuK uses is the canonical file name. JuK has no internal
      RDBMS or anything similar where primary keys would be assigned. Because
      of this we encode track IDs using z-Base-32 so they will not violate the
      D-Bus spec.
      Thanks to Eike for the large code contribution and integration support!
  17. 23 Feb, 2012 1 commit
  18. 30 Jun, 2011 1 commit
  19. 19 Jun, 2011 1 commit
    • Giorgos Kylafas's avatar
      juk: fix crash when adding items to toolbars with RMB. · dcb6da31
      Giorgos Kylafas authored
      When adding an item to a toolbar using right-click, the KXMLGUIClient
      object of the global action collection is accessed.
      (see KMenuMenuHandler::slotAddToToolBar() )
      The way the action collection was created meant the object was NULL,
      which resulted in crashes.
      So, create the action collection with KXMLGUIClient::actionCollection(),
      which properly sets the object.
      CCBUG: 258641
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=1237516
  20. 11 Jun, 2011 2 commits
    • Giorgos Kylafas's avatar
      juk: no crash-on-exit while playing, no matter how we exit. · af7271f4
      Giorgos Kylafas authored
      Since r921339, we stop the playback during exit, otherwise some phonon
      backends will crash. However, the relevant code was only executed when
      selecting "File->Quit", not when closing the window nor when quitting
      from the system tray.
      So, similarly to r1236077, put the stopping of playback into queryExit()
      to get executed in every case.
      Being in queryExit() means quit() has already been called. So, we can no
      longer wait for Phonon's StoppedState and then call quit(), as was done
      in r921339.
      However, waiting for Phonon's state change does not seem to be necessary
      any more, so we can safely remove slotPlaybackStopped().
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=1236082
    • Giorgos Kylafas's avatar
      juk: save the collection list cache no matter how the app exits. · d34bf39f
      Giorgos Kylafas authored
      Cache::save() was called from JuK::slotQuit(), which was triggered only
      by "File->Quit". So, the cache was not saved when closing the window or
      right-clicking the system tray and selecting "Quit",
      JuK::queryExit() is called in every case, so put Cache::save() there.
      Besides, according to KMainWindow's documentation, "a typical usage of
      queryExit() is to write configuration data back".
      While at it, remove saveConfig() from slotQuit(), since it is already
      being called from queryExit().
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=1236077
  21. 13 May, 2011 1 commit
  22. 10 May, 2011 1 commit
    • Michael Pyne's avatar
      juk: Check that the VolumePopupButton was created before using. · 5fcd37ec
      Michael Pyne authored
      For whatever reason neither the new seek slider or the volume button actually
      show up for me when I tested it (although clicking around where the seek slider
      should be does work). Something related to this causes the VolumeSlider's
      createWidget() method to never be run, which causes this line to crash after
      dereferencing the null pointer.
      Until I figure it out better (or wheels does ;) just make the crash go away.
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=1231079
  23. 09 May, 2011 1 commit
    • Scott Wheeler's avatar
      Switch to Amarok's volume / track polition sliders. · 5487fcaa
      Scott Wheeler authored
      There's a lot that still seems wonky, but it seems to all be Phonon
      breakage that I can reproduce with the version pre-changeset.
      Specifically Phonon (or its backends) seem quite fickle about when
      they've decided that seeking is enabled.  The crossfading code seems
      to compound this, but again, this does not seem to be a regression
      from the previous code.
      svn path=/trunk/KDE/kdemultimedia/juk/; revision=1231011
  24. 08 May, 2011 2 commits