-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version 1.0.0 #85
Merged
Merged
Version 1.0.0 #85
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Add Get Group Info and ability to refresh group * Allow update of existing * Add tests * Update comment
* Add get_player_info * Add tests * Add group_id to player
* Add check_update * Tests for check_update * Fix lint
* Add Get Queue * Add play queue * add remove_from_queue * add save queue * Add move queue item * Test save playlsit name too long
* Add get_music_source_info * Add get search criteria * Add Search * Add bounds checking for search param * Add rename playlist command * Add delete playlist * Add retrieve_metadata * Add service options to BrowseResult * Add service options to now playing media * Add set_service_option and happy-path tests * Param tests * Refactoring * Add multi-search * Optimize some tests * Add missing exports
* Add ConnectionStateType * Move PlayState * Refactor RepeatType * Update consts * Add NetworkType enum * Add types module and move AddQueueOption * More refactoring * Move more consts * Refactor control groups * Refactor * Create enums for signals and events * Describe event handler types * Add add_on_group_event * Move ATTR and VALUE constants * Refactor command import overlap * Move ConnectionState to types * Move MediaType * Move error string logic * Sort exports * Fix function name
* Add LineOutLevelType * Use enums
* Add add_search_to_queue * Removed unneeded player_id
* Move SystemMixin * Move group commands * Move browse commands * Move player mixin
* Add missing items to __all__ * Remove redundant logging * Update log messaging
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
This version implements all of the functionality documented in the HEOS CLI Protocol specification (version at this time 1.21 dated 10/06/2024). There are breaking changes from previous versions. See notes below.
Fixes/improvements: 🐛
serial
is first used (if available), before matching onplayer_id
orname
.New: 🚀
const
Module:SERVICE_OPTION_THUMBS_UP
)'error' module:
CommandAuthenticationError
a subclass ofCommandFailedError
which is raised when an auth-related error occurs calling a command.Heos
class:get_group_info
method to retrieve or refresh a specific group. If all groups are loaded, this will retrieve the cached instance, unless refresh=True.get_player_info
function to retrieve a specific player and optionally refresh and update an existing instance.check_update
that returnsTrue
is an update is available for the player, otherwise `False.player_get_queue
to retrieve the specified player's queue items.player_play_queue
to play a specific queue index on the specified player.player_remove_from_queue
to remove one or more items from the specified player's queueplayer_save_queue
to save the specified player's queue as a playlist.player_move_queue_item
to move items in the specified player's queue.get_music_source_info
to retrieve or refresh a specific music source.get_search_criteria
to obtain search options for a given source.search
to perform a search against a source with specific criteria.rename_playlist
to rename a playlist.delete_playlist
to delete a playlist.retrieve_metadata
to retrieve album metadata.set_service_option
to call a service option, such as thumbs up.multi_search
to search multiple sources and criteria.add_search_to_queue
to add items to the queue for the specified player based on the search string.HeosGroup
class:refresh_base_info: bool = True
torefresh
method to include updating the base information about the group (name, id, leader, members) in addition to mute and volume.HeosPlayer
class:refresh_base_info: bool = True
torefresh
to optionally pull the latest player information, such as name.group_id
field to represent the group reference the player is a member of, otherwise None.check_update
that returnsTrue
is an update is available for the player, otherwise `False.get_queue
to retrieve the player's queue items.play_queue
to play a specific queue index on the player.remove_from_queue
to remove one or more items from the player's queuesave_queue
to save the current queue as a playlist.move_queue_item
to move items in the queue.control
property to indicate the volume control type whenlineout
is Fixed.add_search_to_queue
to add items to the queue for the current player based on the search string.HeosNowPlayingMedia
class:options: Sequence[ServiceOption]
to list available service options.Media
module:ServiceOption
for describing a service option.BrowseResult
now hasoptions: Sequence[ServiceOption]
attribute to list available service options.ImageMetadata
,AlbumMetadata
, andRetreiveMetadataResult
to represent album metadata.Search
module:SearchCriteria
,SearchResult
,MultiSearchResult
, andSearchStatistic
to represent output of search commands.types
Module:ConnectionState
enum to replace connection state constants (e.g.STATE_CONNECTED
)ControlType
enum to replace play control constants (e.g.CONTROL_PLAY
)NetworkType
enum to replace network connection constants (e.g.NETWORK_TYPE_WIFI
)SignalType
enum to replace signal constants (e.g.SIGNAL_HEOS_EVENT
)SignalHeosEvent
enum to replace event constants (e.g.EVENT_CONNECTED
)LineOutLevelType
andVolumeControlType
Changed ⏸️
const
module:STATE_CONNECTED
). UseConnectionState
instead.CONTROL_PLAY
). UseControlType
instead.NETWORK_TYPE_WIFI
). UseNetworkType
instead.SIGNAL_HEOS_EVENT
). UseSignalType
instead.EVENT_CONNECTED
). UseSignalHeosEvent
instead.Heos
class:load_players
now returns an instance ofPlayerUpdateResult
instead of a dictionary.HeosPlayer
class:lineout
is now an enum of typeLineOutLevelType
Checklist:
.coveragerc
permitted.README.MD
updated (if necessary)