Commit Graph

880 Commits

Author SHA1 Message Date
685c99d023 Fix proper scrobbling of podcasts 2023-01-12 16:05:29 -05:00
69f596039d Add better property for multiple media types
This adds a fun helper method on Scrobble instances to get whatever the
type should be based on media_obj
2023-01-12 15:42:05 -05:00
cf55c9b464 Fix parsing of podcast episode titles 2023-01-12 14:12:10 -05:00
8517212d0e Add podcasts as new media type 2023-01-12 13:56:56 -05:00
f435e60b80 Add very rudimentary fetching of art and metadata from MB 2023-01-12 11:10:25 -05:00
83b6ba9cc3 Add tabs and clean up main page 2023-01-11 11:55:44 -05:00
2b81b28bff Fix bug with duplicate Jellyfin scrobbles 2023-01-10 23:47:26 -05:00
f8c9df3b9a Fix artist aggregation so it works 2023-01-10 16:13:52 -05:00
8b61dab1bc Fix aggregator and blacken things up 2023-01-10 15:21:12 -05:00
602d1e0ddb Add better frontend, the first of many! 2023-01-10 14:40:59 -05:00
457828e04d Fix silly bug in classmethods for Scrobbles 2023-01-10 14:40:09 -05:00
4d573bc934 Fix bug where video scrobbles never start 2023-01-09 17:49:11 -05:00
bdd0f19161 Add start of a rating model for tracks 2023-01-09 11:20:37 -05:00
28bd9ad504 Start filling out content urls 2023-01-09 00:29:55 -05:00
657b194dc7 Fix small typo in debug logs 2023-01-08 23:10:24 -05:00
27ffd35826 Fix bug with Jellyfin mbrainz IDs being poor
Turns out Jellyfin uses a really esoteric form of Musicbrainz ID for
tracks. Instead of using the recording ID, it uses the specific hash for
a given version of a recording. A noble effrot to be specific, but we'd
much rather use Mopidy's recording ID when it's available.

Thus, we'll use Jellyfin's ID if that's all we have, but if we scrobble
the same track from Mopidy, overwrite the value.
2023-01-08 23:08:36 -05:00
da64cb2b6f Use logical filters for scrobble admin
No need to filter by video, but in progress and source are pretty handy.
2023-01-08 23:00:34 -05:00
09e96a55d4 First try at fixing bad MD data from Jellyfin 2023-01-08 19:44:41 -05:00
e4027402ed Add scrobble count property to tracks 2023-01-08 19:44:07 -05:00
4dc1599633 Add uuid fields for slugs at some point 2023-01-08 16:51:50 -05:00
71a8a19491 Add context processors for base template 2023-01-08 16:49:13 -05:00
1ec4333856 Add fallback duration tracking for Mopidy
Unlike Jellyfin, Mopidy's webhook only gives us a start and stopped call
to determine when a track should be scrobbled.  This means we don't have
continous updating of playback ticks.

This commit adds a fallback when ticks are not there to use the track
duration and time since the scrobble was created. That said, this is not
perfect. If you pause the track and start again, the progress will get
very out of whack. But thankfully, Mopidy only sends us audio, and it's
rare that audio tracks are paused repeatedly and started again before
finishing a scrobble. So hopefully this shouldn't happen very often.
2023-01-08 14:09:18 -05:00
f98fe4635c Clean up display of last scrobbles 2023-01-08 14:08:57 -05:00
842378e812 Need to load JSON data 2023-01-08 02:50:54 -05:00
07ad6005c8 Add rudimentary support for mopidy-webhooks 2023-01-08 00:26:24 -05:00
638be0b56a Refactor scrobbling code and add Music
If you send Track data from the Jellyfin Webhook plugin, we'll do the
right thing with it. Lots more to do to clean this up, but it also
involved moduralizing the code for scrobbling so it's a little simpler
to understand what's going on.
2023-01-07 19:34:11 -05:00
a960eee8f6 [#1] Limit now playing to the last 10 minutes 2023-01-06 14:26:14 -05:00
15ff2e4efd [#1] Add now playing section to homepage 2023-01-06 11:44:31 -05:00
2badc6de54 Refactor jellyfin scobbler view 2023-01-05 15:45:49 -05:00
819723b927 Big reorg to support pacakging 2023-01-05 14:39:47 -05:00