Re: [pulseaudio-discuss] [announce] Rust bindings!
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!
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!
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!
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!
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