Procházet zdrojové kódy

Set stream name/description

Bob Mottram před 7 roky
rodič
revize
98b427de1a
1 změnil soubory, kde provedl 38 přidání a 4 odebrání
  1. 38
    4
      src/freedombone-app-icecast

+ 38
- 4
src/freedombone-app-icecast Zobrazit soubor

340
     esac
340
     esac
341
 }
341
 }
342
 
342
 
343
+function icecast_set_stream_name {
344
+    data=$(tempfile 2>/dev/null)
345
+    trap "rm -f $data" 0 1 2 5 15
346
+    dialog --backtitle $"Freedombone Control Panel" \
347
+           --title $"Change Icecast stream details" \
348
+           --form "\n" 8 60 4 \
349
+           $"Stream name:" 1 1 "Example stream name" 1 18 40 1000 \
350
+           $"Description:" 2 1 "A short description of your stream" 2 18 40 1000 \
351
+           $"Genre:" 3 1 "Example genre" 3 18 40 1000 \
352
+           2> $data
353
+    sel=$?
354
+    case $sel in
355
+        1) return;;
356
+        255) return;;
357
+    esac
358
+    stream_name=$(cat $data | sed -n 1p)
359
+    stream_description=$(cat $data | sed -n 2p)
360
+    stream_genre=$(cat $data | sed -n 3p)
361
+    if [ ${#stream_name} -gt 2 ]; then
362
+        sed -i "s|<name>.*|<name>${stream_name}</name>|g" /etc/ices2/ices-playlist.xml
363
+    fi
364
+    if [ ${#stream_description} -gt 2 ]; then
365
+        sed -i "s|<description>.*|<description>${stream_description}</description>|g" /etc/ices2/ices-playlist.xml
366
+    fi
367
+    if [ ${#stream_genre} -gt 2 ]; then
368
+        sed -i "s|<genre>.*|<genre>${stream_genre}</genre>|g" /etc/ices2/ices-playlist.xml
369
+    fi
370
+    rm $data
371
+    stop_icecast
372
+    start_icecast
373
+}
374
+
343
 function configure_interactive_icecast {
375
 function configure_interactive_icecast {
344
     while true
376
     while true
345
     do
377
     do
347
         trap "rm -f $data" 0 1 2 5 15
379
         trap "rm -f $data" 0 1 2 5 15
348
         dialog --backtitle $"Freedombone Control Panel" \
380
         dialog --backtitle $"Freedombone Control Panel" \
349
                --title $"Icecast" \
381
                --title $"Icecast" \
350
-               --radiolist $"Choose an operation:" 17 70 10 \
382
+               --radiolist $"Choose an operation:" 18 70 11 \
351
                1 $"Import stream files from directory" off \
383
                1 $"Import stream files from directory" off \
352
                2 $"Import stream files from USB drive" off \
384
                2 $"Import stream files from USB drive" off \
353
                3 $"Manually edit playlist" off \
385
                3 $"Manually edit playlist" off \
357
                7 $"Change password for stream visitors" off \
389
                7 $"Change password for stream visitors" off \
358
                8 $"Re-scan playlist" off \
390
                8 $"Re-scan playlist" off \
359
                9 $"Restart stream" off \
391
                9 $"Restart stream" off \
360
-               10 $"Exit" on 2> $data
392
+               10 $"Set Stream Name/Description/Genre" off \
393
+               11 $"Exit" on 2> $data
361
         sel=$?
394
         sel=$?
362
         case $sel in
395
         case $sel in
363
             1) break;;
396
             1) break;;
376
                icecast_rescan;;
409
                icecast_rescan;;
377
             9) clear
410
             9) clear
378
                echo $'Restarting Icecast stream'
411
                echo $'Restarting Icecast stream'
379
-               stop_icacast
412
+               stop_icecast
380
                start_icecast;;
413
                start_icecast;;
381
-            10) break;;
414
+            10) icecast_set_stream_name;;
415
+            11) break;;
382
         esac
416
         esac
383
     done
417
     done
384
 }
418
 }