- Feb 17, 2025
-
-
Diogo Simao Marques authored
The structs and the enum stored in the file are now exposed on visionOS in order to fix the compilation errors.
-
Diogo Simao Marques authored
This setting is disabled by default and once enabled, the view will automatically scroll to the currently playing media.
-
Diogo Simao Marques authored
The coding style has been reviewed in several files and some chunks of code have been refactored to be simplified. The missing break statements have also been added to the switch cases.
-
-
Remove any direct usage of optionals
-
Extenstions: UserDefaults with codable models Added user defaults functions to save and retrieve custom codable models. MediaCategoryViewController: Cached current playing model Added Helper function to cache current playing model. This should help handling scrolling for a media files inside different collection types. MediaLibraryModel: Adapt Equatable protocol set CollectionMediaType enum to be adaptable to Equatable protocol at CurrentPlayingModol MediaCategoryViewController: Automatic Scrolling to current playing media Added helper functions to scroll to the current playing media. this should handle scrolling for all media types and collections. It also hanldes scrolling inside playlists and mediaGroups even if the viewed collection is not the current playing collection. MediaCategoryViewController: Reset Current Playing Model Value hanlde removing the current playing model from the userDefaults when the playback stops MediaCategoryViewController: Set Highlight Animation to Current Playing Cell Added Highlight animation after auto scrolling to current playing cell index with consideration of media cell type. Fixed getting index through play function. MediaCategoryViewController: Auto scrolling for playing Various Artists Handled case of playing an album of various artist, this should fix auto scrolling bug in the artists tab MediaCategoryViewController: Fixed auto scrolling when playing an album MediaCategoryViewController: Handle VariousArtits Collection Scrolling This should fix scrolling to current media inside a Various artist collection bug. Fixed scrolling and highlighting wrong index bug when playing a signle media with queue. MediaCategoryViewController: Added auto scrolling to Songs model playing with queue This should enable handling scrolling with highlighting animation to current media in Songs tab when playing media with one of queue options. MediaCategoryViewController: Scrolling for signle media groups This should hanlde scrolling and highlighting single media groups in case of playing video from other collection type such as playlist. MediaCategoryViewCotroller: Auto scrolling highlighting delay Set starting animation delay only when scrolling animation is active with using of scrollViewDidEndScrollingAnimation delegate function. MediaCategoryViewController: Added Reduced Motion Check For animation This should reduce animation time and alpha change value to be suitable for accessability constraints MediaLibraryModels: Refactored CurrentlyPlayingCollectionModel Removed duplicated structs and Codable Protocol MediaLibraryService: Save Currently Playing Collection Added a helper function to be called from MediaCategoryViewController to set the currently playing collection with model type. This will eliminate the need for UserDefaults usage. MediaCategoryViewController: Removed Current Model Check for Auto Scrolling Removed Current Model Helper Check for auto scrolling to current playing item. editted delay value for ShouldHighlightCurrentPlaying(). Depending on MediaLibraryService CurrentPlayingCollection variable for execution of Auto Scrolling Logic.
-
Craig Reyenga authored
-
Craig Reyenga authored
-
Craig Reyenga authored
-
Craig Reyenga authored
-
Craig Reyenga authored
-
Craig Reyenga authored
-
Craig Reyenga authored
-
Craig Reyenga authored
-
Craig Reyenga authored
-
- Feb 16, 2025
-
-
Felix Paul Kühne authored
-
The coding style has been reviewed in several files and some chunks of code have been simplified.
-
This should hide the angled arrow in playlist cell for only last played one. This makes the indicator more cleaner and clearer.
-
-
MediaCategoryViewController: Save currently playing playlist capture the current playing playlist with cell didSelect action and presist the data in user defaults. MediaCatogoryViewController: Save last played playlist through Gestures Capture the last played playlist which is selected through long press gestures with actions of play, append to queue and play next in queue when the queue is empty. Extensions: Added UserDefaults extension for custom types Added two function for decoding and encoding custom types and save it to user defaults MediaLibrary Models: Added last played Playlist model Helper model to presist last played playlist necessary data in user defaults MediaCategoryViewController: Save last played playlist function Updated function to be able to cache custom type using UserDefaults Extensions: fixed UserDefaults function naming rename function name and parameters to fix the issue of recursive call of UserDefaults super set function VLCPlaybackService: Added will stop observer Addded observer when playback will stop. for catching last played media and notify view to reload data for updating the last played playlist label MediaCollectionViewCell:Added Last Played Indicator Label Take advantage of newLabel and use it in playlist cells to show an indicator of the last played playlist. Set a condition for only showing the label during only the active playback VLCPlaybackService: Added New Playabck Observer Added new playback observer name for Playback Will Stop State in the header file MediaCollectionViewCell: Fixed Showing LastPlayed Label Fixed showing last played label when the playback is active and in some cases of playlist in player queue MediaCategoryViewController: Fixed Removing Observer Bug Handling adding and removing observer in all cases like long tap menu actions, and playing a single playlist media when the player is activily playing a queue. Handling reloading data in all playing cases Localization: Added Last played playlist label title Added English localization for last played label and set it in MediaCollectionViewCell class MovieCollectionViewCell: Adapt last played playlist indicator MediaCategoryViewController: Fixed Minor coding style violation removed Debugging Print statements, and fixed else if style LastPlayedPlaylistModel: Added Last Played Media Model Added LastPlayedPlaylistMedia to indicate the last played media in a given playlist. MediaCategoryViewController: Saving last played media addition Refactored saveCurrentPlaylistInfo and added lastPlayedPlaylistMedia model to it. This will presist the last played media in playlist and updated funcion calls arguments Added LastPlaylistPlayedMedia Key VLCPlaybackService: Update PlaybackWillStop Observer user info get the current playing media before the playback stops and fetch this media in VLCMLMedia type. Attached this media to PlaybackWillStop userInfo MediaCategoryViewController: Captured last played media Using the userInfo posted by PlaybackWillStop observer. presisted the media data and its given playlist to indicate the UI to show last played one MediaCategoryViewController: Check the last played media in a given playlist Check for the view model if it the last played playlist. depending on the check result, checking for the last played media in this given playlist to show it as lastPlayedMedia MediaCateogoryViewController: Added isLastMedia to check condition MediaCollectionViewCell: Last played indicator for VLCMLMedia Added functionality to show last played label in the last played media when playback is stopped MovieCollectionViewCell: Last played label Added last played label to GroupView to indicate last played playlist in Grid mode MediaCollectionViewCell: Fixed CheckImageView on selection bug Removed unnecessary statement of hiding CheckImageView in setting last played label function MediaCollectionViewCell: Updated Last played indicator logic Added the logic to show last played indicator for audio media types MediaCollectionViewCell: Fixed coding style MovieCollectionViewCell: Fixed Coding Style VLCPlaybackService: Limited PlaybackWillStop Observation Limited Posting a notification for PlaybackWillStop observers to only iOS OS MediaCategoryViewController: Limited Lastplayed media observation Limited Observing on PlaybackWillStop Observer to iOS only. also limited last played playlist indication helper functions LastPlayedPlaylistModel: Removed unnecessary initializer Removed Initializer and set model properties to non optional value. Moved them to PlaylistModel file MediaCategoryViewController: LastPlayedPlaylistModel nil-safety Added optional binding to function that uses LastPlayedPlaylist Model MediaCategoryViewController: Refactored checking last played playlist cell Refactored the code responsible for checking last played playlist and last played media in a given playlist. removed duplicates. MediaCategoryViewController: Removed unneeded OS checking MediaCollectionViewCell: Handled updating newLabel This should fix showing of last played text in the newlabel for the New Media MediaCategoryViewController: Refactored observing last played playlist logic Removed Static variable and added observer to handle caching only playlist model to indicate the last played one. VLCConstants: Added CurrentPlaylistQueueIds Key PlaylistModel: Added CurrentPlaylistQueueInfo model This helper model is used in currentPlaylistMediasQueue dictionary which helps to indicate the last played media correctly for Queue playing options. MediaCategoryViewController: Ability to indicate last played media from the queue This should solve the issue of the last played media indication for a given playlist when the queue has different medias from different playlists with the Using of mediaId, playlistId and playlistTitle. MediaCategoryViewController: Refactor Handling Player Queue Playlist This should refactor the method used in catching the last playlist from the queue when it contains multiple playlists. Solved some code style comments.Removed using json encoding and decoding with user defaults. MediaCategoryViewController: Refactor Handling Player Queue Playlist This should refactor the method used in catching the last playlist from the queue when it contains multiple playlists. Solved some code style comments.Removed using json encoding and decoding with user defaults. MediaCategoryCollectionCells: Refactored Hiding the last played label This should change the cases of hiding and showing last played label. hiding the label when currently playling collection is a playlist, otherwise it will be shown. PlaylistModel: Refactored LastPlayedPlaylistModel to adapt NSCoding This should enable the encoding and decoding using NSKeyedUnarchiver and NSKeyedarchiver to store it in userDefaults. PlaybackCacheHelper: Cache the current queue medias playlists This should cache the media's playlist info played with actions [playNextInQueue, appendToQueue].It is a helper for catching the last played playlist in a queue with more than one playlist or a different medias from different playlists. MediaCategoryViewController: Changed collectionSelectedIndex variable type This should change the type of the collectionSelectedIndex to optional IndexPath for more memory saftey MediaCollectionViewCell: Refactored Last Played functionality This should refactor the functionality of handling the last played label. MediaCategoryViewController: Save last played when app is terminated This should add the ability to update the last played value from any viewed model.The last logic only updates the value if the view model is a playlist or a playlist media collection. Removed the dependancy on optional values in last played helper methods.
-
Felix Paul Kühne authored
-
Felix Paul Kühne authored
-
Felix Paul Kühne authored
-
This introduces a new small feature to enhance the user experience when resuming playback of video media content. Logic: * If the user has a viewing history, the button plays the last watched media using the history model. * In cases where the history is empty or cleared, the button plays the first media of the media group, whether it's a single or a collection.
-
Felix Paul Kühne authored
-
Private methods are now properly located in the private extension and the few useless spaces have been removed.
-
The localized strings previously added are now more relevant to the context here.
-
Added: status message for playlist media addition action Fixed StatusLabel constraints Added localization to playlist action status message Removed Podfile.lock changes Fixed: Status message for mediaGroup Added add media alert Fixed Presenting Alert Warning Refactored Alert Functionality and Added Localization Changed skip alert button style Updated Adding Existed media logic Removed useless white spaces Fixed updating count bug in AddToCollectionView EditActions: Fixed Coding styles comments EditActions: Removed Forcing unwrapping from presented view removed force unwrapping from current presentedView and replace it with optional binding EditActions: Fixed addCollectionViewController dismiss for MediaGroups Fixed the bug of not dismissing the view when adding new media to mediaGroups. Discard Podfile.lock Changes
-
Felix Paul Kühne authored
-
Adding the reloadPlayQueue helper fixes the crash after trying to remove a cell of play queue in the video player.
-
The reloadPlayQueue helper is added in the PlayerViewController instead of the AudioPlayerViewController as its action can be abstracted.
-
Avoid deleting the selected cell in both the data source and the collection view in order to avoid any mismatch with the definitive output. Only the data source is impacted and therefore updates the the collection view.
-
The playback service already stops the playback accordingly with the repeat mode selected when the last item is ended or being skipped.
-
Replace Playing media at a specific index with the playbackService removeMediaFromMediaList method. Handle removing the last media in some repeat modes to avoid UI Crashes or CollectionView Updates Exception.
-
This Fixes the Nil Exception that happens when using playbackService removeMediaFromMediaList in QueueViewController. Removing media from player queue when AudioPlayerViewController is opened will work by this delegate function.
-
-
this removes the delegate protocol and its fuction and the delete button from the xib.
-
This should fix playing the wrong next index in the queue issue when removing the currently playing media.
-
This Should handle the case of removing the currently playing media from the queue and change the playback with an appropraite media value. Performs a batch updates to the queueCollectionView after removal to reload correctly. enhances the old delete method logic.
-
-