3 Commits

Author SHA1 Message Date
65f60d2c35 Update to 1.5 2025-06-09 02:18:01 +02:00
c828c0b90b Update README 2025-06-09 02:11:59 +02:00
a9391325c2 Fix clipboard crash 2025-06-09 02:10:02 +02:00
12 changed files with 59 additions and 13 deletions

View File

@ -74,10 +74,28 @@
<value>13</value> <value>13</value>
</setting> </setting>
<setting name="MainWindowTop" serializeAs="String"> <setting name="MainWindowTop" serializeAs="String">
<value>100</value> <value>10</value>
</setting> </setting>
<setting name="MainWindowLeft" serializeAs="String"> <setting name="MainWindowLeft" serializeAs="String">
<value>100</value> <value>10</value>
</setting>
<setting name="RadiosWindowTop" serializeAs="String">
<value>10</value>
</setting>
<setting name="RadiosWindowLeft" serializeAs="String">
<value>1000</value>
</setting>
<setting name="ShuffleWindowTop" serializeAs="String">
<value>10</value>
</setting>
<setting name="ShuffleWindowLeft" serializeAs="String">
<value>330</value>
</setting>
<setting name="SettingsWindowTop" serializeAs="String">
<value>330</value>
</setting>
<setting name="SettingsWindowLeft" serializeAs="String">
<value>600</value>
</setting> </setting>
</unison.Properties.Settings> </unison.Properties.Settings>
</userSettings> </userSettings>

View File

@ -1,5 +1,22 @@
# Changelog # Changelog
## v1.5
*Released: 09/06/2025*
* Windows 11 compatibility
* Shuffle button: add "clear queue" and "play queue" buttons
* Hide windows when clicking corresponding buttons, if they were visible
* Fix: add security to QueryStats response to avoid crashes
* Fix: regression in Systray text display
* Fix: clipboard copy crash
* Update .NET (6.0 to 8.0)
* Update Snapcast (0.26.0.1 to 0.31)
* Update MpcNET (1.4.0 to 1.6.6)
* Update RadioBrowser (0.6.1 to 0.7)
* Update AutoUpdater.NET (1.7.6 to 1.9.2)
* Update NotifyIcon.Wpf (1.1.0 to 2.0.1)
## v1.4 ## v1.4
*Released: 09/12/2022* *Released: 09/12/2022*

View File

@ -1,5 +1,5 @@
#define Name "unison" #define Name "unison"
#define Version "1.4" #define Version "1.5"
#define Snapcast "snapcast_0.31" #define Snapcast "snapcast_0.31"
#define Publisher "Th<54>o Marchal" #define Publisher "Th<54>o Marchal"
#define URL "https://github.com/ZetaKebab/unison" #define URL "https://github.com/ZetaKebab/unison"

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<item> <item>
<version>1.3.1.0</version> <version>1.5.0.0</version>
<url>https://github.com/ZetaKebab/unison/releases/download/v1.3.1/unison-v1.3.1.zip</url> <url>https://github.com/ZetaKebab/unison/releases/download/v1.5/unison-v1.5.zip</url>
<changelog>https://raw.githubusercontent.com/ZetaKebab/unison/main/CHANGELOG.md</changelog> <changelog>https://raw.githubusercontent.com/ZetaKebab/unison/main/CHANGELOG.md</changelog>
<mandatory>false</mandatory> <mandatory>false</mandatory>
</item> </item>

View File

@ -8,7 +8,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<Platform>Any CPU</Platform> <Platform>Any CPU</Platform>
<PublishDir>publish\</PublishDir> <PublishDir>publish\</PublishDir>
<PublishProtocol>FileSystem</PublishProtocol> <PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net6.0-windows</TargetFramework> <TargetFramework>net8.0-windows</TargetFramework>
<SelfContained>false</SelfContained> <SelfContained>false</SelfContained>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<PublishSingleFile>true</PublishSingleFile> <PublishSingleFile>true</PublishSingleFile>

View File

@ -7,7 +7,8 @@
* lightweight window that can be toggled with shortcuts * lightweight window that can be toggled with shortcuts
* music control through rebindable shortcuts * music control through rebindable shortcuts
* [Snapcast](https://github.com/badaix/snapcast) integration * [Snapcast](https://github.com/badaix/snapcast) integration
* Radio stations * radio stations
* basic shuffle system
## Features ## Features
@ -33,11 +34,20 @@ Through [Radio-Browser](https://www.radio-browser.info), a community database, y
![Radio stations](Screenshots/screen4.png) ![Radio stations](Screenshots/screen4.png)
## Planned features ### Shuffle system
* A complete shuffle system based on set criteria, aka a smart playlist. A shuffle system is available, allowing you to only use unison as a (very basic) music manager. You can use filters to have a tailored shuffle experience.
* Playlist, queue and library management. I use other software to do it, but I will implement them at some point.
![Shuffle system](Screenshots/screen5.png)
## Translations ## Translations
unison is translated in English, French and Spanish. You can contribute if you want! unison is translated in English, French and Spanish. You can contribute if you want!
## The future
This project started as a simple daemon to control my music with shortcuts, and a Snapcast player. With time, I added a few useful features, while learning C# and WPF. I wanted to make a complete implementation of MPD features (library, playlist, queue management, etc). However, this will probably not happen. Indeed, I have been waiting a few years for Microsoft to settle on a modern implementation of its user interface framework. But it is still not there, and I do not want to spend time for a technology that might die too quickly. There's no coherence in Windows' interfaces, and it is not really motivating. I also want to be able to play Snapcast from iOS, so I think I will most likely invest (natively) my time in this platform for the foreseeable future.
If I were to continue, the first thing to do would be to make a single window interface, by making a real MVVP implementation, and not one depending on windows like I did here, by iterating on a single program that has become a bit too big to not separate logic from visual.
I still plan on maintaining this app in a working state, as its working great as is. But I do not intend, for the time being at least, to make dramatic changes as I would have liked to.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 14 KiB

BIN
Screenshots/screen5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@ -350,7 +350,7 @@ namespace unison
string CopyText = SongTitle.Text + " - " + SongArtist.Text + "\n"; string CopyText = SongTitle.Text + " - " + SongArtist.Text + "\n";
CopyText += SongAlbum.Text + "\n"; CopyText += SongAlbum.Text + "\n";
CopyText += SongTitle.ToolTip; CopyText += SongTitle.ToolTip;
Clipboard.SetText(CopyText); Clipboard.SetDataObject(CopyText);
} }
} }

View File

@ -7,7 +7,7 @@
<ApplicationIcon>Resources\icon-full.ico</ApplicationIcon> <ApplicationIcon>Resources\icon-full.ico</ApplicationIcon>
<Win32Resource></Win32Resource> <Win32Resource></Win32Resource>
<StartupObject>unison.App</StartupObject> <StartupObject>unison.App</StartupObject>
<Version>1.4-dev</Version> <Version>1.5</Version>
<Company /> <Company />
<Authors>Théo Marchal</Authors> <Authors>Théo Marchal</Authors>
<PackageLicenseFile>LICENSE</PackageLicenseFile> <PackageLicenseFile>LICENSE</PackageLicenseFile>
@ -15,6 +15,7 @@
<RepositoryUrl>https://github.com/ZetaKebab/unison</RepositoryUrl> <RepositoryUrl>https://github.com/ZetaKebab/unison</RepositoryUrl>
<Copyright>Théo Marchal</Copyright> <Copyright>Théo Marchal</Copyright>
<PackageIconUrl /> <PackageIconUrl />
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>