MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
Nightingale Forums - Interested in helping out.. Website? Add-ons?

Nightingale Forums

Full Version: Interested in helping out.. Website? Add-ons?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
I'm definitely interested in helping out. I don't have amazing technical knowledge (I know Java, PHP, Javascript, but that's about it). But I do learn really quickly so I could do something more simple like porting add-ons or feathers. And I could definitely help out with the website (if even needed) because I'm pretty good with that. The thing is this project seems pretty unstructured so I'm not really sure where to start. Not even sure on how I would port add-ons. What's involved in this? I understand they need to be downloaded, unzipped, fixed, then rezipped but.. What exactly needs to be changed to make them compatible? Is there a page somewhere on how Mozilla extensions work? And Songbird/Nightingale APIs or anything?

ps. What's with the orange logo? I thought it was supposed to be blue :p
(12-18-2011, 07:40 PM)hydroxide Wrote: [ -> ]I'm definitely interested in helping out. I don't have amazing technical knowledge (I know Java, PHP, Javascript, but that's about it). But I do learn really quickly so I could do something more simple like porting add-ons or feathers. And I could definitely help out with the website (if even needed) because I'm pretty good with that. The thing is this project seems pretty unstructured so I'm not really sure where to start. Not even sure on how I would port add-ons. What's involved in this? I understand they need to be downloaded, unzipped, fixed, then rezipped but.. What exactly needs to be changed to make them compatible? Is there a page somewhere on how Mozilla extensions work? And Songbird/Nightingale APIs or anything?

ps. What's with the orange logo? I thought it was supposed to be blue :p

First, thanks for your interest!
If you're interested in working on AddOns or the core itself, a good page to start is the Mozilla Developer Network.
To port / fix an extension (you already discovered the download, unzip and rezip step, so I skip that) you basically have to change the target application from Songbird to Nightingale in the install.rdf file (if display panes are involved, also change it there: <songbirdConfusedomething> should become <nightingaleConfusedomething> and you should add the nightingale namespace on the top of the file, basically the songbird namespace with "getnightingale.com" instead of "songbirdnest.com").
After that, Nightingale will let you install the extension, and the pane registration will work. Most likely that is not enough to fix the extension, you should have a look at chrome.manifest, and replace songbird with nightingale there. After that, the AddOn should integrate into Nightingale as it did in Songbird.

Many simple extensions will work now, but you should scan xul and javascript in the chome directory (might be jar-packed, if so unzip, edit, rezip) for occurences of songbird, and replace them with nightingale according to the context. Some examples:
"Songbird:Main" is the windowtype of Songbird's main window, "Nightingale:Main" is correct for Nightingale.
"@songbirdnest.com/something/crazy" should become "@getnightingale.com/something/crazy", beware of "@songbirdnest.com/songbird/something" -> "@getnightingale.com/nightingale/something". Keep up- and downcase correct!

After that, test the extension (you can put it into a folder within your profile directory so you don't have to zip changes everytime), the Building an Extension Article describes the process a bit.
Most extensions should be ported now; there might be an issue if the extension was for Songbird 1.9.* and higher, as some APIs changed. If you have *much* time, open the error console, look for errors and try to fix them (most likely: javascript code, which you understand, calls things that doesn't exist, like the global JSON object, you could fix that by inserting a jsonclass helper providing JSON functionality). You can always ask us at IRC (irc://irc.mozilla.org/#nightingale) if you need help for a specific issue.

Thanks again for your interest, and welcome to the Nightingale community!
(12-18-2011, 11:28 PM)rsjtdrjgfuzkfg Wrote: [ -> ]
(12-18-2011, 07:40 PM)hydroxide Wrote: [ -> ]I'm definitely interested in helping out. I don't have amazing technical knowledge (I know Java, PHP, Javascript, but that's about it). But I do learn really quickly so I could do something more simple like porting add-ons or feathers. And I could definitely help out with the website (if even needed) because I'm pretty good with that. The thing is this project seems pretty unstructured so I'm not really sure where to start. Not even sure on how I would port add-ons. What's involved in this? I understand they need to be downloaded, unzipped, fixed, then rezipped but.. What exactly needs to be changed to make them compatible? Is there a page somewhere on how Mozilla extensions work? And Songbird/Nightingale APIs or anything?

ps. What's with the orange logo? I thought it was supposed to be blue :p

First, thanks for your interest!
If you're interested in working on AddOns or the core itself, a good page to start is the Mozilla Developer Network.
To port / fix an extension (you already discovered the download, unzip and rezip step, so I skip that) you basically have to change the target application from Songbird to Nightingale in the install.rdf file (if display panes are involved, also change it there: <songbirdConfusedomething> should become <nightingaleConfusedomething> and you should add the nightingale namespace on the top of the file, basically the songbird namespace with "getnightingale.com" instead of "songbirdnest.com").
After that, Nightingale will let you install the extension, and the pane registration will work. Most likely that is not enough to fix the extension, you should have a look at chrome.manifest, and replace songbird with nightingale there. After that, the AddOn should integrate into Nightingale as it did in Songbird.

Many simple extensions will work now, but you should scan xul and javascript in the chome directory (might be jar-packed, if so unzip, edit, rezip) for occurences of songbird, and replace them with nightingale according to the context. Some examples:
"Songbird:Main" is the windowtype of Songbird's main window, "Nightingale:Main" is correct for Nightingale.
"@songbirdnest.com/something/crazy" should become "@getnightingale.com/something/crazy", beware of "@songbirdnest.com/songbird/something" -> "@getnightingale.com/nightingale/something". Keep up- and downcase correct!

After that, test the extension (you can put it into a folder within your profile directory so you don't have to zip changes everytime), the Building an Extension Article describes the process a bit.
Most extensions should be ported now; there might be an issue if the extension was for Songbird 1.9.* and higher, as some APIs changed. If you have *much* time, open the error console, look for errors and try to fix them (most likely: javascript code, which you understand, calls things that doesn't exist, like the global JSON object, you could fix that by inserting a jsonclass helper providing JSON functionality). You can always ask us at IRC (irc://irc.mozilla.org/#nightingale) if you need help for a specific issue.

Thanks again for your interest, and welcome to the Nightingale community!

I think that a post like this is really necessary for all newbies (like me).
I'm also very interested in helping nightingale but in my case I'd like to help with the core. I'm have some experience with C++ but I learn fast.
I'd like to have a sticky post that describes how to compile the code and the different dependencies that are needed.

In my opinion there should be a post for each of the features people can help. Like the core, add-ons and feathers. Maybe feathers and add-ons are just one category, but we need a little bit more organization so more people can help.
Getting back to the main topic, so one of the add-ons that I can't live without is mashTape. So I downloaded an old version compatible with Songbird 1.8.0 to 1.9.0. I changed the install.rdf and the chrome.manifest, the add-on installed without a problem. I followed as a reference one of the add-ons that we have for Nightingale.
After installing, mashTape didn't work. I guess it's because of the other variables inside the chrome directory.
So I changed everything. I think I even changed some local variables names. I did make sure that any email address will stay the same.
Anyway, mashTape is now working! So I would like to post the .xpi so people can use it. The only problem is that the background of mashTape is purple (as in Songbird) and I don't know where to change that value.

I had to put the add-on inside a zip file, otherwise the forum wouldn't let me upload it.
(12-19-2011, 12:49 PM)fcastillo Wrote: [ -> ]Getting back to the main topic, so one of the add-ons that I can't live without is mashTape. So I downloaded an old version compatible with Songbird 1.8.0 to 1.9.0. I changed the install.rdf and the chrome.manifest, the add-on installed without a problem. I followed as a reference one of the add-ons that we have for Nightingale.
After installing, mashTape didn't work. I guess it's because of the other variables inside the chrome directory.
So I changed everything. I think I even changed some local variables names. I did make sure that any email address will stay the same.
Anyway, mashTape is now working! So I would like to post the .xpi so people can use it. The only problem is that the background of mashTape is purple (as in Songbird) and I don't know where to change that value.

I had to put the add-on inside a zip file, otherwise the forum wouldn't let me upload it.

If you want to change the colors in mashTape, you need to go into the chrome folder and extract the .jar file. In the directory of the .jar find the skin folder. This folder describes the colors that you want to change. Some colors are images and others are rgb.
@rsjtdrjgfuzkfg: This is very helpful, I'll get on it in a couple of days once I finish final exams. It almost sounds like a script could be made to convert simple addons. I definitely agree with fcastillo, a post like yours should be stickied or added into the wiki!

I agree that we need some more resources for developers in order to structure this project. I found quite a few resources on the Songbird website, maybe they could be modified and brought over to the wiki here? Then changed as Nightingale changes.

I'm interested in developing the core too (eventually) but the thread on how to build seems outdated, I'm not sure what the main differences are between Windows/Linux builds, task priority, etc. There also seems to be like 4 different github pages. Kind of confusing!
(12-19-2011, 01:53 PM)hydroxide Wrote: [ -> ]I'm interested in developing the core too (eventually) but the thread on how to build seems outdated, I'm not sure what the main differences are between Windows/Linux builds, task priority, etc. There also seems to be like 4 different github pages. Kind of confusing!

All the relevant repos are here:
https://github.com/nightingale-media-pla...positories
The repos are for different things. nightingale-hacking is the source code for nightingale, both the 1.8 and 1.10 branches (at the moment only 1.8 will build). nightingale-deps contains the source code for xulrunner, which needs to be compiled separately in order to build the master (1.10) branch. The other repos are for the website and there is one outdated repo.

As far as source code goes, a unix-like environment is required to build the source. If using Windows, then a unix-build environment, such as cygwin, is required.


The preferred tool for building on windows is msys, and if you follow the songbird wiki on building, it should build...mostly...1.8 is a little buggy on windows in terms of building, although it runs fine once done...
(12-19-2011, 01:53 PM)hydroxide Wrote: [ -> ]@rsjtdrjgfuzkfg: This is very helpful, I'll get on it in a couple of days once I finish final exams. It almost sounds like a script could be made to convert simple addons.

Feel free to write a script for that, and port extensions with it. Note that there should not be a 1:1 replacement for the Songbird -> Nightingale string, through. That's the issue that made me port (my own AddOns) by hand. The wiki entry idea sounds nice, I'll add it.

Edit: found a wiki article to that topic already, I added things mentioned here and linked it from the add-ons page. See http://wiki.getnightingale.com/doku.php?...ird_addons

@fcastillo:
After you ported an AddOn and ensured everything works as expected, you can upload it into the wiki (create an account, edit the AddOns page and use the image upload button, sounds strange but works). If there are minor issues (everything works, but a glitch you can't fix or something similar) you might still upload it with a hint about what is not working.
If you're interested in improving the core, search for something you want to do, ask for it in IRC to ensure noone else is working on the same thing, fork the repro, commit changes and fill a pull request to the official repro.
(12-20-2011, 04:02 AM)rsjtdrjgfuzkfg Wrote: [ -> ]Feel free to write a script for that, and port extensions with it. Note that there should not be a 1:1 replacement for the Songbird -> Nightingale string, through. That's the issue that made me port (my own AddOns) by hand.

I think it's pretty easy, the script will have to replace all the 'songbirdnest' strings first to 'getnightingale', so the only remaining strings are just 'songbird' and can be safely replaced with 'nightingale'. The only problem is when you find somebody's email address like: email@songbirdnest and it gets changed to email@getnightingale

(12-20-2011, 04:02 AM)rsjtdrjgfuzkfg Wrote: [ -> ]@fcastillo:
After you ported an AddOn and ensured everything works as expected, you can upload it into the wiki (create an account, edit the AddOns page and use the image upload button, sounds strange but works). If there are minor issues (everything works, but a glitch you can't fix or something similar) you might still upload it with a hint about what is not working.
If you're interested in improving the core, search for something you want to do, ask for it in IRC to ensure noone else is working on the same thing, fork the repro, commit changes and fill a pull request to the official repro.

I'll check if anybody is working in ID3 tags, I posted another entry in the forum and apparently nobody is but I'll check with the IRC people.
So, does the 1.8.1 branch compile without problems in Ubuntu? I need a working copy if I'm going to modify the ID3 part of the code.
Pages: 1 2