Documentation ¶
Index ¶
- Variables
- type EntryAddedEventArg
- type EntryAddedPlacement
- type EntryMovedEventArg
- type EntryRemovedEventArg
- type MediaQueue
- func (q *MediaQueue) CanMoveEntryByIndex(index int, user auth.User, up bool) bool
- func (q *MediaQueue) ClearInsertCursor()
- func (q *MediaQueue) CountEnqueuedOrRecentlyPlayedMediaRequestedBy(ctx context.Context, requester auth.User) (int, bool, error)
- func (q *MediaQueue) CurrentlyPlaying() (media.QueueEntry, bool)
- func (q *MediaQueue) Enqueue(newEntry media.QueueEntry)
- func (q *MediaQueue) Entries() []media.QueueEntry
- func (q *MediaQueue) EntryAdded() event.Event[EntryAddedEventArg]
- func (q *MediaQueue) EntryMoved() event.Event[EntryMovedEventArg]
- func (q *MediaQueue) EntryRemoved() event.Event[EntryRemovedEventArg]
- func (q *MediaQueue) EntryReorderingAllowed() bool
- func (q *MediaQueue) InsertCursor() (string, bool)
- func (q *MediaQueue) Length() int
- func (q *MediaQueue) LengthUpToCursor() int
- func (q *MediaQueue) MediaChanged() event.Event[media.QueueEntry]
- func (q *MediaQueue) MoveEntry(entryID string, user auth.User, up bool) error
- func (q *MediaQueue) PlayAfterCurrent(entry media.QueueEntry)
- func (q *MediaQueue) PlayNow(entry media.QueueEntry)
- func (q *MediaQueue) PlayingSince() time.Time
- func (q *MediaQueue) ProcessQueueWorker(ctx context.Context)
- func (q *MediaQueue) ProduceCheckpointForAPI(ctx context.Context, userSerializer auth.APIUserSerializer, needsTitle bool) *proto.MediaConsumptionCheckpoint
- func (q *MediaQueue) QueueUpdated() event.NoArgEvent
- func (q *MediaQueue) RemovalOfOwnEntriesAllowed() bool
- func (q *MediaQueue) RemoveEntry(entryID string) (media.QueueEntry, error)
- func (q *MediaQueue) RemoveOwnEntry(ctx context.Context, entryID string, user auth.User) error
- func (q *MediaQueue) SetEntryReorderingAllowed(allowed bool)
- func (q *MediaQueue) SetInsertCursor(entryID string) error
- func (q *MediaQueue) SetRemovalOfOwnEntriesAllowed(allowed bool)
- func (q *MediaQueue) SetSkippingEnabled(enabled bool)
- func (q *MediaQueue) SkipCurrentEntry()
- func (q *MediaQueue) SkippingAllowedUpdated() event.NoArgEvent
- func (q *MediaQueue) SkippingEnabled() bool
- func (q *MediaQueue) UserCanRemoveOwnEntries(ctx context.Context, user auth.User) (bool, error)
Constants ¶
This section is empty.
Variables ¶
var ErrInsufficientPermissionsToRemoveEntry = errors.New("insufficient permissions to remove queue entry")
ErrInsufficientPermissionsToRemoveEntry indicates the user has insufficient permissions to remove an entry
Functions ¶
This section is empty.
Types ¶
type EntryAddedEventArg ¶
type EntryAddedEventArg struct { Index int AddType EntryAddedPlacement Entry media.QueueEntry }
EntryAddedEventArg is the argument of the event for when a queue entry is added
type EntryAddedPlacement ¶
type EntryAddedPlacement int
EntryAddedPlacement is whether the entry was added to play now/play next/play at the end
const ( // EntryAddedPlacementPlayNow is used when the new queue entry is skipping the previously playing entry EntryAddedPlacementPlayNow EntryAddedPlacement = 0 // EntryAddedPlacementPlayNext is used when the new queue entry is added immediately after the currently playing entry EntryAddedPlacementPlayNext EntryAddedPlacement = 1 // EntryAddedPlacementEnqueue is used when the new queue entry is added to the end of the queue EntryAddedPlacementEnqueue EntryAddedPlacement = 2 )
type EntryMovedEventArg ¶
type EntryMovedEventArg struct { PreviousIndex int CurrentIndex int User auth.User Entry media.QueueEntry Up bool }
EntryMovedEventArg is the argument of the event for when a queue entry is moved
type EntryRemovedEventArg ¶
type EntryRemovedEventArg struct { Index int Entry media.QueueEntry SelfRemoval bool }
EntryRemovedEventArg is the argument of the event for when a queue entry is removed
type MediaQueue ¶
type MediaQueue struct {
// contains filtered or unexported fields
}
MediaQueue queues media for synced broadcast
func (*MediaQueue) CanMoveEntryByIndex ¶
func (*MediaQueue) ClearInsertCursor ¶
func (q *MediaQueue) ClearInsertCursor()
func (*MediaQueue) CountEnqueuedOrRecentlyPlayedMediaRequestedBy ¶
func (q *MediaQueue) CountEnqueuedOrRecentlyPlayedMediaRequestedBy(ctx context.Context, requester auth.User) (int, bool, error)
CountEnqueuedOrRecentlyPlayedMediaRequestedBy returns the number of entries which are currently in queue or which have been recently enqueued by the specified user.
func (*MediaQueue) CurrentlyPlaying ¶
func (q *MediaQueue) CurrentlyPlaying() (media.QueueEntry, bool)
func (*MediaQueue) Enqueue ¶
func (q *MediaQueue) Enqueue(newEntry media.QueueEntry)
func (*MediaQueue) Entries ¶
func (q *MediaQueue) Entries() []media.QueueEntry
func (*MediaQueue) EntryAdded ¶
func (q *MediaQueue) EntryAdded() event.Event[EntryAddedEventArg]
EntryAdded is the event that is fired when an entry is added to the queue
func (*MediaQueue) EntryMoved ¶
func (q *MediaQueue) EntryMoved() event.Event[EntryMovedEventArg]
EntryMoved is the event that is fired when a queue entry is moved up or down
func (*MediaQueue) EntryRemoved ¶
func (q *MediaQueue) EntryRemoved() event.Event[EntryRemovedEventArg]
EntryRemoved is the event that is fired when an entry is removed by any means: because it finished playing, because it was skipped, or because it was removed from the queue before it could begin playing
func (*MediaQueue) EntryReorderingAllowed ¶
func (q *MediaQueue) EntryReorderingAllowed() bool
func (*MediaQueue) InsertCursor ¶
func (q *MediaQueue) InsertCursor() (string, bool)
func (*MediaQueue) Length ¶
func (q *MediaQueue) Length() int
func (*MediaQueue) LengthUpToCursor ¶
func (q *MediaQueue) LengthUpToCursor() int
func (*MediaQueue) MediaChanged ¶
func (q *MediaQueue) MediaChanged() event.Event[media.QueueEntry]
MediaChanged is the event that is fired when the currently playing entry changes
func (*MediaQueue) PlayAfterCurrent ¶
func (q *MediaQueue) PlayAfterCurrent(entry media.QueueEntry)
func (*MediaQueue) PlayNow ¶
func (q *MediaQueue) PlayNow(entry media.QueueEntry)
func (*MediaQueue) PlayingSince ¶
func (q *MediaQueue) PlayingSince() time.Time
func (*MediaQueue) ProcessQueueWorker ¶
func (q *MediaQueue) ProcessQueueWorker(ctx context.Context)
func (*MediaQueue) ProduceCheckpointForAPI ¶
func (q *MediaQueue) ProduceCheckpointForAPI(ctx context.Context, userSerializer auth.APIUserSerializer, needsTitle bool) *proto.MediaConsumptionCheckpoint
func (*MediaQueue) QueueUpdated ¶
func (q *MediaQueue) QueueUpdated() event.NoArgEvent
QueueUpdated is the event that is fired when the queue is updated in any way
func (*MediaQueue) RemovalOfOwnEntriesAllowed ¶
func (q *MediaQueue) RemovalOfOwnEntriesAllowed() bool
func (*MediaQueue) RemoveEntry ¶
func (q *MediaQueue) RemoveEntry(entryID string) (media.QueueEntry, error)
func (*MediaQueue) RemoveOwnEntry ¶
func (*MediaQueue) SetEntryReorderingAllowed ¶
func (q *MediaQueue) SetEntryReorderingAllowed(allowed bool)
func (*MediaQueue) SetInsertCursor ¶
func (q *MediaQueue) SetInsertCursor(entryID string) error
func (*MediaQueue) SetRemovalOfOwnEntriesAllowed ¶
func (q *MediaQueue) SetRemovalOfOwnEntriesAllowed(allowed bool)
func (*MediaQueue) SetSkippingEnabled ¶
func (q *MediaQueue) SetSkippingEnabled(enabled bool)
func (*MediaQueue) SkipCurrentEntry ¶
func (q *MediaQueue) SkipCurrentEntry()
func (*MediaQueue) SkippingAllowedUpdated ¶
func (q *MediaQueue) SkippingAllowedUpdated() event.NoArgEvent
SkippingAllowedUpdated is the event that is fired when the ability to skip entries is enabled or disabled
func (*MediaQueue) SkippingEnabled ¶
func (q *MediaQueue) SkippingEnabled() bool