3 files modified
	
		
		8 files added
	
	
 
	
	
	
	
	
	
	
	
 |  |  | 
 |  |  | # radio-ui | 
 |  |  |  | 
 |  |  | Eine Bedienoberfläche für Webradio | 
 |  |  |  | 
 |  |  |  | 
 |  |  | ## Radiostreams | 
 |  |  |  | 
 |  |  | Nachfolgend die Adressen einiger Radiostreams | 
 |  |  |  | 
 |  |  | ### hr info | 
 |  |  |  | 
 |  |  | [Livestream-Übersicht](http://www.hr-inforadio.de/livestream/index.html) | 
 |  |  |  | 
 |  |  | MP3-Stream (128 kBit/s) | 
 |  |  | http://metafiles.gl-systemhaus.de/hr/hrinfo_2.m3u | 
 |  |  |  | 
 |  |  | MP3-Stream (48 kBit/s) | 
 |  |  | http://metafiles.gl-systemhaus.de/hr/hrinfo_1.m3u | 
 |  |  | (für mobile Anwendungen empfohlen) | 
 |  |  |  | 
 |  |  | ### radiobob | 
 |  |  |  | 
 |  |  | [Livestream-Übersicht](http://www.radiobob.de/radiobob/empfang/livestream) | 
 |  |  |  | 
 |  |  | MP3: http://streams.radiobob.de/bob-live/mp3-192/mediaplayer | 
 |  |  |  | 
 |  |  | Mobile Nutzung: http://streams.radiobob.de/bob-live/aac-64/mediaplayer | 
 
 |  |  | 
 |  |  |   /* font-size: 1.5em; */   /* currently ems cause chrome bug misinterpreting rems on body element */ | 
 |  |  |   line-height: 1.6; | 
 |  |  |   font-weight: 400; | 
 |  |  |   font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; | 
 |  |  |   /* font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; */ | 
 |  |  | } | 
 |  |  |  | 
 |  |  | .nord { | 
 |  |  |   display: flex; | 
 |  |  |   flex-flow: row; | 
 |  |  |   height: 2em; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | 
 |  |  | .zentrum { | 
 |  |  |   display: flex; | 
 |  |  |   flex-flow: row; | 
 |  |  |   overflow-x: hidden; | 
 |  |  |   margin: 0; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | .cond { | 
 |  |  |   display: none; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | @media (min-width: 35em) { | 
 |  |  |   .cond { | 
 |  |  |     display: block; | 
 |  |  |     background-color: aliceblue; | 
 |  |  |     text-align: right; | 
 |  |  |     width: 40%; | 
 |  |  |   } | 
 |  |  |   .zentrum { | 
 |  |  |     width: 60%; | 
 |  |  |     background-color: white; | 
 |  |  |   } | 
 |  |  | } | 
 |  |  |  | 
 |  |  | @media (min-width: 55em) { | 
 |  |  |   .cond { | 
 |  |  |     display: block; | 
 |  |  |     background-color: aliceblue; | 
 |  |  |     text-align: right; | 
 |  |  |     width: 60%; | 
 |  |  |   } | 
 |  |  |   .zentrum { | 
 |  |  |     width: 40%; | 
 |  |  |     background-color: white; | 
 |  |  |   } | 
 |  |  | } | 
 |  |  |  | 
 |  |  |  | 
 |  |  | .button-liste { | 
 |  |  |   display: flex; | 
 |  |  |   flex-flow: column; | 
 |  |  |   flex-wrap: wrap; | 
 |  |  |   padding: 0; | 
 |  |  |   margin: 0 0.2em 0 0.2em; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | .button-liste .button { | 
 |  |  |   text-align: left; | 
 |  |  |   margin: 0 0 0.2em 0; | 
 |  |  |   padding: 0 0.4em 0 0.4em; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | .abspieler-auswahl { | 
 |  |  |   margin: 0.3em 0 0.3em 0.5em; | 
 |  |  | } | 
 |  |  | /* fonts */ | 
 |  |  |  | 
 |  |  | @font-face { | 
 |  |  |   font-family: 'Raleway'; | 
 |  |  |   font-style: normal; | 
 |  |  |   src: url(../jslib/fonts/Raleway/Raleway-Regular.ttf) format('truetype'); | 
 |  |  |     font-family: 'Amethysta'; | 
 |  |  |     font-style: normal; | 
 |  |  |     font-weight: 700; | 
 |  |  |     src: url(/lib/fonts/Amethysta/Amethysta-Regular.ttf) format('truetype'); | 
 |  |  | } | 
 |  |  |  | 
 |  |  | /* aus Skeleton */ | 
 |  |  |  | 
 |  |  | .docs-header { | 
 |  |  |   text-transform: uppercase; | 
 |  |  |   font-size: 1.4rem; | 
 |  |  |   letter-spacing: .2rem; | 
 |  |  |   font-weight: 600; } | 
 |  |  |  | 
 |  |  | /* Typography | 
 |  |  | ?????????????????????????????????????????????????? */ | 
 |  |  | h1, h2, h3, h4, h5, h6 { | 
 |  |  |   margin-top: 0; | 
 |  |  |   margin-bottom: 2rem; | 
 |  |  |   font-weight: 300; } | 
 |  |  | h1 { font-size: 4.0rem; line-height: 1.2;  letter-spacing: -.1rem;} | 
 |  |  | h2 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; } | 
 |  |  | h3 { font-size: 3.0rem; line-height: 1.3;  letter-spacing: -.1rem; } | 
 |  |  | h4 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; } | 
 |  |  | h5 { font-size: 1.8rem; line-height: 1.5;  letter-spacing: -.05rem; } | 
 |  |  | h6 { font-size: 1.5rem; line-height: 1.6;  letter-spacing: 0; } | 
 |  |  |  | 
 |  |  | /* Buttons | 
 |  |  | ?????????????????????????????????????????????????? */ | 
 |  |  | .button, | 
 |  |  | button, | 
 |  |  | input[type="submit"], | 
 |  |  | input[type="reset"], | 
 |  |  | input[type="button"] { | 
 |  |  |   display: inline-block; | 
 |  |  |   height: 38px; | 
 |  |  |   padding: 0 30px; | 
 |  |  |   color: #555; | 
 |  |  |   text-align: center; | 
 |  |  |   font-size: 11px; | 
 |  |  |   font-weight: 600; | 
 |  |  |   line-height: 38px; | 
 |  |  |   letter-spacing: .1rem; | 
 |  |  |   text-transform: uppercase; | 
 |  |  |   text-decoration: none; | 
 |  |  |   white-space: nowrap; | 
 |  |  |   background-color: transparent; | 
 |  |  |   border-radius: 4px; | 
 |  |  |   border: 1px solid #bbb; | 
 |  |  |   cursor: pointer; | 
 |  |  |   box-sizing: border-box; } | 
 |  |  | .button:hover, | 
 |  |  | button:hover, | 
 |  |  | input[type="submit"]:hover, | 
 |  |  | input[type="reset"]:hover, | 
 |  |  | input[type="button"]:hover, | 
 |  |  | .button:focus, | 
 |  |  | button:focus, | 
 |  |  | input[type="submit"]:focus, | 
 |  |  | input[type="reset"]:focus, | 
 |  |  | input[type="button"]:focus { | 
 |  |  |   color: #333; | 
 |  |  |   border-color: #888; | 
 |  |  |   outline: 0; } | 
 |  |  | .button.button-primary, | 
 |  |  | button.button-primary, | 
 |  |  | input[type="submit"].button-primary, | 
 |  |  | input[type="reset"].button-primary, | 
 |  |  | input[type="button"].button-primary { | 
 |  |  |   color: #FFF; | 
 |  |  |   background-color: #33C3F0; | 
 |  |  |   border-color: #33C3F0; } | 
 |  |  | .button.button-primary:hover, | 
 |  |  | button.button-primary:hover, | 
 |  |  | input[type="submit"].button-primary:hover, | 
 |  |  | input[type="reset"].button-primary:hover, | 
 |  |  | input[type="button"].button-primary:hover, | 
 |  |  | .button.button-primary:focus, | 
 |  |  | button.button-primary:focus, | 
 |  |  | input[type="submit"].button-primary:focus, | 
 |  |  | input[type="reset"].button-primary:focus, | 
 |  |  | input[type="button"].button-primary:focus { | 
 |  |  |   color: #FFF; | 
 |  |  |   background-color: #1EAEDB; | 
 |  |  |   border-color: #1EAEDB; } | 
 |  |  |  | 
 |  |  | /* Forms | 
 |  |  | ?????????????????????????????????????????????????? */ | 
 |  |  | input[type="email"], | 
 |  |  | input[type="number"], | 
 |  |  | input[type="search"], | 
 |  |  | input[type="text"], | 
 |  |  | input[type="tel"], | 
 |  |  | input[type="url"], | 
 |  |  | input[type="password"], | 
 |  |  | textarea, | 
 |  |  | select { | 
 |  |  |   height: 38px; | 
 |  |  |   padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */ | 
 |  |  |   background-color: #fff; | 
 |  |  |   border: 1px solid #D1D1D1; | 
 |  |  |   border-radius: 4px; | 
 |  |  |   box-shadow: none; | 
 |  |  |   box-sizing: border-box; } | 
 |  |  | /* Removes awkward default styles on some inputs for iOS */ | 
 |  |  | input[type="email"], | 
 |  |  | input[type="number"], | 
 |  |  | input[type="search"], | 
 |  |  | input[type="text"], | 
 |  |  | input[type="tel"], | 
 |  |  | input[type="url"], | 
 |  |  | input[type="password"], | 
 |  |  | textarea { | 
 |  |  |   -webkit-appearance: none; | 
 |  |  |      -moz-appearance: none; | 
 |  |  |           appearance: none; } | 
 |  |  | textarea { | 
 |  |  |   min-height: 65px; | 
 |  |  |   padding-top: 6px; | 
 |  |  |   padding-bottom: 6px; } | 
 |  |  | input[type="email"]:focus, | 
 |  |  | input[type="number"]:focus, | 
 |  |  | input[type="search"]:focus, | 
 |  |  | input[type="text"]:focus, | 
 |  |  | input[type="tel"]:focus, | 
 |  |  | input[type="url"]:focus, | 
 |  |  | input[type="password"]:focus, | 
 |  |  | textarea:focus, | 
 |  |  | select:focus { | 
 |  |  |   border: 1px solid #33C3F0; | 
 |  |  |   outline: 0; } | 
 |  |  | label, | 
 |  |  | legend { | 
 |  |  |   display: block; | 
 |  |  |   margin-bottom: .5rem; | 
 |  |  |   font-weight: 600; } | 
 |  |  | fieldset { | 
 |  |  |   padding: 0; | 
 |  |  |   border-width: 0; } | 
 |  |  | input[type="checkbox"], | 
 |  |  | input[type="radio"] { | 
 |  |  |   display: inline; } | 
 |  |  | label > .label-body { | 
 |  |  |   display: inline-block; | 
 |  |  |   margin-left: .5rem; | 
 |  |  |   font-weight: normal; } | 
 |  |  | @font-face { | 
 |  |  |     font-family: 'Oswald'; | 
 |  |  |     font-style: normal; | 
 |  |  |     font-weight: 700; | 
 |  |  |     src: url(/lib/fonts/Oswald/Oswald-Regular.ttf) format('truetype'); | 
 |  |  | } | 
 |  |  | @font-face { | 
 |  |  |     font-family: 'OswaldBold'; | 
 |  |  |     font-weight: bold; | 
 |  |  |     src: url(/lib/fonts/Oswald/Oswald-Bold.ttf) format('truetype'); | 
 |  |  | } | 
 |  |  | @font-face { | 
 |  |  |     font-family: 'RobotoCondensed'; | 
 |  |  |     font-weight: normal; | 
 |  |  |     src: url(/lib/fonts/Roboto_Condensed/RobotoCondensed-Regular.ttf) format('truetype'); | 
 |  |  | } | 
 |  |  | @font-face { | 
 |  |  |     font-family: 'RobotoCondensedBold'; | 
 |  |  |     font-weight: bold; | 
 |  |  |     src: url(/lib/fonts/Roboto_Condensed/RobotoCondensed-Bold.ttf) format('truetype'); | 
 |  |  | } | 
 
 |  |  | 
 |  |  |  | 
 |  |  | function app_init() { | 
 |  |  |   $('.ost').hide(); | 
 |  |  |   //app_menu_init("menu/", "hauptmenue.json", "../jslib/app-menu/app-menu.tpl", ".west"); | 
 |  |  |   app_menu_init("menu/", "hauptmenue.json", "../jslib/app-menu/app-menu.tpl", ".west"); | 
 |  |  |   //app_get_template('tpl/home.tpl', 'home'); | 
 |  |  |   //app_get_template('tpl/prefs.tpl', 'prefs'); | 
 |  |  |   $('.sued').text('Bereit.'); | 
 
| New file | 
 |  |  | 
 |  |  | { | 
 |  |  |   "menue": { | 
 |  |  |     "menuetitel": "Hauptmenü", | 
 |  |  |     "wurzel": true, | 
 |  |  |     "vorgaenger": { | 
 |  |  |       "vtitel": "", | 
 |  |  |       "vverweis": "" | 
 |  |  |     }, | 
 |  |  |     "inhalt":  [ | 
 |  |  |       { | 
 |  |  |         "titel": "Einstellungen", | 
 |  |  |         "umenue": false, | 
 |  |  |         "funktion": "app_show_prefs" | 
 |  |  |       }, | 
 |  |  |       { | 
 |  |  |         "titel": "H Menüeintrag 2", | 
 |  |  |         "umenue": true, | 
 |  |  |         "verweis": "untermenue-1.json" | 
 |  |  |       }, | 
 |  |  |       { | 
 |  |  |         "titel": "H Menüeintrag 3", | 
 |  |  |         "umenue": false, | 
 |  |  |         "funktion": "app_menu_message" | 
 |  |  |       } | 
 |  |  |     ] | 
 |  |  |   } | 
 |  |  | } | 
 
| New file | 
 |  |  | 
 |  |  | { | 
 |  |  |   "menue": { | 
 |  |  |     "menuetitel": "Untermenü 1", | 
 |  |  |     "wurzel": false, | 
 |  |  |     "vorgaenger": { | 
 |  |  |       "vtitel": "Hauptmenü", | 
 |  |  |       "vverweis": "hauptmenue.json" | 
 |  |  |     }, | 
 |  |  |     "inhalt": [ | 
 |  |  |       { | 
 |  |  |         "titel": "U1 Menüeintrag 1", | 
 |  |  |         "umenue": false, | 
 |  |  |         "funktion": "app_menu_message" | 
 |  |  |       }, | 
 |  |  |       { | 
 |  |  |         "titel": "U1 Menüeintrag 2", | 
 |  |  |         "umenue": true, | 
 |  |  |         "verweis": "untermenue-2.json" | 
 |  |  |       }, | 
 |  |  |       { | 
 |  |  |         "titel": "U1 Menüeintrag 3", | 
 |  |  |         "umenue": false, | 
 |  |  |         "funktion": "app_menu_message" | 
 |  |  |       } | 
 |  |  |     ] | 
 |  |  |   } | 
 |  |  | } | 
 
| New file | 
 |  |  | 
 |  |  | { | 
 |  |  |   "menue": { | 
 |  |  |     "menuetitel": "Untermenü 2", | 
 |  |  |     "wurzel": false, | 
 |  |  |     "vorgaenger": { | 
 |  |  |       "vtitel": "Untermenü 1", | 
 |  |  |       "vverweis": "untermenue-1.json" | 
 |  |  |     }, | 
 |  |  |     "inhalt":  [ | 
 |  |  |       { | 
 |  |  |         "titel": "U2 Menüeintrag 1", | 
 |  |  |         "umenue": false, | 
 |  |  |         "funktion": "app_menu_message" | 
 |  |  |       }, | 
 |  |  |       { | 
 |  |  |         "titel": "U2 Menüeintrag 2", | 
 |  |  |         "umenue": false, | 
 |  |  |         "funktion": "app_menu_message" | 
 |  |  |       }, | 
 |  |  |       { | 
 |  |  |         "titel": "U2 Menüeintrag 3", | 
 |  |  |         "umenue": false, | 
 |  |  |         "funktion": "app_menu_message" | 
 |  |  |       } | 
 |  |  |     ] | 
 |  |  |   } | 
 |  |  | } | 
 
| New file | 
 |  |  | 
 |  |  |  | 
 |  |  | .sender-behaelter { | 
 |  |  |   display: flex; | 
 |  |  |   flex-flow: column; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | .sender { | 
 |  |  |   display: flex; | 
 |  |  |   flex-flow: row; | 
 |  |  |   flex-wrap: wrap; | 
 |  |  |   background-color: #eaeaea; | 
 |  |  |   width: 100%; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | .sender-kachel { | 
 |  |  |   display: flex; | 
 |  |  |   flex-flow: column; | 
 |  |  |   align-items: center; | 
 |  |  |   margin: 0.4em; | 
 |  |  |   background-color: white; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | .sender-name { | 
 |  |  |   font-family: RobotoCondensedBold; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | .sender-bild { | 
 |  |  |   width: 40px; | 
 |  |  |   background-color: #ebe6e6; | 
 |  |  | } | 
 
| New file | 
 |  |  | 
 |  |  | <!DOCTYPE html> | 
 |  |  | <html> | 
 |  |  |   <head> | 
 |  |  |     <title>Sender</title> | 
 |  |  |     <meta charset="UTF-8"> | 
 |  |  |     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | 
 |  |  |     <link rel="stylesheet" type="text/css" href="../jslib/app-layout/app-layout.css"> | 
 |  |  |     <link rel="stylesheet" type="text/css" href="../jslib/app-menu/nav-toggle.css"> | 
 |  |  |     <link rel="stylesheet" type="text/css" href="../jslib/app-menu/app-menu.css"> | 
 |  |  |     <link rel="stylesheet" type="text/css" href="sender.css"> | 
 |  |  |     <link rel="stylesheet" type="text/css" href="app.css"> | 
 |  |  |   </head> | 
 |  |  |   <body> | 
 |  |  |     <!-- Kopfzeile --> | 
 |  |  |     <div class="nord"> | 
 |  |  |       <div id="nav-menu"> | 
 |  |  |         <a id="nav-toggle" href="#"><span></span></a> | 
 |  |  |       </div> | 
 |  |  |       <div class="app-titel"> | 
 |  |  |         <span id="app-titel">Home</span> | 
 |  |  |       </div> | 
 |  |  |     </div> | 
 |  |  |     <!-- Inhalt --> | 
 |  |  |     <div class="inhalt"> | 
 |  |  |       <!-- westliche Seitenleiste --> | 
 |  |  |       <div class="west"></div> | 
 |  |  |       <!-- zentraler Inhaltsbereich --> | 
 |  |  |       <div class="zentrum"> | 
 |  |  |         <div id="prefs"></div> | 
 |  |  |         <div id="home"></div> | 
 |  |  |         <div class="sender-behaelter"> | 
 |  |  |           <div id="sender" class="sender"> | 
 |  |  |             <div class="sender-kachel"> | 
 |  |  |               <div class="sender-name">Sender 1</div> | 
 |  |  |               <div class="sender-bild-behaelter"><img class="sender-bild" src="bilder/table_radio_light.png"></div> | 
 |  |  |             </div> | 
 |  |  |             <div class="sender-kachel"> | 
 |  |  |               <div class="sender-name">radiobob</div> | 
 |  |  |               <div class="sender-bild-behaelter"><img class="sender-bild" src="bilder/radio-bob-logo.png"></div> | 
 |  |  |             </div> | 
 |  |  |             <div class="sender-kachel"> | 
 |  |  |               <div class="sender-name">Sender 3</div> | 
 |  |  |               <div class="sender-bild-behaelter"><img class="sender-bild" src="bilder/table_radio_light.png"></div> | 
 |  |  |             </div> | 
 |  |  |             <div class="sender-kachel"> | 
 |  |  |               <div class="sender-name">Sender 4</div> | 
 |  |  |               <div class="sender-bild-behaelter"><img class="sender-bild" src="bilder/table_radio_light.png"></div> | 
 |  |  |             </div> | 
 |  |  |           </div> | 
 |  |  |         </div> | 
 |  |  |       </div> | 
 |  |  |       <!-- oestliche Seitenleiste --> | 
 |  |  |       <div class="ost"> | 
 |  |  |         östliche Seitenleiste | 
 |  |  |       </div> | 
 |  |  |     </div> | 
 |  |  |     <!-- Fusszeile --> | 
 |  |  |     <div class="sued"> | 
 |  |  |       Fußzeile | 
 |  |  |     </div> | 
 |  |  |     <script src="../jslib/jquery-1.11.1/jquery-1.11.1.min.js"></script> | 
 |  |  |     <script src="../jslib/mustache/mustache.min.js"></script> | 
 |  |  |     <script src="../jslib/app-menu/app-menu.js"></script> | 
 |  |  |     <script src="app.js"></script> | 
 |  |  |  | 
 |  |  |     <script type="text/javascript" charset="utf-8"> | 
 |  |  |       $(document).ready(function() { | 
 |  |  |         app_init(); | 
 |  |  |       }); | 
 |  |  |     </script> | 
 |  |  |   </body> | 
 |  |  | </html> |