Internet radio browser GUI for music/video streams from various directory services.

⌈⌋ branch:  streamtuner2


Diff

Differences From Artifact [2d9750a4a3]:

To Artifact [15b8b002fb]:


67
68
69
70
71
72
73

74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90

91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106

107
108
109
110
111
112
113
                            </child>
                            <child>
                              <object class="GtkScrolledWindow" id="scrolledwindow4">
                                <property name="visible">True</property>
                                <property name="can_focus">True</property>
                                <child>
                                  <object class="GtkTreeView" id="tv_config_player">

                                    <property name="height_request">250</property>
                                    <property name="visible">True</property>
                                    <property name="can_focus">True</property>
                                    <property name="border_width">5</property>
                                    <property name="model">config_play</property>
                                    <property name="headers_clickable">False</property>
                                    <property name="rules_hint">True</property>
                                    <property name="search_column">0</property>
                                    <property name="level_indentation">8</property>
                                    <property name="enable_grid_lines">both</property>
                                    <property name="activate_on_single_click">True</property>
                                    <child internal-child="selection">
                                      <object class="GtkTreeSelection" id="treeview-selection1"/>
                                    </child>
                                    <child>
                                      <object class="GtkTreeViewColumn" id="tvc_config_player_type">
                                        <property name="spacing">10</property>

                                        <property name="title" translatable="yes">Format</property>
                                        <property name="sort_indicator">True</property>
                                        <child>
                                          <object class="GtkCellRendererText" id="tvcr_config_player_type">
                                            <signal name="edited" handler="config_player_edited" swapped="no"/>
                                          </object>
                                          <attributes>
                                            <attribute name="editable">2</attribute>
                                            <attribute name="text">0</attribute>
                                          </attributes>
                                        </child>
                                      </object>
                                    </child>
                                    <child>
                                      <object class="GtkTreeViewColumn" id="tvc_config_player_app">
                                        <property name="spacing">10</property>

                                        <property name="title" translatable="yes">Application</property>
                                        <child>
                                          <object class="GtkCellRendererText" id="tvcr_config_player_app">
                                            <signal name="edited" handler="config_player_edited_2" swapped="no"/>
                                          </object>
                                          <attributes>
                                            <attribute name="editable">2</attribute>







>
|









<






>
















>







67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84

85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
                            </child>
                            <child>
                              <object class="GtkScrolledWindow" id="scrolledwindow4">
                                <property name="visible">True</property>
                                <property name="can_focus">True</property>
                                <child>
                                  <object class="GtkTreeView" id="tv_config_player">
                                    <property name="width_request">0</property>
                                    <property name="height_request">200</property>
                                    <property name="visible">True</property>
                                    <property name="can_focus">True</property>
                                    <property name="border_width">5</property>
                                    <property name="model">config_play</property>
                                    <property name="headers_clickable">False</property>
                                    <property name="rules_hint">True</property>
                                    <property name="search_column">0</property>
                                    <property name="level_indentation">8</property>
                                    <property name="enable_grid_lines">both</property>

                                    <child internal-child="selection">
                                      <object class="GtkTreeSelection" id="treeview-selection1"/>
                                    </child>
                                    <child>
                                      <object class="GtkTreeViewColumn" id="tvc_config_player_type">
                                        <property name="spacing">10</property>
                                        <property name="min_width">125</property>
                                        <property name="title" translatable="yes">Format</property>
                                        <property name="sort_indicator">True</property>
                                        <child>
                                          <object class="GtkCellRendererText" id="tvcr_config_player_type">
                                            <signal name="edited" handler="config_player_edited" swapped="no"/>
                                          </object>
                                          <attributes>
                                            <attribute name="editable">2</attribute>
                                            <attribute name="text">0</attribute>
                                          </attributes>
                                        </child>
                                      </object>
                                    </child>
                                    <child>
                                      <object class="GtkTreeViewColumn" id="tvc_config_player_app">
                                        <property name="spacing">10</property>
                                        <property name="min_width">300</property>
                                        <property name="title" translatable="yes">Application</property>
                                        <child>
                                          <object class="GtkCellRendererText" id="tvcr_config_player_app">
                                            <signal name="edited" handler="config_player_edited_2" swapped="no"/>
                                          </object>
                                          <attributes>
                                            <attribute name="editable">2</attribute>
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250

251
252
253
254
255
256
257






258
259
260
261
262
263
264
                                <property name="receives_default">False</property>
                                <property name="xalign">0</property>
                                <property name="draw_indicator">True</property>
                              </object>
                              <packing>
                                <property name="expand">True</property>
                                <property name="fill">True</property>
                                <property name="padding">5</property>
                                <property name="position">3</property>
                              </packing>
                            </child>
                            <child>
                              <object class="GtkLabel" id="label45">
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="tooltip_text" translatable="yes">needs restart</property>
                                <property name="xalign">0</property>
                                <property name="label" translatable="yes">Use specific Gtk+ theme for Streamtuner2.</property>
                              </object>
                              <packing>
                                <property name="expand">True</property>
                                <property name="fill">True</property>

                                <property name="position">4</property>
                              </packing>
                            </child>
                            <child>
                              <object class="GtkComboBox" id="theme">
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>






                              </object>
                              <packing>
                                <property name="expand">False</property>
                                <property name="fill">False</property>
                                <property name="position">5</property>
                              </packing>
                            </child>







<














>




|


>
>
>
>
>
>







231
232
233
234
235
236
237

238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
                                <property name="receives_default">False</property>
                                <property name="xalign">0</property>
                                <property name="draw_indicator">True</property>
                              </object>
                              <packing>
                                <property name="expand">True</property>
                                <property name="fill">True</property>

                                <property name="position">3</property>
                              </packing>
                            </child>
                            <child>
                              <object class="GtkLabel" id="label45">
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="tooltip_text" translatable="yes">needs restart</property>
                                <property name="xalign">0</property>
                                <property name="label" translatable="yes">Use specific Gtk+ theme for Streamtuner2.</property>
                              </object>
                              <packing>
                                <property name="expand">True</property>
                                <property name="fill">True</property>
                                <property name="padding">5</property>
                                <property name="position">4</property>
                              </packing>
                            </child>
                            <child>
                              <object class="GtkHBox" id="theme_cb_placeholder">
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <child>
                                  <placeholder/>
                                </child>
                                <child>
                                  <placeholder/>
                                </child>
                              </object>
                              <packing>
                                <property name="expand">False</property>
                                <property name="fill">False</property>
                                <property name="position">5</property>
                              </packing>
                            </child>
1529
1530
1531
1532
1533
1534
1535







































































































































1536
1537
1538
1539
1540
1541
1542
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>







































































































































                <child>
                  <object class="GtkCheckButton" id="search_channel_all">
                    <property name="label" translatable="yes">all channels</property>
                    <property name="visible">True</property>
                    <property name="can_focus">True</property>
                    <property name="receives_default">False</property>
                    <property name="xalign">0.5</property>







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <object class="GtkCheckButton" id="search_channel_all">
                    <property name="label" translatable="yes">all channels</property>
                    <property name="visible">True</property>
                    <property name="can_focus">True</property>
                    <property name="receives_default">False</property>
                    <property name="xalign">0.5</property>
2128
2129
2130
2131
2132
2133
2134






















































2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150









2151
2152
2153
2154
2155
2156
2157
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>






















































            <child>
              <object class="GtkEntry" id="timer_value">
                <property name="visible">True</property>
                <property name="can_focus">True</property>
                <property name="invisible_char">●</property>
                <property name="text" translatable="yes">Fri,Sat 20:00-21:00</property>
                <property name="primary_icon_activatable">False</property>
                <property name="secondary_icon_activatable">False</property>
              </object>
              <packing>
                <property name="left_attach">1</property>
                <property name="right_attach">2</property>
                <property name="top_attach">1</property>
                <property name="bottom_attach">2</property>
              </packing>
            </child>









            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
















>
>
>
>
>
>
>
>
>







2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <object class="GtkEntry" id="timer_value">
                <property name="visible">True</property>
                <property name="can_focus">True</property>
                <property name="invisible_char">●</property>
                <property name="text" translatable="yes">Fri,Sat 20:00-21:00</property>
                <property name="primary_icon_activatable">False</property>
                <property name="secondary_icon_activatable">False</property>
              </object>
              <packing>
                <property name="left_attach">1</property>
                <property name="right_attach">2</property>
                <property name="top_attach">1</property>
                <property name="bottom_attach">2</property>
              </packing>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
            <child>
2628
2629
2630
2631
2632
2633
2634
2635
2636

2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648

2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
                            <child>
                              <object class="GtkMenuItem" id="menu_bookmark">
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="label" translatable="yes">bookmark</property>
                                <property name="use_underline">True</property>
                                <signal name="activate" handler="bookmark" swapped="no"/>
                                <accelerator key="F8" signal="activate"/>
                                <accelerator key="d" signal="activate" modifiers="GDK_CONTROL_MASK"/>

                              </object>
                            </child>
                            <child>
                              <object class="GtkImageMenuItem" id="imagemenuitem_saveas">
                                <property name="label">gtk-save-as</property>
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="use_underline">True</property>
                                <property name="use_stock">True</property>
                                <signal name="activate" handler="save_as" swapped="no"/>
                                <accelerator key="s" signal="activate" modifiers="GDK_CONTROL_MASK"/>
                                <accelerator key="F2" signal="activate"/>

                              </object>
                            </child>
                            <child>
                              <object class="GtkImageMenuItem" id="gtk-edit">
                                <property name="label">gtk-edit</property>
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="use_underline">True</property>
                                <property name="use_stock">True</property>
                                <signal name="activate" handler="streamedit_open" swapped="no"/>
                                <accelerator key="Return" signal="activate" modifiers="GDK_MOD1_MASK"/>
                                <accelerator key="space" signal="activate" modifiers="GDK_MOD1_MASK"/>
                                <accelerator key="F3" signal="activate"/>
                              </object>
                            </child>
                            <child>
                              <object class="GtkMenuItem" id="extensions0">
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="label" translatable="yes">Extensions</property>







<

>










<

>










|

|







2834
2835
2836
2837
2838
2839
2840

2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852

2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
                            <child>
                              <object class="GtkMenuItem" id="menu_bookmark">
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="label" translatable="yes">bookmark</property>
                                <property name="use_underline">True</property>
                                <signal name="activate" handler="bookmark" swapped="no"/>

                                <accelerator key="d" signal="activate" modifiers="GDK_CONTROL_MASK"/>
                                <accelerator key="F8" signal="activate"/>
                              </object>
                            </child>
                            <child>
                              <object class="GtkImageMenuItem" id="imagemenuitem_saveas">
                                <property name="label">gtk-save-as</property>
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="use_underline">True</property>
                                <property name="use_stock">True</property>
                                <signal name="activate" handler="save_as" swapped="no"/>

                                <accelerator key="F2" signal="activate"/>
                                <accelerator key="s" signal="activate" modifiers="GDK_CONTROL_MASK"/>
                              </object>
                            </child>
                            <child>
                              <object class="GtkImageMenuItem" id="gtk-edit">
                                <property name="label">gtk-edit</property>
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="use_underline">True</property>
                                <property name="use_stock">True</property>
                                <signal name="activate" handler="streamedit_open" swapped="no"/>
                                <accelerator key="F3" signal="activate"/>
                                <accelerator key="space" signal="activate" modifiers="GDK_MOD1_MASK"/>
                                <accelerator key="Return" signal="activate" modifiers="GDK_MOD1_MASK"/>
                              </object>
                            </child>
                            <child>
                              <object class="GtkMenuItem" id="extensions0">
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="label" translatable="yes">Extensions</property>
2727
2728
2729
2730
2731
2732
2733
2734
2735

2736
2737
2738
2739
2740
2741
2742
                              <object class="GtkImageMenuItem" id="menuitem_delete">
                                <property name="label">gtk-delete</property>
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="use_underline">True</property>
                                <property name="use_stock">True</property>
                                <signal name="activate" handler="delete_entry" swapped="no"/>
                                <accelerator key="x" signal="activate" modifiers="GDK_CONTROL_MASK"/>
                                <accelerator key="Delete" signal="activate"/>

                              </object>
                            </child>
                            <child>
                              <object class="GtkImageMenuItem" id="imagemenuitem8">
                                <property name="label">gtk-find</property>
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>







<

>







2933
2934
2935
2936
2937
2938
2939

2940
2941
2942
2943
2944
2945
2946
2947
2948
                              <object class="GtkImageMenuItem" id="menuitem_delete">
                                <property name="label">gtk-delete</property>
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="use_underline">True</property>
                                <property name="use_stock">True</property>
                                <signal name="activate" handler="delete_entry" swapped="no"/>

                                <accelerator key="Delete" signal="activate"/>
                                <accelerator key="x" signal="activate" modifiers="GDK_CONTROL_MASK"/>
                              </object>
                            </child>
                            <child>
                              <object class="GtkImageMenuItem" id="imagemenuitem8">
                                <property name="label">gtk-find</property>
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>