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

docs: plugin creation documentation #394

Open
shawaj opened this issue Jan 1, 2021 · 8 comments
Open

docs: plugin creation documentation #394

shawaj opened this issue Jan 1, 2021 · 8 comments
Assignees
Labels
docs Everything about the documentation. enhancement New feature or request plugins For general plugin issues and requests

Comments

@shawaj
Copy link
Contributor

shawaj commented Jan 1, 2021

Having been experimenting with the plugins setup in #388 and how it works, I was thinking that we could maybe have a docs/07-plugins.md file or modify the plugins section of the 03-customization.md file to incorporate some information about the process / steps for building your own plugin and how everything ties together.

This might help other potential contributors, and lead to more collaborations on PRs etc.

Happy to have a first stab at it, if you think it would be useful?

@shawaj shawaj added enhancement New feature or request docs Everything about the documentation. plugins For general plugin issues and requests labels Jan 1, 2021
@eiddor
Copy link
Contributor

eiddor commented Jan 1, 2021

I think this is a great idea - I don't know that I'd ever be talented enough to build any of my own, but it would definitely help me learn the architecture better while troubleshooting/helping others with the issues as I've been trying to do.

@shawaj
Copy link
Contributor Author

shawaj commented Jan 1, 2021

@eiddor exactly what I was thinking! I am new to the balena team, and on the hardware/distribution side so was working on the RoonBridge plugin linked above in part because Roon is great software but also to teach myself more about balenaCloud / balenablocks / balenaSound and how everything ties together...much easier to do this with an actual project I thought 😄

Have hit a number of road blocks, but that is not necessarily a bad thing - failing helps to learn things sometimes I guess!

But some of the things surrounding plugins and how they interact with the audio block could quite easily be documented I feel, and help people like you and I to get going a bit quicker. Haha.

@eiddor
Copy link
Contributor

eiddor commented Jan 1, 2021

I would definitely be to willing to help more I had a good starting point like this.

To be honest, maybe even take it up a level to docs/07-architecture.md to explain how all of the balena* components work together, too.

I know I've had to do a lot of Googling/tab opening to try to isolate things like how librespot related to raspotify which related to the spotify plugin (I'm still missing something from the other day). But I also had to do some digging to figure out an alsa fix in balenaSound that @tmigone fixed for me a few weeks ago.

@shawaj
Copy link
Contributor Author

shawaj commented Jan 2, 2021

@eiddor I just discovered we already have all this info in this doc on arhitecture

Plugins info here - https://github.com/balenalabs/balena-sound/blob/master/ARCHITECTURE.md#plugins-1

Guess we just need to link to it more clearly somewhere.

Also this is helpful - https://github.com/balenablocks/audio#usage

Guess it could be fleshed out with some more examples etc potentially

This is also interesting - https://forums.balena.io/t/create-new-audio-plugin/215874/16

@eiddor
Copy link
Contributor

eiddor commented Jan 2, 2021

Ahhh, extremely helpful - I'll have a look at them later. I agree that making it more prominent along with some examples would help others even more.

Thanks, @shawaj !

@shawaj
Copy link
Contributor Author

shawaj commented Jan 4, 2021

Also @eiddor take a look at #388 and #399 where I have been working on a couple of new plugins. My hackery might help to show how some bits work. Although right now it is not documented very well haha

@eiddor
Copy link
Contributor

eiddor commented Jan 4, 2021

@shawaj Believe me, I've been seeing every commit as you push it! It's a bit above my capabilities as someone who doesn't code, but it's fun to try to read/understand what you're trying to accomplish. Very helpful!

@shawaj
Copy link
Contributor Author

shawaj commented Jan 4, 2021

@eiddor I'm not a very good coder to be honest. Mainly do hardware and distribution but in my previous company (Pi Supply / JustBoom) I worked with a lot of stuff to do with audio cards and associated drivers. So know a little bit about the software side of that.

Mainly I'm just good at googling and copy pasting and seem to have a (sometimes frustrating) desire to find solutions to things that should just work. But I guess that's why we are all into Raspberry Pi, IoT and tinkering - always hunting the next challenge 😜👌

@tmigone tmigone self-assigned this May 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Everything about the documentation. enhancement New feature or request plugins For general plugin issues and requests
Projects
None yet
Development

No branches or pull requests

3 participants