Skip to content

Blake-C/media-player

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MediaPlayer

A macOS media player app built with SwiftUI that reads your media library from the macOS TV app. Browse, search, filter, and play your movies and TV shows with a rich grid-based interface.

Note: This application was written entirely by Claude (Anthropic) and has not been reviewed by a human developer. Use at your own discretion.

Architecture

  • Target: macOS 26
  • UI: SwiftUI + AppKit (AVKit for player)
  • Playback: AVFoundation (AVPlayer, AVPlayerView)
  • Library: iTunesLibrary framework (ITLibrary — reads TV app content)
  • Auth: LocalAuthentication (biometric / password gate for private videos)
  • Persistence: SwiftData (SDMediaItemOverride, SDPlaylist, SDPlaylistItem, SDWatchPosition)
  • Reactive: Swift Observation (@Observable macro)
  • Security: Keychain Services for secure preference storage

Features

Library

  • Reads movie and TV show library from the macOS TV app via iTunesLibrary framework
  • Adaptive grid layout with 16:9 thumbnails
  • TV show grouping by series/season with episode grid drill-down
  • Group by director with dedicated detail view
  • Matched geometry hero transitions between grid and detail views
  • "Continue Watching" row with progress bars for resumable media
  • Hover overlay with quick-action buttons (favorite, private, edit)
  • Context menus on all media cards
  • Multi-select with batch favorite/private operations

Playback

  • Full-screen AVPlayerView with floating controls
  • Picture-in-Picture support
  • Loop playback toggle
  • Watch progress tracking with resume functionality
  • Video zoom / aspect fill toggle
  • DRM-protected content handled by revealing file in Finder
  • Keyboard shortcuts (Space, arrows, M, F, L, C, Escape)

Subtitles

  • Speech-to-text subtitle generation via the Speech framework
  • Subtitle translation into 8 languages via the Translation framework
  • Configurable font size, text color, background style, and opacity

Search, Filter, and Sort

  • Multi-field search (title, director)
  • Filter by genre, director, media kind, duration range, date range
  • Sort by title, date added, date modified, duration, file size

Playlists

  • Create, rename, duplicate, and delete playlists
  • Add/remove assets and reorder items
  • Filter library view by playlist

Privacy

  • Biometric / password authentication gate for private videos
  • Auto-lock after 5 minutes of inactivity
  • Private asset thumbnails evicted from cache on lock
  • Keychain-backed secure preference storage

Other

  • Edit metadata overrides persisted in SwiftData (title, director, genre, synopsis)
  • Media info inspector with technical details (resolution, codec, frame rate, audio info)
  • Settings window (General, Playback, Subtitles, Privacy)
  • Show in Finder from context menu and media info
  • Fullscreen window toggle
  • NSCache-backed thumbnail service with AVAssetImageGenerator fallback
  • Keyboard navigation throughout the grid and player

About

A macOS media player app built with SwiftUI that reads your media library from the macOS TV app. Browse, search, filter, and play your movies and TV shows with a rich grid-based interface.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages