New Plugin. Specific questions

So far I have the basics of a plugin working but need to know one or two things to help me choose between one of two paths.

At present, clicking on a button in UIConfig calls a specific function in index.js.

Is it possible to call this function from elsewhere? For example from the remote control - via lircrc. I have looked but not found an example of this.

It would make life a lot simpler for the user to use my plugin from the main menu, as in the Radio Paradise plugin. It is obviously possible but I can’t see how it’s done. I can imagine the main menu being reserved for specific plugin types for fear of over crowding. Is this the case?

I think the Radio Paradise button is possible because it is being considered as a source, and as such can be enabled/disabled under ‘Sources Visibility’ in Settings/Sources. So whilst technically possible, I think it will not be generally available. You could contact the plugin author (marco79cgn) on the forum here, or on their Github repo, and ask how they managed to “twist” volumio’s arm ;).

Hi!
First have a look at Volumio Documentation
Some points may be not enough precise, but it’s a good start.
Second, have a look at other plugins sources. You’ll see a lot of examples.
Third you can ask here

More plugin questions, but first…

A quick run through of my steps so far,
I created an account on GitHub.
I initialised the plugin.
I have edited the files index.js, UIConfig.json, i18n.strings_en.json
I have added three of my own javascript files to the plugin directory.
I have installed socket.io-client in the plugin directory.
The plugin (much to my amazement) now works.

I then ‘packaged’ the plugin and I now have the .zip file in the plugin directory.

With fingers crossed I then tried to ‘publish’ the plugin (having seen other people’s GitHub pages with their plugins on them I assumed that it would be uploaded to my account where I could check that it worked)

The publish process started, at some point requested my email address, didn’t wait for any entry, but carried on finally mentioning that three files had been omitted before stoping without the ‘success’ message.
I tried once more I was told that it was already on the GitHub pages.

So it’s been uploaded to GitHub pages but I don’t know where! - I apologise if I have done wrong and it is clogging up the system somewhere. If someone from the team wants to contact me for details to help them to delete it please do.

I have tried to read up on the gitignore but am not clear how to implement it (if it is needed).

I have no knowledge of GitHub other than setting up the account and I could well be missing something but I cannot see any sign of a plugin on my GitHub page.

So questions…
Where is it?
Am I able to leave my three javascript files in the directory to be included in the plugin?
Should I delete the node utilities folder before publishing?
What steps had I missed prior to publishing?
Assuming that at some point I get as far as publishing it, am I able to test it out before presenting it for inclusion?

Sorry to seem so clueless, it’s been a real uphill struggle to get this far (looking back there’s no real reason why it should have been so hard but I’ve spent soo long at the keyboard going around in circles and not enough time listening to music - and now the garden is calling…)

Any help most gratefully received!

When you visit your Github page, do you see the newly-created directory for your plugin under your volumio-plugins repo?

Many thanks for your reply. I’m away from the computer at the moment. Will get back here as soon as possible.

Hi, finally made it back here. No sign of it on my GitHub page.
Not being sure of my original GitHub account settings I have deleted the original account, opened a new one and re-started the plugin process. I have the plugin working again, packaged but when I try to publish I get the following errors.

*Publishing the plugin*

*? **do you want to change your version? (leave blank for default)** 1.0.0*

*The following paths are ignored by one of your .gitignore files:*

*plugins/miscellanea/randomizer/node_modules*

*plugins/miscellanea/randomizer/randomizer.zip*

*Use -f if you really want to add them.*

*fatal: no files added*

*Nothing to add*

**** Please tell me who you are.*

*Run*

*git config --global user.email "you@example.com"*

*git config --global user.name "Your Name"*

*to set your account's default identity.*

*Omit --global to set the identity only in this repository.*

*fatal: unable to auto-detect email address (got 'root@plugin-test.(none)')*

*Nothing to commit*

*Compressing the plugin*

*Plugin succesfully compressed*

*Switched to a new branch 'gh-pages'*

*? **Insert some details about your plugin (e.g. features, requirements, notes, etc... max 1000 chars)** This simple plugin provides three U.I. buttons to run simple scripts to add random tracks*

*to the queue. The scripts can also be called from lircrc for use with a remote control*

**** Please tell me who you are.*

*Run*

*git config --global user.email "you@example.com"*

*git config --global user.name "Your Name"*

*to set your account's default identity.*

*Omit --global to set the identity only in this repository.*

*fatal: unable to auto-detect email address (got 'root@plugin-test.(none)')*

*(node:5041) UnhandledPromiseRejectionWarning: Error: Command failed: /usr/bin/git commit -am "updating plugin randomizer 1.0.0"*

Im assuming that it is my setting up of the GitHub account that is causing the problems.

You could run things directly add it and save yourself some trouble :slight_smile:

cd /path/to/volumio-plugins/your_plugin
# Check out what has chanaged
git status
# Check if we are pushing to the right repo
git remote -vv 
# Set up credentials
git config --global user.name "your github username"
git config --global user.name "your github email@host.com"
git commit -am "Updating plugin randomizer 1.0.0"
git push

In fact, you can’t publish a plugin yourself. We need to check and validate it before. So the procedure is:
Fork official plugin GitHub from website.
Clone your fork it on your local system
add or mod a plugin in the folder
Uploaded your work on your forked folder on GitHub (git add, commit, push).
From GitHub
Send a pull request.
If validated (may take several days), then it will appear in available plugins list.

Thanks for the replies, again I’m unable to try anything for a few days, I’ll get back here a.s.a.p.
(I did quickly try
git config --global user.email “you@example.com
but got bash command not known).

that should be your email?
and under that your name

Some progress!
I have (apparently) uploaded the plugin.

To https://github.com/Redlawd/volumio-plugins.git

  • 041a95e…71d3a16 gh-pages → gh-pages*
    Congratulations, your package has been correctly uploaded andis ready for merging!*

but I can’t find it on my GitHub page. Can anyone else?
Should I be able to use wget… etc to try it out before sending a pull request?

Many thanks for any help…

update…
I have found the zip file here;

Is this where it should be? I’m assuming not…
I can download it but not unzip it…

“Progress Jim… but not as we know it…”