Merge branch 'main' into shuffle
This commit is contained in:
commit
a6b7ad9c1e
14
CHANGELOG.md
14
CHANGELOG.md
@ -1,5 +1,19 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## v1.3
|
||||||
|
|
||||||
|
*Released: 18/04/2022*
|
||||||
|
|
||||||
|
* New feature: add support for readpicture, aka embedded cover art
|
||||||
|
* New feature: add support for MPD password
|
||||||
|
* Spanish translation
|
||||||
|
* Trim album release date
|
||||||
|
* Cover icon when a radio is playing
|
||||||
|
* Update MpcNET package from 1.3 to 1.4
|
||||||
|
* Fix: Snapcast not working with hostname
|
||||||
|
* Fix: some radios crash
|
||||||
|
* Fix: disable/enable radios and Snapcast with connection
|
||||||
|
|
||||||
## v1.2
|
## v1.2
|
||||||
|
|
||||||
*Released: 07/04/2022*
|
*Released: 07/04/2022*
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 13 KiB |
BIN
Resources/nothing.png
Normal file
BIN
Resources/nothing.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 369 B |
BIN
Resources/radio.png
Normal file
BIN
Resources/radio.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
@ -104,7 +104,8 @@
|
|||||||
<VisualBrush Visual="{Binding ElementName=mask}"/>
|
<VisualBrush Visual="{Binding ElementName=mask}"/>
|
||||||
</StackPanel.OpacityMask>
|
</StackPanel.OpacityMask>
|
||||||
<Image x:Name="Cover" HorizontalAlignment="Center" VerticalAlignment="Center" Source="/Resources/nocover.png" Visibility="Collapsed" />
|
<Image x:Name="Cover" HorizontalAlignment="Center" VerticalAlignment="Center" Source="/Resources/nocover.png" Visibility="Collapsed" />
|
||||||
<Image x:Name="NoCover" HorizontalAlignment="Center" VerticalAlignment="Center" Source="/Resources/nocover.png" />
|
<Image x:Name="NoCover" HorizontalAlignment="Center" VerticalAlignment="Center" Source="/Resources/nocover.png" Visibility="Collapsed" />
|
||||||
|
<Image x:Name="RadioCover" HorizontalAlignment="Center" VerticalAlignment="Center" Source="/Resources/radio.png" Visibility="Collapsed" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Border>
|
</Border>
|
||||||
|
@ -54,11 +54,16 @@ namespace unison
|
|||||||
_mpd.QueryStats();
|
_mpd.QueryStats();
|
||||||
_settingsWin.UpdateStats();
|
_settingsWin.UpdateStats();
|
||||||
|
|
||||||
_mpd.QueryPlaylist().ConfigureAwait(false);
|
// _mpd.QueryPlaylist().ConfigureAwait(false);
|
||||||
|
// to remove
|
||||||
|
|
||||||
Snapcast.IsEnabled = true;
|
|
||||||
ConnectionOkIcon.Visibility = Visibility.Visible;
|
ConnectionOkIcon.Visibility = Visibility.Visible;
|
||||||
ConnectionFailIcon.Visibility = Visibility.Collapsed;
|
ConnectionFailIcon.Visibility = Visibility.Collapsed;
|
||||||
|
|
||||||
|
Snapcast.IsEnabled = true;
|
||||||
|
if (_radiosWin.IsConnected())
|
||||||
|
Radio.IsEnabled = true;
|
||||||
|
|
||||||
_shuffleWin.Initialize();
|
_shuffleWin.Initialize();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -67,6 +72,9 @@ namespace unison
|
|||||||
DefaultState(true);
|
DefaultState(true);
|
||||||
ConnectionOkIcon.Visibility = Visibility.Collapsed;
|
ConnectionOkIcon.Visibility = Visibility.Collapsed;
|
||||||
ConnectionFailIcon.Visibility = Visibility.Visible;
|
ConnectionFailIcon.Visibility = Visibility.Visible;
|
||||||
|
|
||||||
|
Snapcast.IsEnabled = false;
|
||||||
|
Radio.IsEnabled = false;
|
||||||
}
|
}
|
||||||
_settingsWin.UpdateConnectionStatus();
|
_settingsWin.UpdateConnectionStatus();
|
||||||
Connection.Text = $"{Properties.Settings.Default.mpd_host}:{Properties.Settings.Default.mpd_port}";
|
Connection.Text = $"{Properties.Settings.Default.mpd_host}:{Properties.Settings.Default.mpd_port}";
|
||||||
@ -183,8 +191,9 @@ namespace unison
|
|||||||
PlayPause.Text = (string)Application.Current.FindResource("pauseButton");
|
PlayPause.Text = (string)Application.Current.FindResource("pauseButton");
|
||||||
TimeSlider.Value = 50;
|
TimeSlider.Value = 50;
|
||||||
TimeSlider.IsEnabled = false;
|
TimeSlider.IsEnabled = false;
|
||||||
NoCover.Visibility = Visibility.Visible;
|
NoCover.Visibility = Visibility.Collapsed;
|
||||||
Cover.Visibility = Visibility.Collapsed;
|
Cover.Visibility = Visibility.Collapsed;
|
||||||
|
RadioCover.Visibility = Visibility.Collapsed;
|
||||||
|
|
||||||
if (LostConnection)
|
if (LostConnection)
|
||||||
{
|
{
|
||||||
@ -196,16 +205,18 @@ namespace unison
|
|||||||
|
|
||||||
public void OnCoverChanged(object sender, EventArgs e)
|
public void OnCoverChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (_mpd.GetCover() == null)
|
NoCover.Visibility = Visibility.Collapsed;
|
||||||
{
|
Cover.Visibility = Visibility.Collapsed;
|
||||||
|
RadioCover.Visibility = Visibility.Collapsed;
|
||||||
|
|
||||||
|
if (_mpd.GetCurrentSong().Time == -1)
|
||||||
|
RadioCover.Visibility = Visibility.Visible;
|
||||||
|
else if (_mpd.GetCover() == null)
|
||||||
NoCover.Visibility = Visibility.Visible;
|
NoCover.Visibility = Visibility.Visible;
|
||||||
Cover.Visibility = Visibility.Collapsed;
|
|
||||||
}
|
|
||||||
else if (Cover.Source != _mpd.GetCover())
|
else if (Cover.Source != _mpd.GetCover())
|
||||||
{
|
{
|
||||||
Cover.Source = _mpd.GetCover();
|
Cover.Source = _mpd.GetCover();
|
||||||
Cover.Visibility = Visibility.Visible;
|
Cover.Visibility = Visibility.Visible;
|
||||||
NoCover.Visibility = Visibility.Collapsed;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,11 +229,6 @@ namespace unison
|
|||||||
SnapcastText.Text = unison.Resources.Resources.StartSnapcast;
|
SnapcastText.Text = unison.Resources.Resources.StartSnapcast;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnRadioBrowserConnected()
|
|
||||||
{
|
|
||||||
Radio.IsEnabled = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateButton(ref Border border, bool b)
|
public void UpdateButton(ref Border border, bool b)
|
||||||
{
|
{
|
||||||
border.Style = b ? (Style)Resources["SelectedButton"] : (Style)Resources["UnselectedButton"];
|
border.Style = b ? (Style)Resources["SelectedButton"] : (Style)Resources["UnselectedButton"];
|
||||||
|
@ -54,6 +54,9 @@ namespace unison
|
|||||||
{
|
{
|
||||||
private RadioBrowserClient _radioBrowser;
|
private RadioBrowserClient _radioBrowser;
|
||||||
private MPDHandler _mpd;
|
private MPDHandler _mpd;
|
||||||
|
private bool _connected = true;
|
||||||
|
|
||||||
|
public bool IsConnected() => _connected;
|
||||||
|
|
||||||
public Radios()
|
public Radios()
|
||||||
{
|
{
|
||||||
@ -69,11 +72,8 @@ namespace unison
|
|||||||
Debug.WriteLine("Exception while connecting to RadioBrowser: " + e.Message);
|
Debug.WriteLine("Exception while connecting to RadioBrowser: " + e.Message);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Application.Current.Dispatcher.Invoke(() =>
|
|
||||||
{
|
_connected = true;
|
||||||
MainWindow MainWin = (MainWindow)Application.Current.MainWindow;
|
|
||||||
MainWin.OnRadioBrowserConnected();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async void Initialize()
|
public async void Initialize()
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
<StackPanel Margin="0,5,0,0">
|
<StackPanel Margin="0,5,0,0">
|
||||||
<TextBlock Text="{x:Static properties:Resources.Settings_Password}" TextWrapping="Wrap" Margin="5,0,0,0"/>
|
<TextBlock Text="{x:Static properties:Resources.Settings_Password}" TextWrapping="Wrap" Margin="5,0,0,0"/>
|
||||||
<PasswordBox x:Name="MpdPassword" Width="250" Margin="10,2,0,0"/>
|
<PasswordBox x:Name="MpdPassword" KeyDown="ConnectHandler" Width="250" Margin="10,2,0,0"/>
|
||||||
<TextBlock Text="{x:Static properties:Resources.Settings_ConnectionPasswordInfo}" TextWrapping="Wrap" Margin="10,5,0,0" MaxWidth="250" HorizontalAlignment="Left"/>
|
<TextBlock Text="{x:Static properties:Resources.Settings_ConnectionPasswordInfo}" TextWrapping="Wrap" Margin="10,5,0,0" MaxWidth="250" HorizontalAlignment="Left"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
@ -52,7 +52,6 @@
|
|||||||
<Run x:Name="ConnectionStatus" Text="{x:Static properties:Resources.Settings_ConnectionStatusOffline}"/>
|
<Run x:Name="ConnectionStatus" Text="{x:Static properties:Resources.Settings_ConnectionStatusOffline}"/>
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
|
|
||||||
<!--<TextBlock x:Name="ConnectionStatus" Text="{x:Static properties:Resources.Settings_ConnectionStatusOffline}" TextWrapping="Wrap" Margin="5,10,0,0"/>-->
|
|
||||||
<Button x:Name="ConnectButton" Content="{x:Static properties:Resources.Settings_ConnectButton}" Margin="0,10,0,0" Width="120" Click="MPDConnect_Clicked"/>
|
<Button x:Name="ConnectButton" Content="{x:Static properties:Resources.Settings_ConnectButton}" Margin="0,10,0,0" Width="120" Click="MPDConnect_Clicked"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
@ -11,8 +11,8 @@
|
|||||||
<Company />
|
<Company />
|
||||||
<Authors>Théo Marchal</Authors>
|
<Authors>Théo Marchal</Authors>
|
||||||
<PackageLicenseFile>LICENSE</PackageLicenseFile>
|
<PackageLicenseFile>LICENSE</PackageLicenseFile>
|
||||||
<PackageProjectUrl>https://git.n700.ovh/keb/unison</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/ZetaKebab/unison</PackageProjectUrl>
|
||||||
<RepositoryUrl>https://git.n700.ovh/keb/unison</RepositoryUrl>
|
<RepositoryUrl>https://github.com/ZetaKebab/unison</RepositoryUrl>
|
||||||
<Copyright>Théo Marchal</Copyright>
|
<Copyright>Théo Marchal</Copyright>
|
||||||
<PackageIconUrl />
|
<PackageIconUrl />
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
@ -22,6 +22,8 @@
|
|||||||
<None Remove="Resources\icon-mini.ico" />
|
<None Remove="Resources\icon-mini.ico" />
|
||||||
<None Remove="Resources\nocover.png" />
|
<None Remove="Resources\nocover.png" />
|
||||||
<None Remove="LICENSE" />
|
<None Remove="LICENSE" />
|
||||||
|
<None Remove="Resources\nothing.png" />
|
||||||
|
<None Remove="Resources\radio.png" />
|
||||||
<None Include="LICENSE">
|
<None Include="LICENSE">
|
||||||
<Pack>True</Pack>
|
<Pack>True</Pack>
|
||||||
<PackagePath></PackagePath>
|
<PackagePath></PackagePath>
|
||||||
@ -38,6 +40,12 @@
|
|||||||
<Resource Include="Resources\nocover.png">
|
<Resource Include="Resources\nocover.png">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Resource>
|
</Resource>
|
||||||
|
<Resource Include="Resources\nothing.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
<Resource Include="Resources\radio.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
<Content Include="LICENSE">
|
<Content Include="LICENSE">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
Loading…
Reference in New Issue
Block a user