What is Songbook?
Songbook: The Badger Chapter is an update to the LOTRO plugin Songbook, originally made by Chiran. The original Songbook quickly became the “go to” tool for LOTRO musicians, since it made it much easier to play your ABC music files in LOTRO. It is particularly useful for playing together with others in a band. Chiran released his latest version, v0.92, in the summer of 2013.
Back in 2014, The Brandy Badgers (one of the bands in the Grand Order) looked at new and novel ways to sort all the ABC music files we had prepared. Our folder structure was in danger of breaking down, and our song pack was getting somewhat bloated. This is when Nimelia, our resident master of tools, offered to take a look at what we could do with the Songbook plugin, fixing some bugs and adding new features in the process.
In addition, Nimelia has prepared:
- A new Songbook data filler, called Songbooker. This should be very fast, and it allows the Songbook plugin to read more information from your ABC files (the tags used for filtering)
- A new Songbrowser tool, to add tags to your ABC files (for filtering and parts setup)
Latest version
Songbook: The Badger Chapter is currently at v0.94, released January 2015.
You can download it here.
The Songtools (Songbooker and Songbrowser) was last updated 18. august 2015.
You can download them here. (10 MB download)
A MAC version of the Songbooker tool is available here. (10 MB download)
There is a new beta version 0.95b of the plugin available here, if you want to experiment.
Installation
Unzip the Songbook plugin zip file your “Documents/The Lord of the Rings Online/Plugins” folder.
The Songtools files can be unzipped into and run from a folder anywhere on your computer.
For more information on how to setup and use the plugins/tools, have a look in this Google document.
Features
Songbook:
- Filters: If tags are added to the ABC file, is now possible to filter them based on: Artist (who wrote the original song), Author (who created the ABC file), Genre (rock, pop, etc), Mood (dramatic, happy, etc) and Number of parts (only showing songs with enough parts for the number of musicians you have in the group)
- Recommended song parts based on number of musicians: If tags added to the ABC file, you can now specify which parts of a song should be played when there is a specific numbers of musicians around.
- Sync check: Checks to see which musicians have prepared to sync a song
- Song + part check: Are musicians on the correct song and part?
- Instrument check: Are musicians using the correct instrument?
- Timer: This count up/down after the song starts playing
- “Chief” mode: When the chief tick box is unchecked, this greys out the “playstart” button in Songbook so musicians don’t start the song by accident.
- Right-aligning of track names: If you would like to read the rightmost part of a track name, but the window is too narrow, you can now right-click into the tracks list, and the track names will temporarily be shown right-aligned. Right-click again, and the list will return to normal.
- Ready indicator column, displaying an extra one-character column in the players and parts lists, in addition to colouring (which was hard to read for folks with colour blindness).
- French and German translations
Songbooker:
- Extremely fast data filler which reads information about your abc files and makes this available for the Songbook plugin. Songbooker also reads and recommended filter information, so you can use those functions in Songbook.
Songbrowser:
- Allows you to tag your ABC files with filter and parts setup information.
Usage
To load, type “/plugins load songbookbb” when logged into LOTRO, or use your favourite plugin manager.
Please note that the Songbook window does not always show the first time you load the new plugin. To fix that, type “/songbookbb show” (or “/songbook show” if you use the patched version), and the window should pop up.
Feedback
Nimelia would love feedback on the plugin, both of what works and what does not. Please leave yer comments below.
For comments on previous versions, please look at:
The first blog post announcing the plugin
The second blog post, with the update to v0.94
The beta page, where test versions of the plugins are released
Please leave yer comments below!
A minor bug in SongbookBB: if two parts have the same name, if you select one for one band member, the display selects both parts and it appears that two band members are duplicating the part. Not a big deal, but slightly vexing. I’ve tried getting in the habit of adding a number when parts have the same name, but I’m not 100% at it yet.
Suggestion re: SongbookFiller.exe: accept command line arguments for the character name. If this were possible, you could build a batch file and pass all of your band member names, allowing you to refresh your entire band in one fell swoop with no further interaction! Start it running, walk away, come back a few minutes later and start loading your band.
That would be an awesome mod!
Another mod that would be nice: when you generate a new songbook via Filler, generate a checksum and store it in the file. When a member joins the party/raid, it can compare that checksum against the other members and see whether or not they’re running the same version of the group’s song.
Hullo there!
And thanks for the suggestions!
Support for versioning of songs/libraries is already planned for the next version, which should be done, er, ‘soon’. -ish.
As for the command line options, we’ll add them in the next version.
Concerning the parts with the same name: If I understand you correctly, I fear the best solution would indeed be to have unique names for all parts. Songbook uses the name to identify which part another player has synced. If you have two parts with the exact same name, Songbook cannot tell them apart, and therefore highlights them both.
It would be possible to put in some workaround, but unique part names in the ABC would probably make more sense.
Hi, Nimelia. I have created a band application that is not a plugin. It is working, but in Alpha state. I have some improvements I would like to make and was wondering if I could pick your brain on some functions you are currently doing. If you have some C# skills, perhaps even some collaboration.
Thanks,
Eviluer
eviluer@bardsofvalinor.com
Hullo there!
Sorry for the late response – just sent an email to the given address.
Each part name has a part # in the meta data – x: # If you include the part numbers with the part names there can never be two parts with the same name.
SongbookFiller can’t do that, but it may be possible for Songbooker (see below).
Let me try to clear up a commonly held misconception about how Songbook plugins operate:
** A player’s Songbook (regardless of version) does not send or receive messages to/from other players’ Songbooks. They do not intercommunicate.
Mainly, Songbook has three functions:
(1) It provides an in-game menu of the songs and parts in the player’s music folder
(2) It formats the appropriate “/play filename partnum sync” for the selected song/part and sends it to the LotRO server
(3) It watches the chat stream for sync notifications from the server (e.g., “Jellybaby is ready to play ‘Oh What a Beautiful Beorning – Flute’”) and tries to determine from that who has queued what. Any matching partname in Songbook’s index will then get marked/coloured.
That’s the only information Songbook ever has about what someone else has queued. It cannot tell whether someone drops or what instrument they’re holding. Nor does it know what the track ID number was, so it cannot distinguish between identically named parts.
However, maybe there is some opportunity for SongbookBB to have a bit of intercommunication if it had a button that could then send some additional information (such as the track ID of the part you most recently queued) as a message to the fellowship and/or raid chat channel.
But it needn’t be just for distinguishing identically named parts. It could also tell other Songbooks what instrument you have equipped and perhaps whether you’re still in /music mode. (i.e., if you drop, sending the message would tell others’ Songbooks to unmark your part.)
It could potentially even suppport Theabromine’s checksum idea if Songbooker had an option to store a tag for it in the index (library file). Of course, that would require the bandmembers to use Songbooker as their library builder/indexer/songbook filler app and with the “write tags” option enabled (which can be slow, because it forces it to read through each file in the folder on the first build every session.)
My thought is that players would hit the button after syncing (or perhaps also after the bandleader requests them to do so by sending a message similar to the ‘ready check’ feature).
A problem, of course, is that the UI is rather crowded as it is, and finding additional ways to indicate even more types of matches and conflicts graphically could be quite difficult. (Colours/characters/highlighting are already used for so many other things that it’s already hard to remember what they all indicate.)
I have a problem with an abc. Now this is not your problem but it has highlighted a possible problem that may or may not be to do with Songbook.
I’m getting some Note’s duration is too long. The problem is that Songbook reports one of these at line 4627….but according to Notepad++ the file only has 4255 lines. Obviously this means that other reported errors may be showing for the wrong line. Was curious how Songbook counted the lines and whether it differed somehow to Notepad++
Right, missed this one, things have been busy. I’ll see if Nimelia can be put on the case! Do yer have the offending ABC?
Thanks to Nimelia and, especially, Lina for the fix :)
I’m happy we were able to help!
To summarize – it wasn’t a Songbook problem, but rather a combined LOTRO and Maestro problem:
Nimelia’s findings related to the line count, “The reason for the discrepancy in line numbers seems to be that the LotRO-client counts non-content lines before the affected track twice; %-comments (which you have in there for every ten bars), %%-directives and even empty lines before the X: field each add +1 to the offset for errors reported in the following track.”
As for the “note duration too long” error, Maestro sometimes struggles with long silences and lumps it into a chunk of code (for instance, z568/5) which is too long for LOTRO to handle. The trick to fix that is to locate those long silences, and either delete them (if at the end of a music track) or divide it into smaller chunks by dividing the number after the z by x, and then replace the original code with x lines of the new number. For instance, z568/5 can converted to two lines of z284/5 instead.
A related error is “note too short”. One thing to try then is to reconvert the music file in Maestro, but reduce the main tempo somewhat. For instance, if a main tempo of 144 gives problems, try reducing it to 142 instead when reconverting and see if that works.
Thanks a lot, very good job, nice and easy to play^^
So what we need now is a second row to fit our instruments on :)
Stop by the hobbit market, buy a tool and remind her! But aye, we’re nagging her regularly grins
Yes! This is what we really need with the new fiddles! I’d like to be able to see the audience when I perform. ;-)
Greetings,
A few days ago our band was rehearsing for our upcoming show (Love Love Love). Thrandili had all her music in order. But, the very next morning, all the music was gone! (SongbookBB was not recognized by Lotro). She still has her lyrics (Poetical is working fine, plus other addons). She tried to find the music but it was just gone (3 reinstalls of SongbookBB did not solve the issue.)
((so I don’t know what to try now, I see 2 messages when I try to start up SongbookBB in the Plugin Manager – file won’t parse, and unexpected symbol near , (comma). I also tried using a copy of Kandral’s version 0.93 SongbookBB but that won’t show up either. Our show is on Wednesday; if someone could help I’d be very grateful!)
Hullo!
That’s a bother. I’ll see if Nimelia has some insights, but first: let me try see if I understand what the problem is.
First, when you say her music was gone, what does this mean? That SongbookBB couldn’t be loaded by LOTRO, or that it loaded but there was no music data in the plugin? (if it is the latter, try rescanning your ABC song data with the Songbooker datafiller – Songbook sometimes loses this info). I am guessing the actual ABC files were still installed on her PC?
Did anything change on her computer between the rehearsal and the error? Were any LOTRO plugins updated?
As for the error messages you have now, I rarely use the plugin manager. One thing to try is:
– Remove SongbookBB from plugin manager, so the manager won’t try load it
– Delete previous installs of Songbook from your plugin directory
– Reinstall SongbookBB from the links above.
– Install and run Songbooker (the data filler), so you’re sure that the music data is updated.
– Start LOTRO
– Try /plugins load songbookbb
– If it works but no icon window for Songbook shows, try /show SongbookBB
As mentioned, I’ll show this to Nimelia, so she might have more suggestions.
I was finally able to sort this issue by deleting the preferences.ini file in the Lotro folder in documents, and then logging into the game to allow it to reinitialize.
Thrandili has her music back in time for the show – such a relief! I’d never want to be without SongbookBB.
Hullo there!
Hm, that sounds like a corrupted SongbookData.plugindata file.
Did you perhaps load in new songs with the SongbookFiller (or the SongBooker) before it stopped working? If so, can you try remove the latest ABC files you added (just rename them to .abc_ or somet), and try running the data filler again? If it works then, there is a problem with one of the file names. In that case, check for non-standard characters, and quotes.
Do you get a line number in the message? If so, check in the SongbookData.plugindata file (in \Documents\The Lord of the Rings Online\PluginData\\AllServers) and check what the file name before that line number is.
Are you using the original SongbookFiller, or our SongBooker? The SongBooker can tolerate a few more issues (like double quotes in filenames) – I dimly remember adding that a while ago.
Let us know if it still doesn’t work, we can meet in-game to try figure it out.
Nimelia
I also want to thank you both for your detailed replies! I tried everything you suggested and was really at my wit’s end by this morning, but for future problems the band might have I’ve copied all your information in case it is helpful for another difficulty.
The scenario went like this: we had band practice. The day of the practice I downloaded our practice folder as usual, updated with Songbooker, and everything worked fine. Then I logged off. I did nothing with any music program, or indeed any program, I just went to bed. Then the next morning as we were testing a few songs again, Songbook would not load. The exact messages were:
SongbookData.plugindata:28088: unexpected symbol near ‘,’
\Plugins\ChiranBB\SongbookBB\SongbookWindow.lua:43: Unable to parse file!
Anyway, thanks so much for trying to figure it out for me :-)
Rosa
Hullo!
Good to hear that yer managed to sort it out! Aye, those .ini files might play havoc with things from time to time. Never heard it impacting on Songbook before, but that’s a good thing to know.
Good luck on Wednesday!
Hullos there :) Many people asked me about the 5 new fiddles added to songbook :D Is there an update planned ?
./toasts
Zed’
Six fiddles grins
It’s being planned. No ETA yet
Would love to see a new version with an option for a second row of instruments starting around 12 on the top row and then starting a second row, or even an option on how many per row with multiple rows available
I agree with Fincin. Would be nice to get a second row for instruments, our songbook takes up half the screen just to fit what we have so far sometimes…
./toasts
Zed’
An update is planned, but still no ETA. Real lives are currently busy.
Any issue with the “parts” not being accurately labeled within songbook? I have several song recently created with Maestro and within it stated “%%part-name Theorbo” yet when in game or even the ABC player all parts revert to the Lute of the Ages. Help?
I don’t think it is a Songbook issue, but rather a tagging issue from when the file was created in Maestro. The only times I have seen this happen in ABC player is when the song title includes the name of an instrument. Example: If the song title is “Song for Lute”, that’ll override any other instrument assignments.
Just seen change to /music (why SSG), does this break Songbook?
The music on/off/true/false thing? I think they are optional parameters, and if so things should work still.
But if we don’t tell Nimelia they’re optional, perhaps we can trick her into updating the plugin with all the changes we want?
Sorry. I am the reason they added on/off. It was necessary for me for the application I am working on. I haven’t seen this thread until now. The /music still works. Nothing in that respect has changed. There is simply an addition to the /music where you can specify if you want it to be on or off. This didn’t break anything. Dev’s were kind enough to add that into an update.
Trends a cunning plan
Sigh autocorrect, teehee
Greetings. I’d love to be able to use this plugin but I’m having trouble. When trying to install/run Songbook, I’m getting the following error on Mac OS running LOTRO
…Plugins/ChiranBB/SongbookBB/SongbookWindow.lua:43: Unable to parse file!
Hello Pen’. Did you have made the songbookdata file needs to feed the songbook with the SongbookFiller.exe ?
Hello Zed’
Pardon this question, truly, but I don’t know what you mean by “Did you have made the songbookdata file needs to feed the songbook with the SongbookFiller.exe ?” Can you word your question a different way?
I downloaded it and followed the instructions, or thought I did it right. I’ve got ChiranBB folder in Plugins.
Here is a screenshot of what I have:
https://c2.staticflickr.com/8/7917/39766741993_cdddaf00e0_o.jpg
Songbook needs a file with data about all the ABC songs you have in your music folder. The error message you got indicates that there is something wrong with the data file, or that it is missing.
To create that file, there are different “data filler” programs. Which have you used: The SongbookFiller.exe in the same folder as in your picture, or the Songbooker tool for MAC listed near the top of this page? (I recommend the latter – it is faster and with more functionality)
Okay after a few months of fiddling… The problem I was having was that the application you pointed out wasn’t working on my mac. Every solution that someone was giving me was not a solution for me. Kept getting odd errors. I finally figured out why. I formatted my new SSD to be case sensitive and apparently that messes up apps in odd ways. While most of the OS was fine and most of my apps fine, I just kept running into little issues. Or having to find files and rename them to what the application wanted. So if an App wanted to access a file named “Janes_Files” and it was “janes_files” I’d have to correct the case of J and F. Yeah, it was a silly error on my part to format my drive that way, but I rebuilt it, and many of the little problems that weren’t working have gone. Songbook finally works. NOW…. I need an ABC file editor that works on a MAC!
Aha! Aye, that’s a particular error and then some. Good to hear yer managed to sort it out!
I don’t off the top of my head know any ABC file editors that work on a Mac, but I’ll ask around.
Much appreciated if you can think of something.
So, I saw this on a LOTRO discord, someone has been in touch with the Maestro creator (not sure if it was you? *smiles *)
But aye, Maestro should run on Mac:
“Maestro is written in Java so it should work on Mac, although I haven’t tried it myself. Download the .zip file instead of the .msi, then unzip it and run Maestro.jar using Java. You shouldn’t need to use Wine.
https://github.com/digero/maestro/releases/download/v2.5.0/Maestro_v2.5.0.zip
(It’s linked under Assets on the bottom of the github release)”
The player installed JAVA and instead of the .exe file, ran the .jar file. And apparently it worked.
Hi,
When I open the playback application, it shows as there are already 3 instruments playing and they start to play. Is there a way to fix it and make it open with nothing playing?
Hullo! I’m not really sure what error you are running into. Is this related to the SongbookBB in-game plugin (for playing synced music with bands), or the Maestro converter with the LOTRO ABC player application, where you can play/preview ABC files?
If it is the latter, you may have more luck over here:
https://github.com/digero/maestro/issues
It is fine now, and the songbook worked fine up until today. Now I am getting the following error in game when trying to load new songs to my songbook…
..nline\Plugins\ChiranBB\SongbookBB\SongbookWindow.lua:633: bad argument #1 to ‘?’ (string expected, got nil)
What does that mean, and how do I fix it?
Hi, to find why you got this issue… could you :
be sure to have a Music directory under your user The Lord of the Rings Online folder. If not, create it. And put your songs .abc in.
be sure to create your songs database with the SongbookFiller.exe (under /ChiranBB, or SongBooker.exe (see at the top of this page about it : The Songtools (Songbooker and Songbrowser))
Once done, make a try with the songbook ingame and let us know.
Zed’
I think I figured out what was wrong. Does songbook supports foreign languages in the titles or folder?
It should support FRench, ENglish and GErman. However, I suggest you to use only Aa to Zz and 0 to 9… and avoiding any special characters. More, double spacing may be a problem.
The most known languages issue is coming when we are using “0,0” as EUropean values instead english one. (Same case for “0.0” from EN to EU).
Hullo! I spoke briefly to Nimelia. I think she did fix the special characters issue (for instance, umlauts) in file names back in the day, but the fix may not have included folder names. Best use plain English characters for folder names. Nimelia’ll likely look into this for a future version.
Hi I tried using songbook first but when I tried to load it with the command in game it gave a message : unbale to load songbook. Then I tried songbook bb still no luck. The problem with both is that I cant check the option load songbook bb at the manager plugin before I log in.
The directory is C:\Users\phili\Documents\The Lord of the Rings Online\Plugins\ChiranBB
Can anyone help me?
Hullo there.
First, make sure you use the command: /plugins load songbookbb
(no space between songbook and bb)
Else, just to tick off some things for problem solving:
– Have you installed the plugin from from the zip file named songbookbb-v094 ?
(the one linked here: http://www.linawillow.org/home/wp-content/uploads/2015/03/songbookbb-v094.zip
– Do other plugins installed in the same directory work well?
– Have you used a datafiller to scan your ABC songs into SongbookBB?
hello, I had to reinstall Songbook because I had no sound in the game and Stone adviced me to name the Lord of the Rings-File in AltThe Lord of the Rings. After doing this all my plugins were gone. Now I loaded down your new version of Songbook, but I can only fill in the songs for one of my accounts, there is no possibillity anymore to scroll for the other accounts.
hello, and I don´t have the note-icon on my desktop anymore. Stone just tells me, the plugins are the reason for my troubles. :p
Hullo!
First, it sounds weird if plugins should be the reason don’t have any in-game sound, but oh well. Who is Stone, by the way, is it Standing Stone Games?
As for the note-icon: Please note that the Songbook window does not always show the first time you load the new plugin. To fix that, type “/songbookbb show”, and the window should pop up. Then see if your note icon also shows. If not, go into the Songbook settings and make sure that “Songbook button visible” is enabled and that the opacity setting does not hide it.
As for filling songs: Is that the datafiller you’re thinking of, where you scan your ABC songs before you start LOTRO and load SongbookBB? Some things to look at:
– Do all your accounts show up in the datafiller window, or only one?
– If it is the latter, try log into every one of your account before you try use the datafiller. Hopefully they will show then, and you can select them (likely one at a time) and fill songs for all accounts.
If this doesn’t solve your issues, just add your experiences here and I’ll get the plugin author to come on over to have a look.
hello, I solved the problems I mentioned meanwhile, but I can still not start Songbook, cause there is no more possibillity to choose the instruments for the players anymore. whats wrong?
Hm, I’m not sure exactly what your problem is. What do you mean by it not being possible to choose the instruments?
– Is there no overview of the parts for different instruments in a songs? If so, go into settings, and near the top (under general settings) there is an option to make “song part list visible”. Make sure this is enabled.
– Are there no quickslots with instruments at the bottom? If so, go into settings (down to instrument slot settings), and make sure that “show instruments” is enabled.
´thank you, I can see the different instruments again, but there are still no slots for the instruments to choose. But I´m glad Songbook works for me again ;)
“Unable to resolve package “ChiranBB.SongbookBB”
Please help
That sounds like (some of) the Songbook files cannot be found. Please check the ‘ChiranBB’ folder in your LotRo ‘plugins’ folder, and see if it contains a folder called ‘SongbookBB’.
A possible reason could be that the Songbook archive was extracted without directory structure, make sure that option is checked.
Fixed ty<3 I’ve got the music in me
Dear Nimelia, dear Lina,
thank you for your initiative. SongbookBB is a fantastic plugin and I miss it so much since I cannot use it.
I changed recently to the 64 version of the game and, since the problem started there, I think the plugin daoesn´t work properly in that version.
When I try to load SongbookBB I get this:
…nline\Plugins\ChiranBB\SongbookBB\SettingsWindow.lua:133: attempt to perform arithmetic on field ‘ToggleOpacity’ (a nil value)
It would be fantastic if you could help me. Thank you again.
Hullo there!
I haven’t installed the 64 bit client myself yet, but I will see if I can do it this weekend.
I’ll report back once I’ve got it up and running!
Thank you for your time!
In the data the line is
[“ToggleOpacity”] = “0,25”,
exactly as in yours.
Hullo there!
I see it is not quite the same – your line uses a comma as a decimal point, while mine uses a point. With the 64 bit client update, the client’s locale (and therefore the number format) seems to have changed in your case.
If that is indeed the cause of the problem, there should be a quick fix: Could you try and replace the comma with a point for two lines in that file:
[“ToggleOpacity”] = “0.25”
[“WindowOpacity”] = “0.9”,
and see if it works? If that is it, I will add a fix in the code.
It was like magic! :-) Now it works again.
You are an atentive reader! I knew, it was a good idea to copy and paste what I found in my file, anyway I am not qualified to understand anything there.
Thank you so much! Now I can make music comfortably again. See you!
Hullo again!
I now have the 64 bit client installed, and Songbook seems to work.
Since I can’t reproduce your problem, from looking at the code I see one possible reason for the error you are describing.
Could you please open the file
SongbookSettings.plugindata
which should be in
Documents\The Lord of the Rings Online/PluginData//AllServers
and give me the line which contains [“ToggleOpacity”]. In my case it looks like this:
[“ToggleOpacity”] = “0.25”
If this line is somehow garbled (which should normally not happen though), it would result in the error message you quoted.
Then again, there’s probably other ways to get the same error, so if your SongbookSettings file is ok … I’ll have to do some more thinking!
Hi i installed it and had it working fine and was jamming out to tunes with my friends but i logged in today and i am getting this error …nline\Plugins\ChiranBB\SongbookBB\SongbookWindow.lua:2593: attempt to index field ‘listboxPlayers’ (a nil value)
Any help would be appreciated!
Hullo there!
When exactly are you getting this error – right at startup, or while you are already using it?
Hi Yeah so it was on the plugin loading but i fixed it!
I think the issue was one of the setting i ticked in game so i deleted the server info
SongbookData.plugindata
SongbookSettingsBB.plugindata
so it booted like it was first time running it and it is working again :D