mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Adding support for the Brightscript language, with samples.
This commit is contained in:
		| @@ -181,6 +181,11 @@ Brainfuck: | |||||||
|   extensions: |   extensions: | ||||||
|   - .bf |   - .bf | ||||||
|  |  | ||||||
|  | Brightscript: | ||||||
|  |   type: programming | ||||||
|  |   lexer: Text only | ||||||
|  |   primary_extension: .brs | ||||||
|  |  | ||||||
| Bro: | Bro: | ||||||
|   type: programming |   type: programming | ||||||
|   primary_extension: .bro |   primary_extension: .bro | ||||||
|   | |||||||
| @@ -27,6 +27,9 @@ | |||||||
|     "Bluespec": [ |     "Bluespec": [ | ||||||
|       ".bsv" |       ".bsv" | ||||||
|     ], |     ], | ||||||
|  |     "Brightscript": [ | ||||||
|  |       ".brs" | ||||||
|  |     ], | ||||||
|     "C": [ |     "C": [ | ||||||
|       ".c", |       ".c", | ||||||
|       ".h" |       ".h" | ||||||
| @@ -477,8 +480,8 @@ | |||||||
|       ".gemrc" |       ".gemrc" | ||||||
|     ] |     ] | ||||||
|   }, |   }, | ||||||
|   "tokens_total": 423589, |   "tokens_total": 424168, | ||||||
|   "languages_total": 488, |   "languages_total": 489, | ||||||
|   "tokens": { |   "tokens": { | ||||||
|     "ABAP": { |     "ABAP": { | ||||||
|       "*/**": 1, |       "*/**": 1, | ||||||
| @@ -2573,6 +2576,268 @@ | |||||||
|       "addRules": 1, |       "addRules": 1, | ||||||
|       "preempts": 1 |       "preempts": 1 | ||||||
|     }, |     }, | ||||||
|  |     "Brightscript": { | ||||||
|  |       "**": 17, | ||||||
|  |       "Simple": 1, | ||||||
|  |       "Grid": 2, | ||||||
|  |       "Screen": 2, | ||||||
|  |       "Demonstration": 1, | ||||||
|  |       "App": 1, | ||||||
|  |       "Copyright": 1, | ||||||
|  |       "(": 32, | ||||||
|  |       "c": 1, | ||||||
|  |       ")": 31, | ||||||
|  |       "Roku": 1, | ||||||
|  |       "Inc.": 1, | ||||||
|  |       "All": 3, | ||||||
|  |       "Rights": 1, | ||||||
|  |       "Reserved.": 1, | ||||||
|  |       "************************************************************": 2, | ||||||
|  |       "Sub": 2, | ||||||
|  |       "Main": 1, | ||||||
|  |       "set": 2, | ||||||
|  |       "to": 10, | ||||||
|  |       "go": 1, | ||||||
|  |       "time": 1, | ||||||
|  |       "get": 1, | ||||||
|  |       "started": 1, | ||||||
|  |       "while": 4, | ||||||
|  |       "gridstyle": 7, | ||||||
|  |       "<": 1, | ||||||
|  |       "print": 7, | ||||||
|  |       ";": 10, | ||||||
|  |       "screen": 5, | ||||||
|  |       "preShowGridScreen": 2, | ||||||
|  |       "showGridScreen": 2, | ||||||
|  |       "end": 2, | ||||||
|  |       "End": 4, | ||||||
|  |       "Set": 1, | ||||||
|  |       "the": 17, | ||||||
|  |       "configurable": 1, | ||||||
|  |       "theme": 3, | ||||||
|  |       "attributes": 2, | ||||||
|  |       "for": 10, | ||||||
|  |       "application": 1, | ||||||
|  |       "Configure": 1, | ||||||
|  |       "custom": 1, | ||||||
|  |       "overhang": 1, | ||||||
|  |       "and": 4, | ||||||
|  |       "Logo": 1, | ||||||
|  |       "are": 2, | ||||||
|  |       "artwork": 2, | ||||||
|  |       "colors": 1, | ||||||
|  |       "offsets": 1, | ||||||
|  |       "specific": 1, | ||||||
|  |       "app": 1, | ||||||
|  |       "******************************************************": 4, | ||||||
|  |       "Screens": 1, | ||||||
|  |       "can": 2, | ||||||
|  |       "make": 1, | ||||||
|  |       "slight": 1, | ||||||
|  |       "adjustments": 1, | ||||||
|  |       "default": 1, | ||||||
|  |       "individual": 1, | ||||||
|  |       "attributes.": 1, | ||||||
|  |       "these": 1, | ||||||
|  |       "greyscales": 1, | ||||||
|  |       "theme.GridScreenBackgroundColor": 1, | ||||||
|  |       "theme.GridScreenMessageColor": 1, | ||||||
|  |       "theme.GridScreenRetrievingColor": 1, | ||||||
|  |       "theme.GridScreenListNameColor": 1, | ||||||
|  |       "used": 1, | ||||||
|  |       "in": 3, | ||||||
|  |       "theme.CounterTextLeft": 1, | ||||||
|  |       "theme.CounterSeparator": 1, | ||||||
|  |       "theme.CounterTextRight": 1, | ||||||
|  |       "theme.GridScreenLogoHD": 1, | ||||||
|  |       "theme.GridScreenLogoOffsetHD_X": 1, | ||||||
|  |       "theme.GridScreenLogoOffsetHD_Y": 1, | ||||||
|  |       "theme.GridScreenOverhangHeightHD": 1, | ||||||
|  |       "theme.GridScreenLogoSD": 1, | ||||||
|  |       "theme.GridScreenOverhangHeightSD": 1, | ||||||
|  |       "theme.GridScreenLogoOffsetSD_X": 1, | ||||||
|  |       "theme.GridScreenLogoOffsetSD_Y": 1, | ||||||
|  |       "theme.GridScreenFocusBorderSD": 1, | ||||||
|  |       "theme.GridScreenFocusBorderHD": 1, | ||||||
|  |       "use": 1, | ||||||
|  |       "your": 1, | ||||||
|  |       "own": 1, | ||||||
|  |       "description": 1, | ||||||
|  |       "background": 1, | ||||||
|  |       "theme.GridScreenDescriptionOffsetSD": 1, | ||||||
|  |       "theme.GridScreenDescriptionOffsetHD": 1, | ||||||
|  |       "return": 5, | ||||||
|  |       "Function": 5, | ||||||
|  |       "Perform": 1, | ||||||
|  |       "any": 1, | ||||||
|  |       "startup/initialization": 1, | ||||||
|  |       "stuff": 1, | ||||||
|  |       "prior": 1, | ||||||
|  |       "style": 6, | ||||||
|  |       "as": 2, | ||||||
|  |       "string": 3, | ||||||
|  |       "As": 3, | ||||||
|  |       "Object": 2, | ||||||
|  |       "m.port": 3, | ||||||
|  |       "CreateObject": 2, | ||||||
|  |       "screen.SetMessagePort": 1, | ||||||
|  |       "screen.": 1, | ||||||
|  |       "The": 1, | ||||||
|  |       "will": 3, | ||||||
|  |       "show": 1, | ||||||
|  |       "retreiving": 1, | ||||||
|  |       "categoryList": 4, | ||||||
|  |       "getCategoryList": 1, | ||||||
|  |       "[": 3, | ||||||
|  |       "]": 4, | ||||||
|  |       "+": 1, | ||||||
|  |       "screen.setupLists": 1, | ||||||
|  |       "categoryList.count": 2, | ||||||
|  |       "screen.SetListNames": 1, | ||||||
|  |       "StyleButtons": 3, | ||||||
|  |       "getGridControlButtons": 1, | ||||||
|  |       "screen.SetContentList": 2, | ||||||
|  |       "i": 3, | ||||||
|  |       "-": 15, | ||||||
|  |       "getShowsForCategoryItem": 1, | ||||||
|  |       "screen.Show": 1, | ||||||
|  |       "true": 1, | ||||||
|  |       "msg": 3, | ||||||
|  |       "wait": 1, | ||||||
|  |       "getmessageport": 1, | ||||||
|  |       "does": 1, | ||||||
|  |       "not": 2, | ||||||
|  |       "work": 1, | ||||||
|  |       "on": 1, | ||||||
|  |       "gridscreen": 1, | ||||||
|  |       "type": 2, | ||||||
|  |       "if": 3, | ||||||
|  |       "then": 3, | ||||||
|  |       "msg.GetMessage": 1, | ||||||
|  |       "msg.GetIndex": 3, | ||||||
|  |       "msg.getData": 2, | ||||||
|  |       "msg.isListItemFocused": 1, | ||||||
|  |       "else": 1, | ||||||
|  |       "msg.isListItemSelected": 1, | ||||||
|  |       "row": 2, | ||||||
|  |       "selection": 3, | ||||||
|  |       "yes": 1, | ||||||
|  |       "so": 2, | ||||||
|  |       "we": 3, | ||||||
|  |       "come": 1, | ||||||
|  |       "back": 1, | ||||||
|  |       "with": 2, | ||||||
|  |       "new": 1, | ||||||
|  |       ".Title": 1, | ||||||
|  |       "endif": 1, | ||||||
|  |       "**********************************************************": 1, | ||||||
|  |       "this": 3, | ||||||
|  |       "function": 1, | ||||||
|  |       "passing": 1, | ||||||
|  |       "an": 1, | ||||||
|  |       "roAssociativeArray": 2, | ||||||
|  |       "be": 2, | ||||||
|  |       "sufficient": 1, | ||||||
|  |       "springboard": 2, | ||||||
|  |       "display": 2, | ||||||
|  |       "add": 1, | ||||||
|  |       "code": 1, | ||||||
|  |       "create": 1, | ||||||
|  |       "now": 1, | ||||||
|  |       "do": 1, | ||||||
|  |       "nothing": 1, | ||||||
|  |       "Return": 1, | ||||||
|  |       "list": 1, | ||||||
|  |       "of": 5, | ||||||
|  |       "categories": 1, | ||||||
|  |       "filter": 1, | ||||||
|  |       "all": 1, | ||||||
|  |       "categories.": 1, | ||||||
|  |       "just": 2, | ||||||
|  |       "static": 1, | ||||||
|  |       "data": 2, | ||||||
|  |       "example.": 1, | ||||||
|  |       "********************************************************************": 1, | ||||||
|  |       "ContentMetaData": 1, | ||||||
|  |       "objects": 1, | ||||||
|  |       "shows": 1, | ||||||
|  |       "category.": 1, | ||||||
|  |       "For": 1, | ||||||
|  |       "example": 1, | ||||||
|  |       "cheat": 1, | ||||||
|  |       "but": 2, | ||||||
|  |       "ideally": 1, | ||||||
|  |       "you": 1, | ||||||
|  |       "dynamically": 1, | ||||||
|  |       "content": 2, | ||||||
|  |       "each": 1, | ||||||
|  |       "category": 1, | ||||||
|  |       "is": 1, | ||||||
|  |       "dynamic": 1, | ||||||
|  |       "s": 1, | ||||||
|  |       "one": 3, | ||||||
|  |       "small": 1, | ||||||
|  |       "step": 1, | ||||||
|  |       "a": 4, | ||||||
|  |       "man": 1, | ||||||
|  |       "giant": 1, | ||||||
|  |       "leap": 1, | ||||||
|  |       "mankind.": 1, | ||||||
|  |       "http": 14, | ||||||
|  |       "//upload.wikimedia.org/wikipedia/commons/1/1e/Apollo_11_first_step.jpg": 2, | ||||||
|  |       "I": 2, | ||||||
|  |       "have": 2, | ||||||
|  |       "Dream": 1, | ||||||
|  |       "PG": 1, | ||||||
|  |       "dream": 1, | ||||||
|  |       "that": 1, | ||||||
|  |       "my": 1, | ||||||
|  |       "four": 1, | ||||||
|  |       "little": 1, | ||||||
|  |       "children": 1, | ||||||
|  |       "day": 1, | ||||||
|  |       "live": 1, | ||||||
|  |       "nation": 1, | ||||||
|  |       "where": 1, | ||||||
|  |       "they": 1, | ||||||
|  |       "judged": 1, | ||||||
|  |       "by": 2, | ||||||
|  |       "color": 1, | ||||||
|  |       "their": 2, | ||||||
|  |       "skin": 1, | ||||||
|  |       "character.": 1, | ||||||
|  |       "//upload.wikimedia.org/wikipedia/commons/8/81/Martin_Luther_King_": 2, | ||||||
|  |       "_March_on_Washington.jpg": 2, | ||||||
|  |       "Flat": 6, | ||||||
|  |       "Movie": 2, | ||||||
|  |       "HD": 6, | ||||||
|  |       "x2": 4, | ||||||
|  |       "SD": 5, | ||||||
|  |       "Netflix": 1, | ||||||
|  |       "//upload.wikimedia.org/wikipedia/commons/4/43/Gold_star_on_blue.gif": 2, | ||||||
|  |       "Landscape": 1, | ||||||
|  |       "x3": 6, | ||||||
|  |       "Channel": 1, | ||||||
|  |       "Store": 1, | ||||||
|  |       "//upload.wikimedia.org/wikipedia/commons/thumb/9/96/Dunkery_Hill.jpg/800px": 2, | ||||||
|  |       "Dunkery_Hill.jpg": 2, | ||||||
|  |       "Portrait": 1, | ||||||
|  |       "x4": 1, | ||||||
|  |       "posters": 3, | ||||||
|  |       "//upload.wikimedia.org/wikipedia/commons/9/9f/Kane_George_Gurnett.jpg": 2, | ||||||
|  |       "Square": 1, | ||||||
|  |       "x1": 1, | ||||||
|  |       "//upload.wikimedia.org/wikipedia/commons/thumb/d/de/SQUARE_SHAPE.svg/536px": 2, | ||||||
|  |       "SQUARE_SHAPE.svg.png": 2, | ||||||
|  |       "x9": 1, | ||||||
|  |       "//upload.wikimedia.org/wikipedia/commons/thumb/2/22/": 2, | ||||||
|  |       "%": 8, | ||||||
|  |       "C3": 4, | ||||||
|  |       "cran_TV_plat.svg/200px": 2, | ||||||
|  |       "cran_TV_plat.svg.png": 2, | ||||||
|  |       "}": 1, | ||||||
|  |       "buttons": 1 | ||||||
|  |     }, | ||||||
|     "C": { |     "C": { | ||||||
|       "#include": 150, |       "#include": 150, | ||||||
|       "const": 358, |       "const": 358, | ||||||
| @@ -43369,6 +43634,7 @@ | |||||||
|     "Awk": 544, |     "Awk": 544, | ||||||
|     "BlitzBasic": 2065, |     "BlitzBasic": 2065, | ||||||
|     "Bluespec": 1298, |     "Bluespec": 1298, | ||||||
|  |     "Brightscript": 579, | ||||||
|     "C": 58858, |     "C": 58858, | ||||||
|     "C++": 21308, |     "C++": 21308, | ||||||
|     "Ceylon": 50, |     "Ceylon": 50, | ||||||
| @@ -43495,6 +43761,7 @@ | |||||||
|     "Awk": 1, |     "Awk": 1, | ||||||
|     "BlitzBasic": 3, |     "BlitzBasic": 3, | ||||||
|     "Bluespec": 2, |     "Bluespec": 2, | ||||||
|  |     "Brightscript": 1, | ||||||
|     "C": 26, |     "C": 26, | ||||||
|     "C++": 19, |     "C++": 19, | ||||||
|     "Ceylon": 1, |     "Ceylon": 1, | ||||||
| @@ -43610,5 +43877,5 @@ | |||||||
|     "Xtend": 2, |     "Xtend": 2, | ||||||
|     "YAML": 1 |     "YAML": 1 | ||||||
|   }, |   }, | ||||||
|   "md5": "e0528838deafd471674bb0a8d79906ce" |   "md5": "d77910fe214f3654d7538485c7388f89" | ||||||
| } | } | ||||||
							
								
								
									
										305
									
								
								samples/Brightscript/SimpleGrid.brs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										305
									
								
								samples/Brightscript/SimpleGrid.brs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,305 @@ | |||||||
|  | ' ********************************************************* | ||||||
|  | ' **  Simple Grid Screen Demonstration App | ||||||
|  | ' **  Jun 2010 | ||||||
|  | ' **  Copyright (c) 2010 Roku Inc. All Rights Reserved. | ||||||
|  | ' ********************************************************* | ||||||
|  |  | ||||||
|  | '************************************************************ | ||||||
|  | '** Application startup | ||||||
|  | '************************************************************ | ||||||
|  | Sub Main() | ||||||
|  |  | ||||||
|  |     'initialize theme attributes like titles, logos and overhang color | ||||||
|  |     initTheme() | ||||||
|  |    | ||||||
|  |     gridstyle = "Flat-Movie" | ||||||
|  |  | ||||||
|  |     'set to go, time to get started | ||||||
|  |     while gridstyle <> "" | ||||||
|  |         print "starting grid style= ";gridstyle | ||||||
|  |         screen=preShowGridScreen(gridstyle) | ||||||
|  |         gridstyle = showGridScreen(screen, gridstyle) | ||||||
|  |     end while | ||||||
|  |  | ||||||
|  | End Sub | ||||||
|  |  | ||||||
|  |  | ||||||
|  | '************************************************************* | ||||||
|  | '** Set the configurable theme attributes for the application | ||||||
|  | '**  | ||||||
|  | '** Configure the custom overhang and Logo attributes | ||||||
|  | '** These attributes affect the branding of the application | ||||||
|  | '** and are artwork, colors and offsets specific to the app | ||||||
|  | '************************************************************* | ||||||
|  |  | ||||||
|  | Sub initTheme() | ||||||
|  |     app = CreateObject("roAppManager") | ||||||
|  |     app.SetTheme(CreateDefaultTheme()) | ||||||
|  | End Sub | ||||||
|  |  | ||||||
|  | '****************************************************** | ||||||
|  | '** @return The default application theme. | ||||||
|  | '** Screens can make slight adjustments to the default | ||||||
|  | '** theme by getting it from here and then overriding | ||||||
|  | '** individual theme attributes. | ||||||
|  | '****************************************************** | ||||||
|  | Function CreateDefaultTheme() as Object | ||||||
|  |     theme = CreateObject("roAssociativeArray") | ||||||
|  |  | ||||||
|  |     theme.ThemeType = "generic-dark" | ||||||
|  |  | ||||||
|  |     ' All these are greyscales | ||||||
|  |     theme.GridScreenBackgroundColor = "#363636" | ||||||
|  |     theme.GridScreenMessageColor    = "#808080" | ||||||
|  |     theme.GridScreenRetrievingColor = "#CCCCCC" | ||||||
|  |     theme.GridScreenListNameColor   = "#FFFFFF" | ||||||
|  |  | ||||||
|  |     ' Color values work here | ||||||
|  |     theme.GridScreenDescriptionTitleColor    = "#001090" | ||||||
|  |     theme.GridScreenDescriptionDateColor     = "#FF005B" | ||||||
|  |     theme.GridScreenDescriptionRuntimeColor  = "#5B005B" | ||||||
|  |     theme.GridScreenDescriptionSynopsisColor = "#606000" | ||||||
|  |      | ||||||
|  |     'used in the Grid Screen | ||||||
|  |     theme.CounterTextLeft           = "#FF0000" | ||||||
|  |     theme.CounterSeparator          = "#00FF00" | ||||||
|  |     theme.CounterTextRight          = "#0000FF" | ||||||
|  |      | ||||||
|  |     theme.GridScreenLogoHD          = "pkg:/images/Overhang_Test_HD.png" | ||||||
|  |  | ||||||
|  |     theme.GridScreenLogoOffsetHD_X  = "0" | ||||||
|  |     theme.GridScreenLogoOffsetHD_Y  = "0" | ||||||
|  |     theme.GridScreenOverhangHeightHD = "99" | ||||||
|  |  | ||||||
|  |     theme.GridScreenLogoSD          = "pkg:/images/Overhang_Test_SD43.png" | ||||||
|  |     theme.GridScreenOverhangHeightSD = "66" | ||||||
|  |     theme.GridScreenLogoOffsetSD_X  = "0" | ||||||
|  |     theme.GridScreenLogoOffsetSD_Y  = "0" | ||||||
|  |      | ||||||
|  |     ' to use your own focus ring artwork  | ||||||
|  |     'theme.GridScreenFocusBorderSD        = "pkg:/images/GridCenter_Border_Movies_SD43.png" | ||||||
|  |     'theme.GridScreenBorderOffsetSD  = "(-26,-25)" | ||||||
|  |     'theme.GridScreenFocusBorderHD        = "pkg:/images/GridCenter_Border_Movies_HD.png" | ||||||
|  |     'theme.GridScreenBorderOffsetHD  = "(-28,-20)" | ||||||
|  |      | ||||||
|  |     ' to use your own description background artwork | ||||||
|  |     'theme.GridScreenDescriptionImageSD  = "pkg:/images/Grid_Description_Background_SD43.png" | ||||||
|  |     'theme.GridScreenDescriptionOffsetSD = "(125,170)" | ||||||
|  |     'theme.GridScreenDescriptionImageHD  = "pkg:/images/Grid_Description_Background_HD.png" | ||||||
|  |     'theme.GridScreenDescriptionOffsetHD = "(190,255)" | ||||||
|  |      | ||||||
|  |  | ||||||
|  |     return theme | ||||||
|  | End Function | ||||||
|  |  | ||||||
|  | '****************************************************** | ||||||
|  | '** Perform any startup/initialization stuff prior to  | ||||||
|  | '** initially showing the screen.   | ||||||
|  | '****************************************************** | ||||||
|  | Function preShowGridScreen(style as string) As Object | ||||||
|  |  | ||||||
|  |     m.port=CreateObject("roMessagePort") | ||||||
|  |     screen = CreateObject("roGridScreen") | ||||||
|  |     screen.SetMessagePort(m.port) | ||||||
|  | '    screen.SetDisplayMode("best-fit") | ||||||
|  |     screen.SetDisplayMode("scale-to-fill") | ||||||
|  |  | ||||||
|  |     screen.SetGridStyle(style) | ||||||
|  |     return screen | ||||||
|  |  | ||||||
|  | End Function | ||||||
|  |  | ||||||
|  |  | ||||||
|  | '****************************************************** | ||||||
|  | '** Display the gird screen and wait for events from  | ||||||
|  | '** the screen. The screen will show retreiving while | ||||||
|  | '** we fetch and parse the feeds for the show posters | ||||||
|  | '****************************************************** | ||||||
|  | Function showGridScreen(screen As Object, gridstyle as string) As string | ||||||
|  |  | ||||||
|  |     print "enter showGridScreen" | ||||||
|  |  | ||||||
|  |     categoryList = getCategoryList() | ||||||
|  |     categoryList[0] = "GridStyle: " + gridstyle | ||||||
|  |     screen.setupLists(categoryList.count()) | ||||||
|  |     screen.SetListNames(categoryList) | ||||||
|  |     StyleButtons = getGridControlButtons() | ||||||
|  |     screen.SetContentList(0, StyleButtons) | ||||||
|  |     for i = 1 to categoryList.count()-1 | ||||||
|  |         screen.SetContentList(i, getShowsForCategoryItem(categoryList[i])) | ||||||
|  |     end for | ||||||
|  |     screen.Show() | ||||||
|  |  | ||||||
|  |     while true | ||||||
|  |         print "Waiting for message" | ||||||
|  |         msg = wait(0, m.port) | ||||||
|  |         'msg = wait(0, screen.GetMessagePort())     ' getmessageport does not work on gridscreen | ||||||
|  |         print "Got Message:";type(msg) | ||||||
|  |         if type(msg) = "roGridScreenEvent" then | ||||||
|  |             print "msg= "; msg.GetMessage() " , index= "; msg.GetIndex(); " data= "; msg.getData() | ||||||
|  |             if msg.isListItemFocused() then | ||||||
|  |                 print"list item focused | current show = "; msg.GetIndex() | ||||||
|  |             else if msg.isListItemSelected() then | ||||||
|  |                 row = msg.GetIndex() | ||||||
|  |                 selection = msg.getData() | ||||||
|  |                 print "list item selected row= "; row; " selection= "; selection | ||||||
|  |  | ||||||
|  |                 ' Did we get a selection from the gridstyle selection row? | ||||||
|  |                 if (row = 0) | ||||||
|  |                     ' yes, return so we can come back with new style | ||||||
|  |                     return StyleButtons[selection].Title | ||||||
|  |                 endif | ||||||
|  |  | ||||||
|  |                 'm.curShow = displayShowDetailScreen(showList[msg.GetIndex()]) | ||||||
|  |             else if msg.isScreenClosed() then | ||||||
|  |                 return "" | ||||||
|  |             end if | ||||||
|  |         end If | ||||||
|  |     end while | ||||||
|  |  | ||||||
|  |  | ||||||
|  | End Function | ||||||
|  |  | ||||||
|  | '********************************************************** | ||||||
|  | '** When a poster on the home screen is selected, we call | ||||||
|  | '** this function passing an roAssociativeArray with the  | ||||||
|  | '** ContentMetaData for the selected show.  This data should  | ||||||
|  | '** be sufficient for the springboard to display | ||||||
|  | '********************************************************** | ||||||
|  | Function displayShowDetailScreen(category as Object, showIndex as Integer) As Integer | ||||||
|  |  | ||||||
|  |     'add code to create springboard, for now we do nothing | ||||||
|  |     return 1 | ||||||
|  |  | ||||||
|  | End Function | ||||||
|  |  | ||||||
|  |  | ||||||
|  | '************************************************************** | ||||||
|  | '** Return the list of categories to display in the filter | ||||||
|  | '** banner. The result is an roArray containing the names of  | ||||||
|  | '** all of the categories. All just static data for the example. | ||||||
|  | '*************************************************************** | ||||||
|  | Function getCategoryList() As Object | ||||||
|  |  | ||||||
|  |     categoryList = [ "GridStyle", "Reality", "History", "News", "Comedy", "Drama"] | ||||||
|  |     return categoryList | ||||||
|  |  | ||||||
|  | End Function | ||||||
|  |  | ||||||
|  |  | ||||||
|  | '******************************************************************** | ||||||
|  | '** Given the category from the filter banner, return an array  | ||||||
|  | '** of ContentMetaData objects (roAssociativeArray's) representing  | ||||||
|  | '** the shows for the category. For this example, we just cheat and | ||||||
|  | '** create and return a static array with just the minimal items | ||||||
|  | '** set, but ideally, you'd go to a feed service, fetch and parse | ||||||
|  | '** this data dynamically, so content for each category is dynamic | ||||||
|  | '******************************************************************** | ||||||
|  | Function getShowsForCategoryItem(category As Object) As Object | ||||||
|  |  | ||||||
|  |     print "getting shows for category "; category | ||||||
|  |  | ||||||
|  |     showList = [ | ||||||
|  |         { | ||||||
|  |             Title: category + ": Header", | ||||||
|  |             releaseDate: "1976", | ||||||
|  |             length: 3600-600, | ||||||
|  |             Description:"This row is category " + category, | ||||||
|  |             hdBranded: true, | ||||||
|  |             HDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/4/43/Gold_star_on_blue.gif", | ||||||
|  |             SDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/4/43/Gold_star_on_blue.gif", | ||||||
|  |             Description:"Short Synopsis #1", | ||||||
|  |             Synopsis:"Length", | ||||||
|  |             StarRating:10, | ||||||
|  |         } | ||||||
|  |         { | ||||||
|  |             Title: category + ": Beverly Hillbillies", | ||||||
|  |             releaseDate: "1969", | ||||||
|  |             rating: "PG", | ||||||
|  |             Description:"Come and listen to a story about a man named Jed: Poor mountaineer, barely kept his family fed. Then one day he was shootin at some food, and up through the ground came a bubblin crude. Oil that is, black gold, Texas tea.", | ||||||
|  |             numEpisodes:42, | ||||||
|  |             contentType:"season", | ||||||
|  |             HDPosterUrl:"http://upload.wikimedia.org/wikipedia/en/4/4e/The_Beverly_Hillbillies.jpg", | ||||||
|  |             SDPosterUrl:"http://upload.wikimedia.org/wikipedia/en/4/4e/The_Beverly_Hillbillies.jpg", | ||||||
|  |             StarRating:80, | ||||||
|  |             UserStarRating:40 | ||||||
|  |         } | ||||||
|  |         { | ||||||
|  |             Title: category + ": Babylon 5", | ||||||
|  |             releaseDate: "1996", | ||||||
|  |             rating: "PG", | ||||||
|  |             Description:"The show centers on the Babylon 5 space station: a focal point for politics, diplomacy, and conflict during the years 2257-2262.", | ||||||
|  |             numEpisodes:102, | ||||||
|  |             contentType:"season", | ||||||
|  |             HDPosterUrl:"http://upload.wikimedia.org/wikipedia/en/9/9d/Smb5-s4.jpg", | ||||||
|  |             SDPosterUrl:"http://upload.wikimedia.org/wikipedia/en/9/9d/Smb5-s4.jpg", | ||||||
|  |             StarRating:80, | ||||||
|  |             UserStarRating:40 | ||||||
|  |         } | ||||||
|  |         { | ||||||
|  |             Title: category + ": John F. Kennedy", | ||||||
|  |             releaseDate: "1961", | ||||||
|  |             rating: "PG", | ||||||
|  |             Description:"My fellow citizens of the world: ask not what America will do for you, but what together we can do for the freedom of man.", | ||||||
|  |             HDPosterUrl:"http://upload.wikimedia.org/wikipedia/en/5/52/Jfk_happy_birthday_1.jpg", | ||||||
|  |             SDPosterUrl:"http://upload.wikimedia.org/wikipedia/en/5/52/Jfk_happy_birthday_1.jpg", | ||||||
|  |             StarRating:100 | ||||||
|  |         } | ||||||
|  |         { | ||||||
|  |             Title: category + ": Man on the Moon", | ||||||
|  |             releaseDate: "1969", | ||||||
|  |             rating: "PG", | ||||||
|  |             Description:"That's one small step for a man, one giant leap for mankind.", | ||||||
|  |             HDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/1/1e/Apollo_11_first_step.jpg", | ||||||
|  |             SDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/1/1e/Apollo_11_first_step.jpg", | ||||||
|  |             StarRating:100 | ||||||
|  |         } | ||||||
|  |         { | ||||||
|  |             Title: category + ": I have a Dream", | ||||||
|  |             releaseDate: "1963", | ||||||
|  |             rating: "PG", | ||||||
|  |             Description:"I have a dream that my four little children will one day live in a nation where they will not be judged by the color of their skin, but by the content of their character.", | ||||||
|  |             HDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/8/81/Martin_Luther_King_-_March_on_Washington.jpg", | ||||||
|  |             SDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/8/81/Martin_Luther_King_-_March_on_Washington.jpg", | ||||||
|  |             StarRating:100 | ||||||
|  |         } | ||||||
|  |     ] | ||||||
|  |  | ||||||
|  |     return showList | ||||||
|  | End Function | ||||||
|  |      | ||||||
|  | function getGridControlButtons() as object | ||||||
|  |         buttons = [ | ||||||
|  |             { Title: "Flat-Movie" | ||||||
|  |               ReleaseDate: "HD:5x2 SD:5x2" | ||||||
|  |               Description: "Flat-Movie (Netflix) style" | ||||||
|  |               HDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/4/43/Gold_star_on_blue.gif" | ||||||
|  |               SDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/4/43/Gold_star_on_blue.gif" | ||||||
|  |             } | ||||||
|  |             { Title: "Flat-Landscape" | ||||||
|  |               ReleaseDate: "HD:5x3 SD:4x3" | ||||||
|  |               Description: "Channel Store" | ||||||
|  |               HDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Dunkery_Hill.jpg/800px-Dunkery_Hill.jpg", | ||||||
|  |               SDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Dunkery_Hill.jpg/800px-Dunkery_Hill.jpg", | ||||||
|  |             } | ||||||
|  |             { Title: "Flat-Portrait" | ||||||
|  |               ReleaseDate: "HD:5x2 SD:5x2" | ||||||
|  |               Description: "3x4 style posters" | ||||||
|  |               HDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/9/9f/Kane_George_Gurnett.jpg", | ||||||
|  |               SDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/9/9f/Kane_George_Gurnett.jpg", | ||||||
|  |             } | ||||||
|  |             { Title: "Flat-Square" | ||||||
|  |               ReleaseDate: "HD:7x3 SD:6x3" | ||||||
|  |               Description: "1x1 style posters" | ||||||
|  |               HDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/SQUARE_SHAPE.svg/536px-SQUARE_SHAPE.svg.png", | ||||||
|  |               SDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/SQUARE_SHAPE.svg/536px-SQUARE_SHAPE.svg.png", | ||||||
|  |             } | ||||||
|  |             { Title: "Flat-16x9" | ||||||
|  |               ReleaseDate: "HD:5x3 SD:4x3" | ||||||
|  |               Description: "HD style posters" | ||||||
|  |               HDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/thumb/2/22/%C3%89cran_TV_plat.svg/200px-%C3%89cran_TV_plat.svg.png", | ||||||
|  |               SDPosterUrl:"http://upload.wikimedia.org/wikipedia/commons/thumb/2/22/%C3%89cran_TV_plat.svg/200px-%C3%89cran_TV_plat.svg.png", | ||||||
|  |             } | ||||||
|  |        ] | ||||||
|  |        return buttons | ||||||
|  | End Function | ||||||
		Reference in New Issue
	
	Block a user