Fixed issue with saving positions, and only auto-resume long-form content

custom
ailurux 6 months ago
parent d27590f8a7
commit b2548a1f0b
  1. 6
      lua/browser.lua
  2. 2
      src/tangara/audio/audio_fsm.cpp

@ -94,9 +94,9 @@ return screen:new {
end end
local get_icon_func = nil local get_icon_func = nil
local show_listened = self.mediatype == database.MediaTypes.Audiobook or local longform_content = self.mediatype == database.MediaTypes.Audiobook or
self.mediatype == database.MediaTypes.Podcast self.mediatype == database.MediaTypes.Podcast
if show_listened then if longform_content then
get_icon_func = function(item) get_icon_func = function(item)
local contents = item:contents() local contents = item:contents()
if type(contents) == "userdata" then if type(contents) == "userdata" then
@ -128,7 +128,7 @@ return screen:new {
else else
queue.clear() queue.clear()
local track = database.track_by_id(contents) local track = database.track_by_id(contents)
if (track) then if (track and longform_content) then
queue.play_from(track.filepath, track.saved_position) queue.play_from(track.filepath, track.saved_position)
else else
queue.add(contents) queue.add(contents)

@ -426,7 +426,7 @@ auto AudioState::updateTrackData(std::string uri,
auto AudioState::updateSavedPosition(std::string uri, uint32_t position) auto AudioState::updateSavedPosition(std::string uri, uint32_t position)
-> void { -> void {
updateTrackData( updateTrackData(
uri, [&](database::TrackData& data) { data.last_position = position; }); uri, [=](database::TrackData& data) { data.last_position = position; });
} }
auto AudioState::incrementPlayCount(std::string uri) -> void { auto AudioState::incrementPlayCount(std::string uri) -> void {

Loading…
Cancel
Save