Extension: omni.kit.playlist.core-1.3.6 |
Documentation Generated: Jul 30, 2025 |
Overview#
The omni.kit.playlist.core extension provides a core application programming interface for managing camera playlists. It defines the data structures, playback controls, and associated utilities required to build playlist functionality within Omniverse Kit. This extension standardizes playlist item management and playback behavior through a clear set of models, players, and control APIs.
Concepts#
Play Modes: Defines constants for transition styles (e.g., cut or smooth) to control how playlist items transition during playback.
Playlist Models: Represents a playlist as a collection of items, with support for both user-defined and system-managed playlists.
Playlist Cards: Organizes and displays content within playlists using card items that encapsulate metadata and presentation properties.
Functionality#
Playback Control: Provides a PlaylistPlayer class with methods for starting, stopping, and navigating through playlist items. The extension supports different playback approaches (timer-based and animation-based) to suit various playback scenarios.
Playlist Management: Offers a PlaylistModel for managing the sequence of playlist items, including insertion, removal, and update notifications. A specialized SystemPlaylistModel enforces constraints for system-level playlists.
Event Subscription and Navigation: Through the PlayManager API, users can subscribe to events when the current playlist or active item changes, and navigate through items using next, previous, or direct index selection.
Key Components#
PlayMode: Provide constants for configuring playlists.
PlaylistPlayer: The core PlaylistPlayer class encapsulates the playback logic, allowing for customizable start positions, timing settings, and transition behaviors.
Data Structures: PlaylistModel and SystemPlaylistModel hold playlist data and manage update events. The Column and CardItem classes define the structure and presentation of playlist items.
PlaylistCard and Enumeration: PlaylistCard centralizes the attributes for individual content items while enum_playlist_cards offers discovery of valid playlist cards from an active USD stage.
PlayManager: Acts as a centralized controller for initiating playback, subscribing to changes, and navigating between playlist items. The get_play_manager API facilitates access to this management interface.
Settings#
The extension support a configuration flag (/exts/omni.kit.playlist.core/smooth_with_time_sampling) that affects the playback timing behavior. This setting can be adjusted through the extension settings to switch between different sampling methods as needed.
Relationships#
The extension depends on utilities from omni.kit.widgets.custom and omni.kit.viewport.utility, which are used to provide underlying UI list models and viewport-related functionality for playlist items. These dependencies ensure consistent integration with other Kit APIs.
This extension is a key building block for applications that require robust playlist management and playback capabilities.