Git Product home page Git Product logo

webamp-desktop's People

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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

webamp-desktop's Issues

Try to use the win.setShape(rects)

Transparency on Windows has a problem of not receiving the events if it's blurred in the foreground. On Linux we have to do polling. Both could be theoretically better if they would use setShape. We already store rectangles for both since we are tracking the webamp windows. Left clicky could then be applied on both Linux and Windows.

Unfortunately, setShape is currently experimental and doesn't work on the mac.

Rewrite to Tauri

Tauri is a small Rust wrapper around web views native to that platform. The resulting bundle would be a couple of MB.

I've spent an hour or two playing around with it.

Blockers:

  • Ignoring mouse events doesn't work. At least on Fedora. There is also no mouse event forwarding.
  • Music playback is broken
  • Window title is there even with hiddenTitle: true.
  • There are some weird artefacts when launching.
2023-11-05.12-17-58.mp4

It would be still possible to make it work, but:

  • The window would have to be a minimum bounding rectangle so the transparency problems would be minimized. Maybe by adding some "on hover" event handler that would maximize the window when the user is likely to change the window composition?
  • Context menus would have to be native.
  • Playback would have to be native.

Mediaplayer service

It would be great to support native APIs of the operating systems. For Mac, there was good work done by the @captbaritone in the #10. Later, we can look at https://www.npmjs.com/package/electron-media-service and try to port it to N-API.

For Linux, we can use https://www.npmjs.com/package/mpris-service.

For Windows, https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/system-media-transport-controls is the way to go. We can hopefully use automatically generated NodeRT module.

AppImage does not integrate into the system

First of all thank you for bringing back some really cool old memories :)
Now, usually with AppImageLauncher you can integrate an appimage simply into the system. But for this appimage it simply does not work. It only works to launch the app itself and that's pretty much it. Is this something to do with webamp itself?
Cheers!

Multiple displays support

@captbaritone mentioned this solution in #494:

[...]the window stick to the edge of the first screen, and has to be pushed a bit farther into the next screen before the change actually happens. When it does cross the threshold, it takes the other windows with it? Basically there's some implied friction/resistance at the boundary.

Just an idea. I'd love to hear others if people have them. One question is: what formation should the non-moving windows have when they move to the new screen? I think ideally they would have the same (or similar) positions to those that they had on the old screen. Obviously we would need to make adjustments if the screen size of the new screen is smaller, but perhaps we could keep it proportional.

Add Llama Whippin' Intro as initial track

Is your feature request related to a problem? Please describe.
Llama Whippin' Intro is the famous default track in the Winamp.

Describe the solution you'd like
Llama Whippin' Intro should be bundled as an initial track.

Additional context
Unfortunately, it seems the building won't include the .mp3 file in the package.

Failed on Windows 10 Command Prompt

C:\LavanyaDeepak\Personal\webamp-desktop>yarn start
yarn run v1.22.10
$ yarn run build && electron .
$ yarn run copy && yarn build:src
$ cp -r ./bundled/* ./dist
'cp' is not recognized as an internal or external command,
operable program or batch file.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Ability to play internet radio streams

I've tried an m3u and xspf files, but it doesn't seem to like playing internet radio

eg:

#EXTM3U
#PLAYLIST:Online radio: TOP Music (www.radio.pervii.com)
#EXTINF:-1 tvg-logo="" group-title="TOP Radio - radio.pervii.com", Radio Pro Manele Romania WwW.RadioProManele.Com - 128 kbit/s
http://radiopromanele.zapto.org:8000/stream/1/
#EXTINF:-1 tvg-logo="https://www.radio.pervii.com/logo/30255.jpg" group-title="TOP Radio - radio.pervii.com", Apintie Suriname - 128 kbit/s
http://31.186.172.137:7000/stream/1/
#EXTINF:-1 tvg-logo="https://www.radio.pervii.com/im/7/1549630997.jpg" group-title="TOP Radio - radio.pervii.com", ORF Radio Oberösterreich - 128 kbit/s
http://185.85.28.151:80/stream/1/
#EXTINF:-1 tvg-logo="https://www.radio.pervii.com/im/2/1555241792.jpg" group-title="TOP Radio - radio.pervii.com", Eldoradio - 256 kbit/s
http://81.92.238.33:80/stream/1/

Or... is this already enabled, but I'm missing how to do it?

Use Native Context Menu

Is your feature request related to a problem? Please describe.
@captbaritone proposed:

I wonder if we should expose some way for Webamp Desktop to use Electrons context menus instead of the fake ones that I made.

Describe the solution you'd like
We'll use Menu API from Electron to add the context menu via some new API. Idea for implementation from @captbaritone is

Probably the best thing to do would be for me to transition to using an internal API that matched the Electron API. Then I could just expect you to pass me a function that accepts a menu template and renders it.

Describe alternatives you've considered
I could receive an array of options and attach some callbacks for open/close but that seems a bit more complicated.

Override minimized window image on Mac

We are currently overriding thumbnail on the Windows by calling setThumbnailClip with just the main window.

Something similar can be done on the Mac by setting miniwindowimage before the window is minimized. Electron currently doesn't seem to support it.

This would mean we could hide that weird miniature that is there because we are using a large transparent window for webamp.

Flatpak please?

Hi there. I'm using Manjaro Linux. Would very much like to install this app.
I know there's an AppImage. But I want the app to be installed instead so that I can use different winamp skins and such.
And besides. Flatpaks are available in the distro's app store.

Dragging on another monitor is not working

Describe the bug
On Windows I am not able to track the webamp window on another monitor (Dual screen setup)(

To Reproduce
Steps to reproduce the behavior:

  1. Open Webamp
  2. Have at least 2 screens
  3. Try to drag and drop webamp on another screen
  4. It just stops on the edge of the screen

Expected behavior
Dragging on another screen should be possible

Desktop (please complete the following information):

  • Windows 10

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.