On Wed, 13 Jun 2018, at 12:59 PM, Tanu Kaskinen wrote: > On Tue, 2018-06-12 at 19:03 +0100, jnqnfe at gmail.com wrote: > > On Tue, 2018-06-12 at 11:22 +0300, Tanu Kaskinen wrote: > > > On Mon, 2018-05-28 at 19:37 +0100, jnqnfe at 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