Skip to content
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

bpd: support idle command and with it MPD 0.14 #3205

Merged
merged 13 commits into from
Apr 11, 2019
Merged

bpd: support idle command and with it MPD 0.14 #3205

merged 13 commits into from
Apr 11, 2019

Commits on Apr 8, 2019

  1. bpd: fix typo in comment

    arcresu committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    f8a2c22 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5b0a02e View commit details
    Browse the repository at this point in the history
  3. bpd: track and log client session details

    Keep track of a list of currently-connected clients.
    
    Use `socket.getpeername()` to get an identifier for each connection and
    include this in each log message. This function is documented as not
    being available on all systems, but it's unclear which systems this
    involves.
    
    Also log a message on client connect and disconnect events. If the
    disconnection reason is because the client sent a blank line, match MPD
    by returning a protocol error then hanging up. Escape curly braces.
    arcresu committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    ee0c31b View commit details
    Browse the repository at this point in the history
  4. bpd: implement the idle command

    Getting this command puts the connection into a special mode where it
    awaits MPD events (like the player changing state or the playlist
    changing due to other clients interacting with the server.
    
    The MPD specification states that events should queue while a client is
    connected, and when it issues the `idle` command any matching events
    should be sent immediately if there are any, or as soon as they happen
    otherwise.
    arcresu committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    7105c80 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    699de94 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d05ca2c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6fbf385 View commit details
    Browse the repository at this point in the history
  8. Changelog for #3205

    arcresu committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    2753017 View commit details
    Browse the repository at this point in the history
  9. bpd: update documentation

    arcresu committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    e70b213 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    fa38138 View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2019

  1. bpd: add control socket

    A new `ControlConnection` is created each time a client connects over
    a new control socket. This is used to forward events from the player,
    and also for debugging utilities that are not part of the real MPD
    protocol.
    
    This new feature reuses as much infrastructure from the normal protocol
    handling as possible (e.g. `Command` for parsing messages). While the
    normal connection delegates to server `cmd_*` methods which are string
    generators, the control connections delegate to `ctrl_*` methods defined
    on the connection itself that are full coroutines.
    arcresu committed Apr 9, 2019
    Configuration menu
    Copy the full SHA
    d55f061 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2019

  1. Configuration menu
    Copy the full SHA
    8262447 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    241e23e View commit details
    Browse the repository at this point in the history