Re: [pulseaudio-discuss] [announce] Rust bindings!

2018-06-13 Thread David Henningsson



On 2018-06-13 09:29, Tanu Kaskinen wrote:

On Tue, 2018-06-12 at 19:03 +0100, jnq...@gmail.com wrote:

On Tue, 2018-06-12 at 11:22 +0300, Tanu Kaskinen wrote:

On Mon, 2018-05-28 at 19:37 +0100, jnq...@gmail.com wrote:

Hi everyone!

Back in February I released 'binding' and 'sys' crates for using
pulseaudio from Rust code. I had intended to make an announcement
here
at the time, but I failed to do so, so I'm doing it now.

fyi, the 'sys' crates provide a simple description of the C
interface;
The 'binding' crates take this further, providing a cleaner/safer
Rust
interface.

I have provided separate crates for each PA system library (per
Rust
guidelines for 'sys' crates), thus totalling six in all:

[binding crates]
  - libpulse-binding: https://crates.io/crates/libpulse-binding
  - libpulse-simple-binding: https://crates.io/crates/libpulse-simpl
e-bi
nding
  - libpulse-mainloop-glib-binding: https://crates.io/crates/libpuls
e-gl
ib-binding
[sys crates]
  - libpulse-sys: https://crates.io/crates/libpulse-sys
  - libpulse-simple-sys: https://crates.io/crates/libpulse-simple-sy
s
  - libpulse-mainloop-glib-sys: https://crates.io/crates/libpulse-ma
inlo
op-glib-sys

The 'binding' crates include plenty of documentation (taken from
the C
API). This can be built locally of course (cargo doc), but is also
available online at docs.rs, example: https://docs.rs/libpulse-bind
ing/

Long term I hope that the owners of the PA project itself would
like to
take over ownership and maintenance. Even longer term hopefully we
will
see PA itself converting to Rust - fyi the PA projects has my full
consent to use this work of mine in converting PA itself.

Cool, thanks for the bindings! I'm afraid you'll have to keep
maintaining the bindings yourself for the foreseeable future - I
don't
really want to take more work for myself at this point (I can of
course
only talk only for myself, but I don't expect the other maintainers
to
be enthusiastically adopting the bindings either). That said,
converting PA to Rust might very well be a good idea. From what I've
heard about combining Rust with C, such conversion could be done
gradually.

Ok no problem :)

I am very glad to hear that you are open to a Rust conversion. I'm very
busy at the moment, but I have given a little thought to it over the
past few days; perhaps I will try to tackle it at some point.

No hurry :) Note that I can't alone make the decision to start
converting to Rust. Not everyone might have as good perception of the
language as me (and that perception isn't based on actually trying to
use the language), and not everyone might want to learn it. Arun and
Georg, how do you feel about the prospect of gradually converting the
codebase to Rust some day?


If I had the time and engagement to start working on a new sound server 
tomorrow, I would write it in Rust.
But just porting PulseAudio to Rust without solving any issues with 
PulseAudio's existing design, does not seem like the best use of time to me.


But should you make the step over to Rust, you're more than welcome to 
use my dbus and alsa bindings :-)


// David

___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [announce] Rust bindings!

2018-06-13 Thread Arun Raghavan


On Wed, 13 Jun 2018, at 12:59 PM, Tanu Kaskinen wrote:
> On Tue, 2018-06-12 at 19:03 +0100, jnq...@gmail.com wrote:
> > On Tue, 2018-06-12 at 11:22 +0300, Tanu Kaskinen wrote:
> > > On Mon, 2018-05-28 at 19:37 +0100, jnq...@gmail.com wrote:
> > > > Hi everyone!
> > > > 
> > > > Back in February I released 'binding' and 'sys' crates for using
> > > > pulseaudio from Rust code. I had intended to make an announcement
> > > > here
> > > > at the time, but I failed to do so, so I'm doing it now.
> > > > 
> > > > fyi, the 'sys' crates provide a simple description of the C
> > > > interface;
> > > > The 'binding' crates take this further, providing a cleaner/safer
> > > > Rust
> > > > interface.
> > > > 
> > > > I have provided separate crates for each PA system library (per
> > > > Rust
> > > > guidelines for 'sys' crates), thus totalling six in all:
> > > > 
> > > > [binding crates]
> > > >  - libpulse-binding: https://crates.io/crates/libpulse-binding
> > > >  - libpulse-simple-binding: https://crates.io/crates/libpulse-simpl
> > > > e-bi
> > > > nding
> > > >  - libpulse-mainloop-glib-binding: https://crates.io/crates/libpuls
> > > > e-gl
> > > > ib-binding
> > > > [sys crates]
> > > >  - libpulse-sys: https://crates.io/crates/libpulse-sys
> > > >  - libpulse-simple-sys: https://crates.io/crates/libpulse-simple-sy
> > > > s
> > > >  - libpulse-mainloop-glib-sys: https://crates.io/crates/libpulse-ma
> > > > inlo
> > > > op-glib-sys
> > > > 
> > > > The 'binding' crates include plenty of documentation (taken from
> > > > the C
> > > > API). This can be built locally of course (cargo doc), but is also
> > > > available online at docs.rs, example: https://docs.rs/libpulse-bind
> > > > ing/
> > > > 
> > > > Long term I hope that the owners of the PA project itself would
> > > > like to
> > > > take over ownership and maintenance. Even longer term hopefully we
> > > > will
> > > > see PA itself converting to Rust - fyi the PA projects has my full
> > > > consent to use this work of mine in converting PA itself.
> > > 
> > > Cool, thanks for the bindings! I'm afraid you'll have to keep
> > > maintaining the bindings yourself for the foreseeable future - I
> > > don't
> > > really want to take more work for myself at this point (I can of
> > > course
> > > only talk only for myself, but I don't expect the other maintainers
> > > to
> > > be enthusiastically adopting the bindings either). That said,
> > > converting PA to Rust might very well be a good idea. From what I've
> > > heard about combining Rust with C, such conversion could be done
> > > gradually.
> > 
> > Ok no problem :)
> > 
> > I am very glad to hear that you are open to a Rust conversion. I'm very
> > busy at the moment, but I have given a little thought to it over the
> > past few days; perhaps I will try to tackle it at some point.
> 
> No hurry :) Note that I can't alone make the decision to start
> converting to Rust. Not everyone might have as good perception of the
> language as me (and that perception isn't based on actually trying to
> use the language), and not everyone might want to learn it. Arun and
> Georg, how do you feel about the prospect of gradually converting the
> codebase to Rust some day?

I'm 100% behind it. :)

-- Arun
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [announce] Rust bindings!

2018-06-13 Thread Tanu Kaskinen
On Tue, 2018-06-12 at 19:03 +0100, jnq...@gmail.com wrote:
> On Tue, 2018-06-12 at 11:22 +0300, Tanu Kaskinen wrote:
> > On Mon, 2018-05-28 at 19:37 +0100, jnq...@gmail.com wrote:
> > > Hi everyone!
> > > 
> > > Back in February I released 'binding' and 'sys' crates for using
> > > pulseaudio from Rust code. I had intended to make an announcement
> > > here
> > > at the time, but I failed to do so, so I'm doing it now.
> > > 
> > > fyi, the 'sys' crates provide a simple description of the C
> > > interface;
> > > The 'binding' crates take this further, providing a cleaner/safer
> > > Rust
> > > interface.
> > > 
> > > I have provided separate crates for each PA system library (per
> > > Rust
> > > guidelines for 'sys' crates), thus totalling six in all:
> > > 
> > > [binding crates]
> > >  - libpulse-binding: https://crates.io/crates/libpulse-binding
> > >  - libpulse-simple-binding: https://crates.io/crates/libpulse-simpl
> > > e-bi
> > > nding
> > >  - libpulse-mainloop-glib-binding: https://crates.io/crates/libpuls
> > > e-gl
> > > ib-binding
> > > [sys crates]
> > >  - libpulse-sys: https://crates.io/crates/libpulse-sys
> > >  - libpulse-simple-sys: https://crates.io/crates/libpulse-simple-sy
> > > s
> > >  - libpulse-mainloop-glib-sys: https://crates.io/crates/libpulse-ma
> > > inlo
> > > op-glib-sys
> > > 
> > > The 'binding' crates include plenty of documentation (taken from
> > > the C
> > > API). This can be built locally of course (cargo doc), but is also
> > > available online at docs.rs, example: https://docs.rs/libpulse-bind
> > > ing/
> > > 
> > > Long term I hope that the owners of the PA project itself would
> > > like to
> > > take over ownership and maintenance. Even longer term hopefully we
> > > will
> > > see PA itself converting to Rust - fyi the PA projects has my full
> > > consent to use this work of mine in converting PA itself.
> > 
> > Cool, thanks for the bindings! I'm afraid you'll have to keep
> > maintaining the bindings yourself for the foreseeable future - I
> > don't
> > really want to take more work for myself at this point (I can of
> > course
> > only talk only for myself, but I don't expect the other maintainers
> > to
> > be enthusiastically adopting the bindings either). That said,
> > converting PA to Rust might very well be a good idea. From what I've
> > heard about combining Rust with C, such conversion could be done
> > gradually.
> 
> Ok no problem :)
> 
> I am very glad to hear that you are open to a Rust conversion. I'm very
> busy at the moment, but I have given a little thought to it over the
> past few days; perhaps I will try to tackle it at some point.

No hurry :) Note that I can't alone make the decision to start
converting to Rust. Not everyone might have as good perception of the
language as me (and that perception isn't based on actually trying to
use the language), and not everyone might want to learn it. Arun and
Georg, how do you feel about the prospect of gradually converting the
codebase to Rust some day?

-- 
Tanu

https://liberapay.com/tanuk
https://www.patreon.com/tanuk
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [announce] Rust bindings!

2018-06-12 Thread jnqnfe
On Tue, 2018-06-12 at 11:22 +0300, Tanu Kaskinen wrote:
> On Mon, 2018-05-28 at 19:37 +0100, jnq...@gmail.com wrote:
> > Hi everyone!
> > 
> > Back in February I released 'binding' and 'sys' crates for using
> > pulseaudio from Rust code. I had intended to make an announcement
> > here
> > at the time, but I failed to do so, so I'm doing it now.
> > 
> > fyi, the 'sys' crates provide a simple description of the C
> > interface;
> > The 'binding' crates take this further, providing a cleaner/safer
> > Rust
> > interface.
> > 
> > I have provided separate crates for each PA system library (per
> > Rust
> > guidelines for 'sys' crates), thus totalling six in all:
> > 
> > [binding crates]
> >  - libpulse-binding: https://crates.io/crates/libpulse-binding
> >  - libpulse-simple-binding: https://crates.io/crates/libpulse-simpl
> > e-bi
> > nding
> >  - libpulse-mainloop-glib-binding: https://crates.io/crates/libpuls
> > e-gl
> > ib-binding
> > [sys crates]
> >  - libpulse-sys: https://crates.io/crates/libpulse-sys
> >  - libpulse-simple-sys: https://crates.io/crates/libpulse-simple-sy
> > s
> >  - libpulse-mainloop-glib-sys: https://crates.io/crates/libpulse-ma
> > inlo
> > op-glib-sys
> > 
> > The 'binding' crates include plenty of documentation (taken from
> > the C
> > API). This can be built locally of course (cargo doc), but is also
> > available online at docs.rs, example: https://docs.rs/libpulse-bind
> > ing/
> > 
> > Long term I hope that the owners of the PA project itself would
> > like to
> > take over ownership and maintenance. Even longer term hopefully we
> > will
> > see PA itself converting to Rust - fyi the PA projects has my full
> > consent to use this work of mine in converting PA itself.
> 
> Cool, thanks for the bindings! I'm afraid you'll have to keep
> maintaining the bindings yourself for the foreseeable future - I
> don't
> really want to take more work for myself at this point (I can of
> course
> only talk only for myself, but I don't expect the other maintainers
> to
> be enthusiastically adopting the bindings either). That said,
> converting PA to Rust might very well be a good idea. From what I've
> heard about combining Rust with C, such conversion could be done
> gradually.

Ok no problem :)

I am very glad to hear that you are open to a Rust conversion. I'm very
busy at the moment, but I have given a little thought to it over the
past few days; perhaps I will try to tackle it at some point.
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [announce] Rust bindings!

2018-06-12 Thread Tanu Kaskinen
On Mon, 2018-05-28 at 19:37 +0100, jnq...@gmail.com wrote:
> Hi everyone!
> 
> Back in February I released 'binding' and 'sys' crates for using
> pulseaudio from Rust code. I had intended to make an announcement here
> at the time, but I failed to do so, so I'm doing it now.
> 
> fyi, the 'sys' crates provide a simple description of the C interface;
> The 'binding' crates take this further, providing a cleaner/safer Rust
> interface.
> 
> I have provided separate crates for each PA system library (per Rust
> guidelines for 'sys' crates), thus totalling six in all:
> 
> [binding crates]
>  - libpulse-binding: https://crates.io/crates/libpulse-binding
>  - libpulse-simple-binding: https://crates.io/crates/libpulse-simple-bi
> nding
>  - libpulse-mainloop-glib-binding: https://crates.io/crates/libpulse-gl
> ib-binding
> [sys crates]
>  - libpulse-sys: https://crates.io/crates/libpulse-sys
>  - libpulse-simple-sys: https://crates.io/crates/libpulse-simple-sys
>  - libpulse-mainloop-glib-sys: https://crates.io/crates/libpulse-mainlo
> op-glib-sys
> 
> The 'binding' crates include plenty of documentation (taken from the C
> API). This can be built locally of course (cargo doc), but is also
> available online at docs.rs, example: https://docs.rs/libpulse-binding/
> 
> Long term I hope that the owners of the PA project itself would like to
> take over ownership and maintenance. Even longer term hopefully we will
> see PA itself converting to Rust - fyi the PA projects has my full
> consent to use this work of mine in converting PA itself.

Cool, thanks for the bindings! I'm afraid you'll have to keep
maintaining the bindings yourself for the foreseeable future - I don't
really want to take more work for myself at this point (I can of course
only talk only for myself, but I don't expect the other maintainers to
be enthusiastically adopting the bindings either). That said,
converting PA to Rust might very well be a good idea. From what I've
heard about combining Rust with C, such conversion could be done
gradually.

-- 
Tanu

https://liberapay.com/tanuk
https://www.patreon.com/tanuk
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss