Giter VIP home page Giter VIP logo

winfy's Introduction

Winfy

⚠️ Due to the switch to Mac OSX Winfy development is currently on hold. Sorry folks ⚠️

Winfy is a WPF-Based mini player for Spotify on Windows.

Winfy

Looking for something compiled? This way please

Requirements

  • Windows (XP, Vista, 7, 8)
  • .NET Framework 4.0 (or higher)
  • Internet connection
  • Spotify

Copyright and License

Copyright (c) 2013 Maximilian Krauss

This application is licened under The Code Project Open License (CPOL) 1.02 which can be found online at http://www.codeproject.com/info/cpol10.aspx or inside this repository in the LICENSE.md file.

Notice

Winfy is not a Spotify replacement. You need both running at the same time.

Todo

Interested in what's comming next? Check the open issue list.

winfy's People

Contributors

maximilian-krauss avatar thelazyhatguy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

winfy's Issues

FacadePattern for logging

Not that important but would be cool to switch the logging provider by changing the implementation in AppBoostrapper 👍

Fade when "always on top"

i'm thinking about a fade effect when you don't pass the mouse over the window for a while, for making it less invasive an more cool

Make titles retain single line

Currently, the title (and probably artist) will expand to a multiline display if the text is too long for one line. It would be nice if the window kept the same size and scrolled the text back and forth on a single line instead of expanding. The size of the window keeps changing, and I would prefer it stay the same size.

This seems like it would be a good configuration setting since i'm sure a good counterargument could be made for using expansion over scrolling.

Loading hint

Display a notice or animation when new cover art is loading

Volume bar

it would be a tiny detail but I think that's always useful and handy

Working as of 2016-11-02

Made the following changes to get it working for me

SpotifyLocalApi.cs ~Line 78 added

_Client.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2";

SpotifyController.cs ~Line 93 changed

_SpotifyProcess = Process.GetProcessesByName("spotify").FirstOrDefault();

to
_SpotifyProcess = Process.GetProcessesByName("spotify").Where(x => x.MainWindowHandle.ToInt32() != 0).FirstOrDefault();

SpotifyController.cs ~Line 228 in GetSongName() changed last 2 lines:

NOTE: this is NOT a hyphen and is instead a unicode character. If a copy/paste of this doesn't work, then try to copy the Window title from another program that can view all open windows.

string[] title = GetSpotifyWindowTitle().Split(new char[] {'-'}, 2); return title.Count() > 1 ? title[1].Trim() : string.Empty;

and GetArtistName changed last 2 lines:
string[] title = GetSpotifyWindowTitle().Split(new char[] {'-'}, 2); return title.Count() > 1 ? title[0].Trim() : string.Empty;

Toggle play/pause button based on playing state

Like the spotify client, the play/pause button should show a play icon when paused and a pause icon when playing. It would also be nice to show a watermarked pause icon overlaying the album art when playback is paused to give a quick visual indicator that the music is paused.

While "is sound coming out of my speakers?" is a pretty good test for if music is playing, I often mute my speakers when getting a call or when someone walks into my office and forget that my speakers are muted. Currently, the only way to see that music is not playing is to open the spotify client and look or to unmute the speakers. A visual indicator would be helpful. I've attached a screenshot of my idea for how a paused overlay might look, but an image that's more sexy/glassy would be preferred over my amateur paint skills.

winfy2

Were can you get the latest release?

I know currently winfy is broken due to new updates, but I am on a older version of spotify, so it doesn't matter.

(couldn't find were to download)

Single instance

More as one instance of Winfy is kinda useless. That should be prevented

Snap to display edges

It would be great if the Winfy window snapped to the edges of the desktop when you drag it across the edge. While the OCD center in my brain is giving you a high five for having to position the window exactly on the edge by hand, snapping to the top/bottom/sides would save time. :)

Toggleable 3D cover overlay

I really love Winfy, but I really think that the glassy 3D overlay thing that appears on the album art looks dated and ruins the designs of the album art. Also, I don't feel it fits with the nice minimal black and white of the text underneath. This is only my opinion, others probably like it, which is why I think you should make an option for the 3D overlay to be turned off.

If nobody agrees, then I might just learn C# myself and try to fork it.

AVRCP Support

Since Spotify itself lacks extended support for AVRCP allowing us to Control the playback with play/pause next/prev buttons on our headsets, it would be much appreciated if you could find an easy way to implement such playback controls within your widget.

Thanks

Sincerely,
Amir

Logging

Implement logging with NLog

Like button

when i listen music from radio i need a like button to add the music to "liked from radio" playlist

Build errors about Microsoft.Expression.Interactions?

The referenced component 'Microsoft.Expression.Interactions' could not be found.

The tag 'ControlStoryboardAction' does not exist in XML namespace 'clr-namespace:Microsoft.Expression.Interactivity.Media;assembly=Microsoft.Expression.Interactions'.

Could not resolve this reference. Could not locate the assembly "Microsoft.Expression.Interactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.

Is there a trustworthy build somewhere?

Put Winfy in autorun

Option for Winfy to start with Windows.

Hint: To achieve this, I need to implement the ClickOnce updating stuff by myself, the bootstrapper won't work in autorun mode.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.