-
-
Notifications
You must be signed in to change notification settings - Fork 74
AstalWp: add missing features #297
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
base: main
Are you sure you want to change the base?
Conversation
Hey, I was bored so I decided to see if I could implement this stuff on my own. I've got form-factor and and endpoint target device on a branch PartyWumpus/astal/wireplumber-improvements. No idea if what I've written is any use, but thought I'd share. I could make a PR but this does what you're already planning to do so I wasn't sure. (sidenote: being able to instantly just use |
This PR is now basically ready except for the docs and a little cleanup. Also requires a bit more testing. I did only test it using wirecontrol, linked in the original message. |
The AstalWp lib initially only implemented enough to achieve feature parity with the audio service of ags v1 and is missing some useful features.
Todo:
If there are feature missing in the list above, let me know.
Changes:
breaking
AstalWpEndpoint
class was renamed toAstalWpNode
. There are two new Classes:AstalWpStream
andAstalWpEndpoint
, both inherit fromAstalWpNode
.is-default
property was moved from AstalWpNode to AstalWpEndpointglib-mkenums
, which might break packages. eg in Arch it is part of glib-devel, so this needs to be added as a build dependencynon breaking
target-serial
:int
represents the serial number of the Endpoint this stream targets.target-endpoint
:AstalWpEndpoint
the target endpoint of this streammedia-role
device-id
:uint
the id of the device associated with this endpointdevice
:AstalWpdevice
same, but the device object instead of idis-default
:boolean
was moved here from AstalWpNoderoutes
: List ofAstalWpRoute
objectsactive-route-id
andactive-route
for the currently active routestate
:AstalWpNodeState
the current state of this node (eg, running, idle)channel-volumes
:GList(AstalWpChannelVolume)
a list containing volume information for each channelget_pw_property
: gets a property of the underlying pipewire object. This allows to read properties, which are not wrapped as GObject properties yet.form-factor
:string
name
:string
the name of the channelvolume
:double
the volumevolume-icon
:string
the volume iconready
signal, which is emitted after streams/endpoints/devices/etc are initially loadedNote: kotontrion/wirecontrol#1 does make use of these new feature.
closes #295
closes #318