diff --git a/configuration/homeScreen-configuration.js b/configuration/homeScreen-configuration.js index ec43f65..e486641 100644 --- a/configuration/homeScreen-configuration.js +++ b/configuration/homeScreen-configuration.js @@ -704,7 +704,7 @@ { name: 'New Line Cinema', file: 'New_Line_Cinema.svg' }, { name: 'Paramount Pictures', file: 'Paramount_Pictures.svg' }, { name: 'Pixar', file: 'Pixar.svg' }, - { name: 'Showtime', file: 'Showtime.svg' }, + { name: 'Paramount+ with Showtime', file: 'Paramount+_with_Showtime.svg' }, { name: 'Universal Pictures', file: 'Universal_Pictures.svg' }, { name: 'Walt Disney Pictures', file: 'Walt_Disney_Pictures.svg' }, { name: 'Warner Bros.', file: 'Warner_Bros..svg' }, @@ -2573,6 +2573,8 @@ window.KefinTweaksConfig = ${JSON.stringify(configToBackup, null, 2)};`; ${buildTextInput('discovery-spotlightDiscoveryChance', discovery.spotlightDiscoveryChance ?? 0.5, 'Spotlight Discovery Chance (0-1)', 'number')} ${buildTextInput('discovery-minGenreMovieCount', discovery.minGenreMovieCount || 50, 'Genre Movie Count', 'number')} ${buildTextInput('discovery-minGenreSeriesCount', discovery.minGenreSeriesCount || 10, 'Genre Series Count', 'number')} + ${buildTextInput('discovery-minStudioMovieCount', discovery.minStudioMovieCount || 25, 'Studio Movie Count', 'number')} + ${buildTextInput('discovery-minStudioSeriesCount', discovery.minStudioSeriesCount || 5, 'Studio Series Count', 'number')} `; @@ -2904,6 +2906,8 @@ window.KefinTweaksConfig = ${JSON.stringify(configToBackup, null, 2)};`; infiniteScroll: root.querySelector('#discovery-infiniteScroll')?.checked !== false, minGenreMovieCount: parseInt(root.querySelector('#discovery-minGenreMovieCount')?.value || '50', 10), minGenreSeriesCount: parseInt(root.querySelector('#discovery-minGenreSeriesCount')?.value || '10', 10), + minStudioMovieCount: parseInt(root.querySelector('#discovery-minStudioMovieCount')?.value || '25', 10), + minStudioSeriesCount: parseInt(root.querySelector('#discovery-minStudioSeriesCount')?.value || '5', 10), spotlightDiscoveryChance: parseFloat(root.querySelector('#discovery-spotlightDiscoveryChance')?.value || '0.5'), renderSpotlightAboveMatching: root.querySelector('#discovery-renderSpotlightAboveMatching')?.checked === true, randomizeOrder: root.querySelector('#discovery-randomizeOrder')?.checked === true, diff --git a/pages/images/studios/Paramount+_with_Showtime.svg b/pages/images/studios/Paramount+_with_Showtime.svg new file mode 100644 index 0000000..a93324f --- /dev/null +++ b/pages/images/studios/Paramount+_with_Showtime.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/scripts/homeScreenConfig2.js b/scripts/homeScreenConfig2.js index a360d4f..244418f 100644 --- a/scripts/homeScreenConfig2.js +++ b/scripts/homeScreenConfig2.js @@ -2686,6 +2686,8 @@ infiniteScroll: false, minGenreMovieCount: 50, minGenreSeriesCount: 10, + minStudioMovieCount: 50, + minStudioSeriesCount: 10, defaultItemLimit: 16, defaultSortOrder: "Random", defaultCardFormat: "Poster", diff --git a/scripts/sectionHelper.js b/scripts/sectionHelper.js index 48b4bbc..490f46c 100644 --- a/scripts/sectionHelper.js +++ b/scripts/sectionHelper.js @@ -856,8 +856,13 @@ } if (discoveryType === 'Studio') { + const settings = getDiscoverySettings(); + const minCount = itemType === 'Series' + ? (settings.minStudioSeriesCount ?? settings.minStudioMovieCount ?? 25) + : (settings.minStudioMovieCount ?? 25); + const countField = itemType === 'Series' ? 'SeriesCount' : 'MovieCount'; const dedupe = getStudioDedupeSet(config); - const eligible = pool.filter((s) => s?.Id && !dedupe.has(s.Id)); + const eligible = pool.filter((s) => s?.Id && !dedupe.has(s.Id) && (s[countField] || 0) > minCount); if (!eligible.length) return null; const selected = eligible[Math.floor(Math.random() * eligible.length)]; dedupe.add(selected.Id);