1. 18 Feb, 2019 1 commit
    • Michael Pyne's avatar
      Fix crash with threaded file loading. · 24b0edd1
      Michael Pyne authored
      Although Qt protects access to functions in the GUI thread (where I was
      seeing crashes in the new threaded file loading code in some
      situations), as long as you use signals/slots, Qt Concurrent doesn't do
      anything to keep your non-GUI threaded code from trampling on each
      other.
      
      Which is obvious enough, in retrospect, but that seems to have been the
      reason for the crashes I was sometimes seeing (TagLib and/or FileHandle
      not being thread-safe).
      
      The immediate bugfix is to serialize access into FileHandle/TagLib file
      reading code in DirectoryLoader, though I also did some cleanups in the
      process of debugging that I think are worth keeping.
      24b0edd1
  2. 20 Dec, 2018 1 commit
  3. 19 Dec, 2018 1 commit
    • Michael Pyne's avatar
      Move initial music load to a separate thread. · 3cf74c35
      Michael Pyne authored
      I ran into all the problems one might expect from adding threading to an
      old codebase but this variant seems pretty stable.
      
      The benefit is that the heavy I/O with large music libraries is now off
      of the GUI thread. So even though it will still take awhile to load all
      music until I fix the bug(s) with using cached tags, at least the
      application itself will be responsive while it loads audio.
      3cf74c35