PDA

View Full Version : Welcome pack for new Developers



wpqs
2008-05-18, 04:20
would it be possible to create a welcome pack document for potential new developers? I would particularly like to know:

1. Architecture overview
2. Developer tools/ skills you'll need - languages, test tools (xUnit, FIT, etc), source control
3. How to start making a contribution - important areas of the site/ source control policy/ bug reporting procedures/ documents to read etc.

Perhaps this sort of information is already available, but it's not immediately obvious to newcomers like me.

Regards

Will

bklaas
2008-05-21, 09:10
hi Will-

I would start by browsing the wiki in the Development category:

http://wiki.slimdevices.com/index.php/Category:Development

cheers,
#!/ben

erland
2008-05-21, 09:41
Do you have some specific feature in mind that you like to implement ?

There is an architectural overview available focused on the SqueezeOS part here:
http://wiki.slimdevices.com/index.php/SqueezeOSArchitecture

If you are interested in other parts of the software someone could probably describe it for you, but in that case it would help to know what feature you are trying to accomplish.

mflint
2008-05-22, 04:57
> Do you have some specific feature in mind that you like to implement ?

That's quite a question. Many people (me included) don't really know what needs doing, what's on (or not on) SlimDevices' roadmaps, and whether they have time/resources allocated to tasks.

I was browsing the Wine wiki (http://wiki.winehq.org/) yesterday and they seem to have quite an open approach to development tasks. In particular:

To do list (http://wiki.winehq.org/TodoList)
Fun projects (http://www.winehq.org/site/fun_projects)
Janitorial tasks (http://wiki.winehq.org/JanitorialProjects)

I'd like to contribute time and code to making SqueezeCenter/SqueezeOS better, but it's difficult to know where to start. If there were wiki pages similar to the Wine ones, it'd be a useful resource for willing contributors.

Me, I'd love to do a few janitorial tasks as a way of getting a broad overview of the codebase.

Matthew

bpa
2008-05-22, 05:05
A good place to start is to ask on the chat area - somedays it can be very quiet. It can be most active during US time zones.

http://forums.slimdevices.com/showpost.php?p=227135&postcount=1

erland
2008-05-22, 13:07
I'd like to contribute time and code to making SqueezeCenter/SqueezeOS better, but it's difficult to know where to start. If there were wiki pages similar to the Wine ones, it'd be a useful resource for willing contributors.

Me, I'd love to do a few janitorial tasks as a way of getting a broad overview of the codebase.

Current road map: http://wiki.slimdevices.com/index.php/SoftwareRoadmap
Unassigned bug reports target for 7.1: http://bugs.slimdevices.com/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&target_milestone=7.1&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_severity=minor&bug_severity=trivial&emailassigned_to1=1&emailtype1=substring&email1=unassigned&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=
Bug reports target for 7.1: http://bugs.slimdevices.com/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&target_milestone=7.1&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_severity=minor&bug_severity=trivial&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=
Enhancement requests target for 7.1: http://bugs.slimdevices.com/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&target_milestone=7.1&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=enhancement&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=
Unassigned bug reports target for 7.2: http://bugs.slimdevices.com/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&target_milestone=7.2&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_severity=minor&bug_severity=trivial&emailassigned_to1=1&emailtype1=substring&email1=unassigned&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=
Bug reports target for 7.2: http://bugs.slimdevices.com/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&target_milestone=7.2&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_severity=minor&bug_severity=trivial&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=
Enhancement requests target for 7.2: http://bugs.slimdevices.com/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&target_milestone=7.2&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=enhancement&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=
Plugin ideas: http://wiki.slimdevices.com/index.php/PluginIdeas
Wiki editing needed:http://wiki.slimdevices.com/index.php/WikiWorkNeeded

cparker
2008-05-22, 13:19
I would like to see more v7 examples on how to display graphics and more than 2 lines of text.

The tech info is very light on how to do this and just mentions it can be done but then doesnt really enlighten you how, well in simple speak anyway :s

kdf
2008-05-22, 15:09
I imagine, something like this.



return {
'line' => [ $line1, $line2, $line3 ],
'center' => [ $center1, $center2, $center3 ],
'overlay' => [ $overlay1, $overlay2, $overlay3 ],
'fonts' => {
'graphic-320x32' => 'threeline',
}
}

};


All this dev stuff is probably better off in the developer forum.

-kdf

Triode
2008-05-23, 10:35
Display api is documented as part of the server under help - technical information - display api. This should include all the relavent calls to display stuff on the player displays.

cparker
2008-05-24, 01:57
Well I got some progress, the 3 lines appear but only for about 1 second. For some reason it wont pick up my block and duration code to hold the display.

Any ideas? :s

This is the code that does work;
$client->showBriefly({ line => [$mytopline, $a],,}, {
'duration' => 15, 'block' => 0});

Expanded to use 3 lines, this doesnt work for more than 1 second;

$client->showBriefly({
'line' => [ $mytopline, $a, $mytopline ],
'duration' => 15,
'block' => 0,
'center' => [ $center1, $center2, $center3 ],
'overlay' => [ $overlay1, $overlay2, $overlay3 ],
'fonts' => { 'graphic-320x32' => 'threeline',}
}
);

Triode
2008-05-24, 03:00
You need to pass 2 hashes - one for the display itself and one for the optional parameters to showBriefly. You are doing this in the first case, but have merged them in the second case.

Something like the following:

$client->showBriefly( {
line => ['line1', 'line2','line3'],
fonts => { graphics-320x32 => 'threeline' }
}, { duration => 15, block => 0 } );

cparker
2008-05-24, 09:07
Excellent thanks, for completeness the following worked :)

$client->showBriefly({
'line' => [$mytopline, $a, $b],
'fonts' => {'graphic-320x32' => 'threeline' }
}, { 'duration' => 15, 'block' => 0 } );


Now those pesky icons... ;)