Skip to content

Media Hoarder 1.4.0-b (BETA!)

Pre-release
Pre-release
Compare
Choose a tag to compare
@theMK2k theMK2k released this 23 Feb 22:00
· 221 commits to master since this release

Important: this is a BETA pre-release of the forthcoming v1.4.0

TV Series Support

This pre-release includes the first implementation of TV series support.

Read here about how Media Hoarder expects series to be organized: feature-series/docs/01-Media-Storage.md

You can track the implementation progress at:

As this is a pre-release, please use with caution!

Changelog

v1.4.0-b7

  • SCRAPER: IMDB Scraper updated to properly get genres

Older Releases (click to expand)

v1.4.0-b6

IMDB Scraper

  • SCRAPER: When scanning series, re-rank IMDB search results so that tv-series are higher than movies when detecting the IMDB entry
v1.4.0-b5

Features (v1.4.0-b5)

  • FEAT: do an update check on the beta channel if the build is a beta build

A beta build (like this one) will now do version checks against other beta builds and tell you if a newer beta build is available. The link for downloading is also pointing to the beta releases (and not the Media Hoarder website's download section).

image

Misc (v1.4.0-b5)

  • DB Migrations
    • new table: tbl_DB_Migrations
    • implement migration runner
v1.4.0-b4

Features (v1.4.0-b4)

  • FEAT: add HDR variants to the Video Quality section

Media Hoarder now detects the following HDR variants: "HDR10", "HDR10+", "DV", "HLG".

The HDR variants are shown in the media entries of the main list:

image

When clicked, you can see details about a certain HDR variant:

image

Filter section "Video Quality" also contains these entries:

image

Misc / Fixes (v1.4.0-b4)

The IMDB entry detection (Media Hoarder trying to find the correct IMDB entry for a movie / tv show based on its name and release year) can fail due to different circumstances. Until now, Media Hoarder did not show errors prominently enough.

  • SCRAPER: add testIMDBFindPageSearch to testset in UI

image

  • SCRAPER: during the phase of IMDB entry detection, if something fails, the error will be stored in the scraper errors

image

v1.4.0-b3

Features (v1.4.0-b3)

  • FEAT: calculate collection sizes (movies, series, total) before and after a re-scan, show current collection sizes in the home screen (which also now has a link in the navigation bar on the left)

image

  • FEAT: enhanced rescan summary

    • related ticket: #45
    • show how many movies/series/episodes have been added/updated/removed

Media_Hoarder_v1 4 0-New_Scan_Summary

  • details dialog where the user can check individual files

Media_Hoarder_v1 4 0-New_Scan_Details_Dialog

  • new tab in Settings where past scan sessions are listed (detail dialog on click)

Media_Hoarder_v1 4 0-Scan_History

Misc / Fixes (v1.4.0-b3)

  • SCRAPER: stop imdb scraping when the tconst is obviously not working
  • reworked relative time and duration i18n
v1.4.0-b2

Features (v1.4.0-b2)

  • FEAT: Search Data Dialog: show role of person/company

image

image

Misc / Fixes (v1.4.0-b2)

  • UX: only load filters that are actually shown
    • reload filters when "edit filters" is done (only reload those filters that have changed visibility from false to true)
  • FIX: series/movies filters are not stored when switching to movies/series and back
    • related bug: switching movies <> series may lead to 0 media items, even when pressing reload button
  • FIX: clicking on plot keyword in "find plot keyword dialog" does nothing
  • FIX: hide items in dialogs that have 0 media (e.g. plot keywords for movies that can only be found in series)
  • FIX: prevent filtering and highlighting of searchText in Episodes listing
  • DECISION: bring back filters for episodes?
    • NOT NOW! this introduces more problems than solutions
  • FIX: include description text in search space
  • FIX: fast switching during trailer show lags behind
v1.4.0-b1

Features (v1.4.0-b1)

  • FEAT: when clicking a media item in one of the smaller lists, show the item's card
    • Media Property Dialog
    • Trailer Show (LocalVideoPlayerDialog, VideoPlayerDialog)
    • Chat GPT Dialog

image

Misc / Fixes (v1.4.0-b1)

  • UX: MediaList: as soon as "sort by" was changed by the user, reset page to 1
v1.3.37-a8

Misc / Fixes (v1.3.37-a8)

  • FIX: sort by Season and Episode didn't work anymore
  • SCRAPER: Update Plotsummary IMDB Scraper Test
v1.3.37-a7

Features (v1.3.37-a7)

v1.3.37-a6

Features (v1.3.37-a6)

Series: Media Property Dialog

  • FEAT: make series clickable and expand to episodes listing for the selected series, show affected number of episodes vs. total number of episodes
  • UX: remove the episodes section (in favor of episodes sections for all listed series)

Series: IMDB Rating Dialog

  • FEAT: IMDB Rating heatmap like https://whattowatchon.tv
    • make medialist item card a shared component (now used in medialist as well as SeriesIMDBRatingDialog)main list "jumps" and THEN reloads with the filter applied (possibly a fix for another issue)
    • prevent certain activities while in IMDB Rating Dialog mode

image

image

  • UI: fix z-index for other dialogs on top of the SeriesIMDBRatingDialog

  • UX: globally track MediaPropertyDialog's visibility in order to allow closing of SeriesIMDBRatingDialog on outside-click if MediaPropertyDialog is not open

  • UI: also provide clickable area for episodes we have but is missing an IMDB rating

image

  • MediaList: provide Series_id_Movies_Owner explicitly to MediaPropertyDialog

Series: Edit Media Dialog

  • FEAT: Allow user to define audio / subtitle languages
    • implement EditMediaItemDialog controls
    • save on diff

image

image

  • DB: tbl_Movies_MI_Qualities: also use for editing the series entry
v1.3.37-a5

Misc / Fixes (v1.3.37-a5)

  • SCRAPER: imdb-graphql-urls: update seriesEpisodes (new persisted query)
  • FIX: series episodes matching: don't assume E01 if neither season nor episode are set
v1.3.37-a4

Misc / Fixes (v1.3.37-a4)

  • UX: MediaList: store currentPage for Movies, Series and Episodes (episodes in tbl_Movies.Series_currentPage)
  • UX: MediaList: optimize fetchSortValues before fetchFilters
  • SCRAPER/UX: findIMDBtconst for episodes:
    • tt* override
    • by season and episode numbers
v1.3.37-a3

Misc / Fixes

  • UX: use tt* in the filename to override the tconst of an episode
  • UX: unlink IMDB on series: also unlink all episodes, which
    • don't have the tt* as part of their file name
    • haven't been user-set tt* (do we even track this?)
v1.3.37-a

Misc / Fixes

  • CHORE: Windows: update bundled VLC to 3.0.20
  • CHORE: Windows: update bundled Mediainfo CLI to 23.11
  • CHORE: refactor store.fetchMedia to only accept a single object containing the options
  • CHORE: check sqlite version for json support - The JSON functions and operators are built into SQLite by default, as of SQLite version 3.38.0 (2022-02-22).
  • DB: ensure that MI Tracks table is cleaned up when a movie gets removed
  • FIX: store.mergeExtraFileBased 713 TypeError: Cannot read property 'length' of undefined
  • FIX: delete series actually deleted the source path
  • FIX: in Series, where Video Quality filter resets from "ALL" to some being checked just by switching back and forth (series <> episodes)
  • TEST: create a test set with series name and year (see: https://github.com/theMK2k/media-hoarder-testset-generator)
    • enumerate series names
    • enumerate episodes for each series
    • benchmark series name detection (success: 98% hits on 1799 english series names)
    • also benchmark the english movies test set

TV Series Support (MVP)

These items track the series feature in general.

  • Remove mediaItem Dialog:
    • always show the affected location full path
    • differentiate Movies, Series and Episodes
  • update "lastAccessAt" also for the series as well as any duplicate (and not only for the episode)
  • function: updateSeriesMetadataFromEpisodes
    • Audio Formats
    • Release Attributes
    • Audio Languages
    • Subtitle Languages
    • Video Encoders
    • Video Qualities (multiple!)
      • tbl_Movies_MI_Qualities: also use for filtering!
  • Medialist: check if the image for episodes can be set to "fit height"
  • Filters - the numbers should represent either movies or series
  • Dialogs: most of them do not utilize mediaType
    • Generalize to MediaPropertyDialog:
      • provide movies and series lists (and episodes lists)? it's probably interesting to see these even if a person etc. has been opened from a series...
      • act as a dialog for movies
      • act as a dialog for series
      • act as a dialog for episodes (of a certain series)
      • debounce the init() function and call it on any property change, with 10ms debounce
  • find IMDB tconst and provide metadata for the series and episodes
  • provide series in a different route
    • integrate old dialogs:
      • AgeRatingDialog
      • AudioFormatDialog
      • CompanyDialog
      • FilmingLocationDialog
      • GenreDialog
      • LanguageDialog -> audioLanguageDialog + subtitleLanguageDialog
      • PlotKeywordDialog
      • ReleaseAttributeDialog
      • VideoEncoderDialog
      • VideoQualityDialog
      • PersonDialog
  • new symbol for "opening" a series and changing the screen to its eposiodes
  • Series / Episode detection in directory/filenames, examples:
    • "S01E01" - the default
    • "Ep01" - as seen with some anime stuff
    • "E01" - episode without season - assume S01
    • "1x5" - same as S01E05
    • "S01E01E02" - multiple episodes
    • "S01E01-E03" - multiple episodes
    • "S01E01E02E03" - multiple episodes
    • "S01E01-03" - multiple episodes
  • assign series episode imdb tconst when episode number is 0 (imdb provides null in this case)
  • add "Season and Episode" sort order (only for Episodes specificMediaType)
  • store filters and sort values by specificMediaType ("Movies", "Series", "Episodes")
  • update Series_Num_Episodes and Series_Num_Seasons after an episode has been removed