Compare commits
3 Commits
196b93c7f3
...
e4b63073d8
Author | SHA1 | Date | |
---|---|---|---|
e4b63073d8 | |||
d49f3ab030 | |||
62835065c0 |
@ -369,7 +369,7 @@ namespace unison
|
|||||||
{
|
{
|
||||||
_cover = BitmapFrame.Create(stream, BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
|
_cover = BitmapFrame.Create(stream, BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
|
||||||
}
|
}
|
||||||
catch (System.NotSupportedException e)
|
catch (System.NotSupportedException)
|
||||||
{
|
{
|
||||||
_cover = null;
|
_cover = null;
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
* lightweight window that can be toggled with shortcuts
|
* lightweight window that can be toggled with shortcuts
|
||||||
* music control through shortcuts
|
* music control through shortcuts
|
||||||
* [Snapcast](https://mjaggard.github.io/snapcast/) integration
|
* [Snapcast](https://mjaggard.github.io/snapcast/) integration
|
||||||
|
* Radio stations
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
@ -26,6 +27,12 @@ You can control your music at anytime with the shortcuts. They can of course be
|
|||||||
|
|
||||||
The main goal of embedding Snapcast is the ability to listen locally to music when I'm not using my main audio system. The computer running unison can then play music easily.
|
The main goal of embedding Snapcast is the ability to listen locally to music when I'm not using my main audio system. The computer running unison can then play music easily.
|
||||||
|
|
||||||
|
### Radio stations
|
||||||
|
|
||||||
|
Through [Radio-Browser](https://www.radio-browser.info), a community database, you can play radio-streams directly from unison. There are more than 28,000 stations recorded on this service, so it should be a nice way to discover new music and cultures.
|
||||||
|
|
||||||
|
![Radio stations](Screenshots/screen4.png)
|
||||||
|
|
||||||
## Caveats
|
## Caveats
|
||||||
|
|
||||||
### Missing features
|
### Missing features
|
||||||
@ -37,7 +44,6 @@ The main goal of embedding Snapcast is the ability to listen locally to music wh
|
|||||||
### Wanted features
|
### Wanted features
|
||||||
|
|
||||||
* A complete shuffle system based on set criteria, aka a smart playlist.
|
* A complete shuffle system based on set criteria, aka a smart playlist.
|
||||||
* Radio integration.
|
|
||||||
|
|
||||||
## Translations
|
## Translations
|
||||||
|
|
||||||
|
9
Resources/Resources.Designer.cs
generated
9
Resources/Resources.Designer.cs
generated
@ -141,6 +141,15 @@ namespace unison.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Radios.
|
||||||
|
/// </summary>
|
||||||
|
public static string Radios {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Radios", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Settings.
|
/// Looks up a localized string similar to Settings.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -120,6 +120,9 @@
|
|||||||
<data name="Exit" xml:space="preserve">
|
<data name="Exit" xml:space="preserve">
|
||||||
<value>Quitter</value>
|
<value>Quitter</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Radios" xml:space="preserve">
|
||||||
|
<value>Radios</value>
|
||||||
|
</data>
|
||||||
<data name="Radio_Country" xml:space="preserve">
|
<data name="Radio_Country" xml:space="preserve">
|
||||||
<value>Pays</value>
|
<value>Pays</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -120,6 +120,9 @@
|
|||||||
<data name="Exit" xml:space="preserve">
|
<data name="Exit" xml:space="preserve">
|
||||||
<value>Exit</value>
|
<value>Exit</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Radios" xml:space="preserve">
|
||||||
|
<value>Radios</value>
|
||||||
|
</data>
|
||||||
<data name="Radio_Country" xml:space="preserve">
|
<data name="Radio_Country" xml:space="preserve">
|
||||||
<value>Country</value>
|
<value>Country</value>
|
||||||
</data>
|
</data>
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 67 KiB |
Binary file not shown.
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 50 KiB |
BIN
Screenshots/screen4.png
Normal file
BIN
Screenshots/screen4.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
@ -120,7 +120,7 @@
|
|||||||
<Button x:Name="Radio" Padding="5, 2" HorizontalAlignment="Left" Click="Radios_Clicked" Margin="5,0,10,0" Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}">
|
<Button x:Name="Radio" Padding="5, 2" HorizontalAlignment="Left" Click="Radios_Clicked" Margin="5,0,10,0" Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}">
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<emoji:TextBlock Text="📻" Padding="0,0,0,2"/>
|
<emoji:TextBlock Text="📻" Padding="0,0,0,2"/>
|
||||||
<TextBlock Text="Radios" Margin="5, 0, 0, 0"/>
|
<TextBlock Text="{x:Static properties:Resources.Radios}" Margin="5, 0, 0, 0"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Button>
|
</Button>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
@ -25,6 +25,11 @@
|
|||||||
<Image Width="16" Height="16" emoji:Image.Source="🔊" />
|
<Image Width="16" Height="16" emoji:Image.Source="🔊" />
|
||||||
</MenuItem.Icon>
|
</MenuItem.Icon>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
|
<MenuItem Header="{x:Static properties:Resources.Radios}" Command="{Binding Radios}">
|
||||||
|
<MenuItem.Icon>
|
||||||
|
<Image Width="16" Height="16" emoji:Image.Source="📻" />
|
||||||
|
</MenuItem.Icon>
|
||||||
|
</MenuItem>
|
||||||
<!--<MenuItem Header="Shuffle" Command="{Binding Shuffle}">
|
<!--<MenuItem Header="Shuffle" Command="{Binding Shuffle}">
|
||||||
<MenuItem.Icon>
|
<MenuItem.Icon>
|
||||||
<Image Width="16" Height="16" emoji:Image.Source="🔀" />
|
<Image Width="16" Height="16" emoji:Image.Source="🔀" />
|
||||||
|
@ -59,6 +59,18 @@ namespace unison
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ICommand Radios
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return new DelegateCommand
|
||||||
|
{
|
||||||
|
CommandAction = () => ((MainWindow)Application.Current.MainWindow).Radios_Clicked(null, null),
|
||||||
|
CanExecuteFunc = () => true
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public ICommand Settings
|
public ICommand Settings
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
Loading…
Reference in New Issue
Block a user