Compare commits
4 Commits
309f42bad1
...
1.5
Author | SHA1 | Date | |
---|---|---|---|
0d84818df5 | |||
65f60d2c35 | |||
c828c0b90b | |||
a9391325c2 |
22
App.config
@ -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>
|
||||||
|
17
CHANGELOG.md
@ -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*
|
||||||
|
@ -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"
|
||||||
|
@ -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-setup.exe</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>
|
@ -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>
|
||||||
|
18
README.md
@ -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
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 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.
|
|
||||||
|

|
||||||
|
|
||||||
## 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.
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 14 KiB |
BIN
Screenshots/screen5.png
Normal file
After Width: | Height: | Size: 8.5 KiB |
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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>
|
||||||
|