Skip to content
View in the app

A better way to browse. Learn more.

PreShow Experience

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Leaderboard

Popular Content

Showing content with the highest reputation since 02/26/2025 in all areas

  1. Hey @Quebert . Welcome back. It's always great to hear from people that enjoy PreShow, and the versions prior to it. The conditions were developed by the person before me. An upcoming versions of PreShow will include metadata so that you can display more relevant trivia. The goal is to create the conditions at the content level instead of at the sequence level so that you can use 1 sequence for a wide variety of content. More specifically, the 1st version will look at rating and genres and deliver content that is a better match to your movie. For example, if you are watching an R rated horror movie you won't be getting Pixar trivia, and vice versa. The latest version of PreShow in the repo already includes the 1st version of metadata for video bumpers. I also have options for release year, director and cast to better refine the content, but that will be in development/testing for a long while. Thanks for your post.
  2. The updated file is also in the alpha of the latest version in the repo.
  3. I'm going to release a new version of PreShow, hopefully this weekend, with a solution that should take care of this issue. I have attached the updated python file that control actions with the potential fix. The file goes in your kodi addon directory in the following folder: script.preshowexperience > lib > preshowexperience Below is a guide to where the kodi folder is. The addon folders is located inside of this, so add addons/script.preshowexperience/lib/preshowexperience to find the location where the action file goes. Android Android/data/org.xbmc.kodi/files/.kodi Flatpak ~/.var/app/tv.kodi.Kodi/data iOS /private/var/mobile/Library/Preferences/Kodi LibreELEC /storage/.kodi Linux ~/.kodi Linux (Flatpak) ~/.var/app/tv.kodi.Kodi macOS /Users/<your_user_name>/Library/Application Support/Kodi Nvidia Shield (SMB) smb://<nvidiashieldurl>/internal/Android/data/org.xbmc.kodi/files/.kodi OSMC /home/osmc/.kodi tvOS /private/var/mobile/Library/Preferences/Kodi WebOS /media/developer/apps/usr/palm/applications/org.xbmc.kodi/.kodi Windows C:\Users\<YourUsername>\AppData\Roaming\Kodi Windows Portable <Install location chosen by you>\portable_data Windows Xbox %LOCALAPPDATA%\Packages\XBMCFoundation.Kodi_4n2hpmxwrvr6p\LocalCache\Roaming\Kodi\ If you don't know hot to copy the file to this location, please wait for the updated version of PreShow that will include the change. actions.py
    • 51 downloads
    A collection of trivia slides pulled from the AFI Get the Picture daily quizzes at https://www.afi.com/get-the-picture/ These represent the quizzes from #1000-1150. There are 3 slides for each movie: AFI_Get_the_Picture_Trivia_Question1_q.jpg --> Question slide with screenshot and 5 options for movie title AFI_Get_the_Picture_Trivia_Question1_c1.jpg --> Clue/answer slide with highlighted correct answer AFI_Get_the_Picture_Trivia_Question1_a.jpg --> Answer/fact slide with correct title and some info about the movie I wasn't sure how PSE handles the fact slides and so named them as above. Should be pretty easy to rename if you want to organize them differently. I used a script to generate the slides, but tried to check them all before uploading. Let me know if you notice any formatting issues etc.
  4. FIXED! It seemed like the Kodi App had all permissions (4 out of 4), but opening up "Storage" revealed it only had Read permission. Completely my own mistake. Hopefully, @JustRob and others might find this helpful.
    • 247 downloads
    • Version 1.0.0
    Dolby's "Natures Fury" bumper is a great Atmos audio showcase but visually it was lacking as it is only 1080p and washed out when compared to "Core Universe" which has additional Dolby Vision showcases as well as being in 2160p. I've taken the higher quality footage from Core Universe and rebuilt Natures Fury while keeping the original Atmos audio intact. Dolby vision has been removed and the video tone mapped to rec 709. Additional AI enhancement was done to bring out a little more detail in the footage. I find this version preferable to the original not only because of the improved clarity and colours but it also works better for a feature presentation, the original version ends with: Whereas this edit finishes with:
  5. I've been working on a system that generates movie-specific content on the fly every time you launch a PreShow sequence. Instead of static slides, PSE now dynamically creates a "Tonight's Feature" title card and (optionally) 30 custom trivia slides tailored to whatever film you're about to watch. I wanted to share the approach in case others want to build on it. Here's what it looks like in practice: you press Start PreShow on "Fargo," and a few seconds later your sequence opens with a custom title card reading "FARGO" on a theater marquee background, followed by 30 slides of trivia, behind-the-scenes facts, and Q&A specific to that film — all generated fresh every time. The ProblemPSE's slideshow module is great for static trivia packs, but I wanted content that adapts to whatever movie I'm watching. The challenge is that PSE caches slideshow content when it builds the sequence, so you can't just generate images asynchronously and hope they show up in time. I tried a lot of approaches that didn't work before finding one that does: Action module with Python script — PSE runs Python actions inside Kodi's embedded Python, which doesn't have libraries like Pillow installed. Also runs asynchronously — PSE moves to the next module before the script finishes. Generating images and hoping the slideshow picks them up — PSE caches the slide directory contents at sequence build time. If your images aren't there yet, they won't appear. Overwriting existing placeholder images — PSE caches the actual image data, not the file reference. Overwriting the file after caching has no effect. Skin button interception — Tried adding a RunScript call before PSE launches from the skin's context menu. Unreliable timing. The Solution: Hooking into experience.pyThe key insight is that PSE resolves the feature film's metadata (title, genre, year, cast, etc.) before it builds and caches the sequence. There's a window between "PSE knows what movie you picked" and "PSE scans the slideshow directories" where we can inject code. The hook goes into PSE's experience.py, specifically in the method that resolves the feature film from Kodi's library. After PSE appends the feature to its internal list, we write the metadata to temp files and call external Python scripts that generate our content: # In experience.py, after self.features.append(feature) # and before "if not self.features: return False" if self.features and self.features[-1].title: import subprocess import json as _json _feat = self.features[-1] # Write title for the compositing script with open("/tmp/pse_feature_title.txt", "w") as _f: _f.write(_feat.title) # Write full metadata as JSON for other scripts _meta = { "title": _feat.title, "year": getattr(_feat, "year", 0), "genres": getattr(_feat, "genres", []), "directors": getattr(_feat, "directors", []), "cast": getattr(_feat, "cast", [])[:10], "rating": str(getattr(_feat, "rating", "")), "runtime": getattr(_feat, "runtime", 0), } with open("/tmp/pse_feature_metadata.json", "w") as _f: _json.dump(_meta, _f) # Run content generation scripts (synchronous — PSE waits) subprocess.call(["/usr/bin/python3", "/path/to/your/script.py"]) The critical detail is subprocess.call — this blocks PSE until the script finishes. PSE doesn't proceed to sequence building until our content is generated and sitting in the slideshow directory. Important: We call /usr/bin/python3 (system Python) rather than running inside Kodi's Python. This gives us access to any pip-installed library — Pillow for image compositing, requests for API calls, whatever you need. Kodi's embedded Python is limited to its bundled packages. Finding the Right SpotTo find where to inject, look for this pattern in experience.py: feature = self.featureFromId(movieid, episodeid) if feature: self.features.append(feature) # >>> YOUR HOOK GOES HERE <<< if not self.features: return False return True Search for self.features.append(feature) near featureFromId — there's one instance in the method that handles the "Start PreShow" button press. On my install it's around line 1060. After editing, you must delete the bytecode cache or Kodi will keep running the old version: rm ~/.kodi/addons/script.preshowexperience/resources/lib/__pycache__/experience.cpython-*.pyc Then restart Kodi. What You Can Build With ThisOnce you have the hook in place, the feature metadata is available to any external script. Here's what's in the self.features[-1] object: title — Movie title year — Release year genres — List of genres (Action, Horror, Drama, etc.) directors — Director names cast — Cast list with names and roles rating — MPAA rating runtime — Runtime in seconds studios — Studio names tags — Kodi library tags With this data you could: Generate a custom "Tonight's Feature" title card with the movie name Create genre-themed trivia (horror trivia for horror films, sci-fi for sci-fi) Select decade-appropriate trailers by dynamically populating a trailer directory Generate MPAA-style rating cards Pick studio-specific intro bumpers Call an AI API to generate movie-specific trivia and Q&A slides Create "on this day in cinema history" slides based on the current date and film era Example 1: Dynamic Title CardMy first use case was a "Tonight's Feature" title card — a theater marquee background with the movie title composited in a vintage font. The script reads the title from the temp file, uses Pillow to render text onto a template image, and saves it to a slideshow directory. The core of the compositing script: from PIL import Image, ImageDraw, ImageFont def generate_title_card(title): # Load background template img = Image.open("/tmp/template.png") draw = ImageDraw.Draw(img) font = ImageFont.truetype("/tmp/myfont.ttf", 80) # Center the title bbox = draw.textbbox((0, 0), title.upper(), font=font) text_w = bbox[2] - bbox[0] x = (1920 - text_w) // 2 draw.text((x, 450), title.upper(), font=font, fill=(0, 0, 0)) img.save("/path/to/pse/Slideshow/Tonight/tonight.png") The real script has auto-sizing logic (shrinks the font for long titles), word wrapping, and handles the CIFS font loading issue (Pillow can't load fonts from network shares — copy to /tmp/ first). But the concept is this simple. In the PSE sequence, a Slideshow module points at the Tonight directory and displays whatever image is in there. Runtime: About 1.4 seconds on a Vero 5. Barely noticeable in the PSE launch flow. Example 2: AI-Generated Trivia SlidesThe more ambitious extension calls the Claude API with the movie's metadata and asks it to generate trivia facts and Q&A pairs. The response is parsed and rendered into 30 slides — 10 trivia facts plus 10 question/answer pairs (20 slides). The flow: import json import urllib.request def generate_trivia(metadata): api_key = open("/home/user/.config/pse/api.key").read().strip() prompt = f"""Generate trivia about "{metadata['title']}" ({metadata['year']}). Director: {', '.join(metadata['directors'])} Cast: {', '.join(metadata['cast'][:5])} Return JSON with: - 10 trivia facts (behind the scenes, connections, legacy, etc.) - 10 Q&A pairs (movie trivia questions with answers) """ payload = json.dumps({ "model": "claude-sonnet-4-20250514", "max_tokens": 6000, "messages": [{"role": "user", "content": prompt}] }).encode() req = urllib.request.Request("https://api.anthropic.com/v1/messages", data=payload) req.add_header("Content-Type", "application/json") req.add_header("x-api-key", api_key) req.add_header("anthropic-version", "2023-06-01") resp = urllib.request.urlopen(req, timeout=30) data = json.loads(resp.read()) trivia = json.loads(data['content'][0]['text']) # Render each item as a slide image with Pillow for i, item in enumerate(trivia): render_slide(item, i, metadata['title']) Each slide gets rendered with a vintage cinema aesthetic — dark background, golden category headers, cream body text, decorative borders. Question slides use blue headers, answer slides use green. The trivia generation is opt-in — I have a toggle script that creates/removes a flag file (/tmp/pse_trivia_enabled). The generation script checks for this file and skips if it's not there. A Kodi notification confirms the toggle state. Runtime: About 8-10 seconds for the API call plus slide rendering. A progress notification shows during generation so you know it's working. Tips for ImplementationCIFS/Network Share Gotcha: If your PSE content lives on a network share, Pillow's FreeType library cannot load fonts from CIFS mounts. Always copy fonts and templates to /tmp/ before opening them with Pillow. Bytecode Cache: Kodi caches compiled Python as .pyc files. Every time you edit experience.py, delete the cache and restart Kodi or your changes won't take effect. PSE Updates: When PSE updates, experience.py gets overwritten. Keep a backup of your modified version and re-apply the hook after updates. The hook is small enough that re-applying takes 30 seconds. Testing: You can test your generation scripts independently from the command line: echo "Alien" > /tmp/pse_feature_title.txt echo '{"title":"Alien","year":1979,"genres":["Horror","Sci-Fi"],"directors":["Ridley Scott"]}' > /tmp/pse_feature_metadata.json python3 /path/to/your/script.py Then check the output directory for your generated slides. Keep Scripts Fast: Since subprocess.call blocks PSE initialization, your scripts need to finish in a reasonable time. The title card takes ~1.4 seconds, the AI trivia takes ~8-10 seconds. Much longer than that and the delay before the sequence starts becomes noticeable. Sequence SetupMy PSE sequence order: Slideshow — Tonight directory (dynamic title card, 30-60 second duration) Slideshow — Trivia directory (AI trivia slides, 10 second per slide) Trailer modules Audio Format Bumper Action — Enable refresh rate switching Feature The two slideshow modules point at directories that get populated fresh every time by the hook scripts. Everything else in the sequence is standard PSE configuration. What's NextI'm exploring a few more ideas with this system: dynamically selecting trailer folders based on the feature's genre/decade, generating "cinema history" slides that tie the film to its cultural moment, and creating custom intermission cards for double features. The hook pattern is flexible enough that any script with access to the movie metadata can feed content into the sequence. If anyone builds on this or has questions about the implementation, happy to help. The hardest part was figuring out the right injection point — once that's solved, the rest is just Python scripting.
  6. Great work on this. I have a lot of new functionality that I've worked on with PreShow that is on a similar path to this. I may add an action or similar functionality to make it easier to do stuff like this without the need to modify PreShow.
  7. I was working on a customized Intro with Davinci Resolve. The mixing of the atmos sound was quite time consuming, why I lost motivation at some point. But I will give it another try and add a voice and test, if it still sounds super cheap. If not, I will maybe be motivated to continue on it
  8. Yea but just the simple stuff Warner Brothers and other studios intros changed to my theater name , simpler stuff like that
  9. ffmpeg had the functionality, but Kodi didn't update to a version with it. I don't think it was a simple replace to update it, so it took them a while. I wouldn't change the names of your movies. I'm not going to remove the functionality for the file names, so having them named that way will guarantee that they load the appropriate bumper. There's no need for you to risk kodi losing any info for your movies by changing the name. I don't think Auro 3d will be included, just Atmos and DTS:X. I've been slowly working on new stuff for PreShow, and hope to make some huge improvements this year.
  10. It looks like Kodi 22 recognizes Atmos and DTS:X. I'll see what I can update when it is official.
  11. The folder for local trailer files does not scan nfo files. The genre match is only for online or kodi trailers. It's been a while since I've done anything with it, but I think it is set up to use genres for local trailers that are set with tinyMediaManager. It seemed at the time that people that used static local trailers all used that to integrate their files in kodi and it was a better solution that having them set it up again in PreShow. I think that most people that use the PreShow trailers folder have some other method for maintaining their files and don't leave them in there forever. The beta versions of PreShow have more dynamic content options, and while there isn't currently an option for the trailers folder, there could be a simple workaround for it. The current, and complicated, way to do it entirely inside of PreShow would be to set up folders for the ratings and then set multiple sequences with conditions for the ratings. Let me know if that makes sense and if I can do anything to explain further or help you out with your current configuration.
  12. The trailers will work on the latest versions of PreShow without an update. Trailers used to require updates every time they broke, so I added a website middleware to do the scraping portion of it and PreShow now just looks at that link. That being said, PreShow doesn't delete all your current trailer records and install the new ones. You can reset your content database and scan your content to make sure that you are getting the latest content, if you want to see the new trailers immediately. Also, the trailers can only be scraped a max of 1 time a day.
  13. Using the context menu as you are doing is how you have to do it if your skin doesn't have a PreShow button. Some skins have a separate button that launches PreShow and also hides the loading. Here are 2 skins that have been modified to work with PreShow: https://preshowexperience.com/files/category/7-skins/ I need to make a guide on how to do this, but it is a skin issue that I can't change from within PreShow. Kodi doesn't allow the play button to be modified.
    This is not only a must have add on to the Movie Poster App, but also a great resource for any movie enthusiast. It may be the largest repository of movie studio logos in existence.
  14. 1 point
    Hi, thanks for the link. I was able to test it without any problems. The DS Player is integrated into Kodi, so the lights turn off and on again as desired at start and end – everything works perfectly. The only thing that's not quite right is the aspect ratio: It always runs in full screen mode instead of 21:9.
  15. 1 point
    The credits trigger only work if using Kodi's built-in videoplayer. PSE doesn't communicate directly with external players like MPC-BE or mpv.
  16. Are you asking where you can download trailers? Here is where I get mine. They're VERY large but good quality, though you'll need to likely download to know which are Green trailers. https://www.digital-digest.com/movies/
    This is a great addition to Movie Poster! This makes everything pop even more! Thanks so much for your hard work!
  17. Hopefully, I will try to give the python file a try in the next days and see if it works
  18. The way that they implemented the https is a bit strange. They require that the security certificate be passed to the hue prior to submitting the api web request. Getting the Hue lights to work in PreShow is already difficult for most people. Even if I provide instructions for how to do it, I think it would end creating more confusion and get me into more tech support than I can handle for it. My current solution should be considered temporary, but that may not change how to proceed. The issue is that the https link gives a security error, which is what PreShow will see instead of connecting to the bridge. The current fix is to ignore that error, so that the https works like a standard http link and passes calls to the bridge. Ultimately, people will probably have to change the http to https in their action files. At some point I'll go in and see if I can add code into PreShow to handle passing the security certificate to make it easier for people. I'm not sure if that will require additional changes to your action files or not at this point.
  19. AFI Greatest Movie Musicals AFI Greatest Movie Musicals - List from AFI's website and artwork from fanart.tv and themoviedb.org File Information Submitter starslayer74 Submitted 07/09/2025 Category Trivia View File
  20. Random Trivia Random Trivia slides from the Coke-A-Cola slides someone on the AVS forums made like 15 years ago. He had did 6 volumes, this is all 6 in 1 zip. File Information Submitter Quebert Submitted 04/02/2025 Category Trivia View File
  21. I tried to create an action file/python combo to change the allow skipping. It didn't work in the middle bof the sequence, but I'll test it further when I get time.
  22. I use an external player with Kodi and it works well. Since all my movies in my library are in the mkv format I have the playercorefactory.xml set up to only use the external player for mkv files. All downloaded trailers and video bumpers are mp4 (or I rename them to mp4) so Kodi's internal player will take care of those.
  23. I'm planning on releasing updates to some of the old content when I get the new trivia functionality completed. I'll post back when that happens.
  24. @suchmich1983 There are some errors for jellyfin and a random youtube one, but I'm not seeing an exact cause from the logs. I'll try to set up a windows box to test and will respond back with any findings.
    • 40 downloads
    Best Picture Winner 2023-2024 Update Pack
  25. Best Actress 2023-2024 Update pack Update to the Best Actress Oscar winners for 2023 and 2024 File Information Submitter starslayer74 Submitted 04/11/2025 Category Trivia View File
  26. Disney Trivia Disney Trivia File Information Submitter Quebert Submitted 04/03/2025 Category Trivia View File
  27. Kids Trivia Kids movies trivia File Information Submitter Quebert Submitted 04/03/2025 Category Trivia View File
    • 57 downloads
    Slides of top 10 grossing blockbusters from 1980-2013
    • 10 downloads
    Jungle Book Trivia slides
  28. This setup sounds like a lot of fun. The upcoming versions of PreShow are basically a way to do this exact thing with only 1 sequence. What are you doing to show trailers related to the year of your movie?
  29. The PreShow Experience addon for Kodi. It's the #1 "wow factor" when someone sees it in action for the first time -- trivia, intros, trailers, Philips Hue lighting control. It creates a very unique home theater experience.
  30. If its there im useing it 🤣 If your coming to my theater your on for the full experience.. I'll stick gum underneath your seat if i have to ...
    • 95 downloads
    This ZIP file includes two modified versions of the original Coke Thirst Dolby Masters Video. Additional text added to make it a little more interesting. The intro can be shown during an intermission of the presentation. Have fun! File Details: File Name: Coke_Thirst_Dolby_Masters_Modified_Intermission_Bumpers.zip File Contents: Coke_Thirst_Dolby_Masters_SCOPE_7.1_BUMPER.mp4 Coke_Thirst_Dolby_Masters_FLAT_7.1_BUMPER.mp4 Video Length: 00:00:29 Audio Format: Stereo Note: If I am able to remix to Dolby Atmos, will be added a new version of this later. PS: File Name contains 7.1 so that Kodi Skin at least picks up the Dolby 7.1 Flag 😅
    • 90 downloads
    • Version 0.0.1
    This is beta - it SHOULD work - i have tested and existing settings all stick. this mod also makes the PreShow action the default focus when in the Video Dialog window. even made a custom PreShow icon from the O in the PreShow logo. things i noticed. if you install the artic zephyr skin after you install PreShow Experience, PreShow might not show in the context menu. just uninstall preshow (be sure to select NO when it asks to delete the settings/files) and reinstall. it will then have the context menu. this might have been a me thing as i was tired when running tests LOL if you set your "play" action to open information, two presses of select on a movie title will launch PreShow as it is the action in focus in the Info window
  31. Hi guys, is anyone able to update this mod for Kodi 21? Or could give me an introduction in how to do it myself? That would be great since my Shield auto-updated Kodi🤦‍♂️
    • 4,895 downloads
    • Version 0.3.2.1
    PreShow Experience is a Kodi add-on to provide a movie theater experience for your home! It works with Kodi 19 and up.
  32. I'm getting ready to fully generate my Oscar slides. My version of Canva (free) is limited to generate at 1380x760 but I am considering upgrading to save them at a higher resolution. I'm not sure what resolution to save at, so I wanted to get some input on that. Also, since this has been a labor of love, I am considering using an online file resizer for free but I wasn't sure about quality of that vs exporting them from Canva at the higher resolution.... All total we're looking at approximately 500 slides covering Best Actor, Best Actress, Supporting Actor, Supporting Actress, and Best picture winners from the very first Oscars to 2022. I attached some examples (using dummy data on the example because I was working on mock-ups) My next project is going to be movie quotes slides but I'm struggling determining how to format those. Also a word of caution for anyone who wants to create slides: DON'T TRUST WIKIPEDIA OR AI - Neither one of them provided accurate information for Oscars data. I was cross checking my AI generated data and discovered HUGE glaring issues including years, winners names, etc. I ended up going straight to the Oscars website to get accurate information, even though it required more manual work on my side.
  33. View File IMAX Cliffhanger Submitter Matt Submitted 11/27/2023 Category Company  
  34. Deprecation of HTTP supportWith the RED compliance being effective per 1st August, all firmware releases being released will no longer support HTTP. The Hue API should be accessed exclusively over TLS (HTTPS) to protect personal and sensitive information even better. Guidance on implementation can be found in our application design guidance.
This leaderboard is set to New York/GMT-05:00

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.