Convert Figma logo to code with AI

feeluown logoFeelUOwn

trying to be a robust, user-friendly and hackable music player

3,530
597
3,530
69

Top Related Projects

:tangerine: Clementine Music Player

2,169

Music Player Daemon

Tomahawk, the multi-source music player

Music player and music library manager for Linux, Windows, and macOS

Quick Overview

FeelUOwn is an open-source music player for Linux and macOS, written in Python. It features a modular design, allowing users to extend its functionality through plugins, and supports various music sources including local files and online streaming services.

Pros

  • Extensible plugin system for customization and adding new features
  • Cross-platform support for Linux and macOS
  • Clean and minimalist user interface
  • Support for multiple music sources (local and online)

Cons

  • Limited Windows support (only through WSL)
  • Smaller user base compared to more mainstream music players
  • Requires some technical knowledge for advanced customization
  • Documentation could be more comprehensive for new users

Code Examples

# Initialize the FeelUOwn app
from feeluown.app import App

app = App()
app.initialize()
# Add a local music folder to the library
from feeluown.library import Library

library = Library()
library.add('~/Music')
# Play a song using the player
from feeluown.player import Player

player = Player()
player.play('path/to/song.mp3')

Getting Started

To get started with FeelUOwn:

  1. Install FeelUOwn:

    pip install feeluown
    
  2. Run FeelUOwn:

    feeluown
    
  3. Add music to your library:

    • Open FeelUOwn
    • Go to Settings > Library
    • Click "Add Folder" and select your music directory
  4. Install plugins (optional):

    pip install fuo-local fuo-netease
    
  5. Restart FeelUOwn to apply changes

For more detailed instructions and advanced usage, refer to the official documentation.

Competitor Comparisons

:tangerine: Clementine Music Player

Pros of Clementine

  • Cross-platform support (Windows, macOS, Linux)
  • Extensive music library management features
  • Integration with various online music services

Cons of Clementine

  • Less modern user interface
  • Slower development pace and less frequent updates

Code Comparison

FeelUOwn (Python):

def play(self, song):
    self.player.play(song)
    self.playlist.add(song)
    self.ui.update_now_playing(song)

Clementine (C++):

void Player::Play(const Song& song) {
  engine_->Play(song);
  playlist_->AddSong(song);
  ui_->UpdateNowPlaying(song);
}

Both projects implement similar functionality for playing a song, but FeelUOwn uses Python, which may be more accessible for some developers. Clementine's C++ implementation might offer better performance but could be more complex to maintain.

FeelUOwn focuses on simplicity and extensibility, making it easier for users to add new features or customize the player. Clementine, on the other hand, provides a more comprehensive set of built-in features and integrations out of the box.

While Clementine has a larger user base and more mature codebase, FeelUOwn's modern approach and active development make it an attractive option for those seeking a lightweight and customizable music player.

2,169

Music Player Daemon

Pros of MPD

  • Lightweight and efficient, designed for server-side usage
  • Extensive client support across various platforms
  • Robust and stable, with a long development history

Cons of MPD

  • Less user-friendly for casual users, requires separate client software
  • Limited built-in music source integration compared to FeelUOwn

Code Comparison

MPD (C):

static int
audio_output_open(struct audio_output *ao, struct audio_format *audio_format,
		  struct config_param *param, GError **error_r)
{
	bool open_result;

FeelUOwn (Python):

class MpvPlayer(AbstractPlayer):
    def __init__(self):
        super().__init__()
        self._mpv = MPV(ytdl=True, vo='null')

MPD is written in C, focusing on performance and low-level system integration. FeelUOwn uses Python, prioritizing ease of development and extensibility. MPD's code demonstrates its focus on audio output handling, while FeelUOwn's code shows its integration with media players like MPV.

Both projects aim to provide music playback functionality, but with different approaches. MPD is server-oriented, allowing multiple clients to connect, while FeelUOwn is a standalone application with a built-in user interface. FeelUOwn offers more integrated features for various music sources, while MPD relies on its extensive client ecosystem for advanced functionality.

Tomahawk, the multi-source music player

Pros of Tomahawk

  • More mature project with a larger community and longer development history
  • Supports a wider range of music sources and streaming services
  • Offers a more feature-rich user interface with advanced playlist management

Cons of Tomahawk

  • Development has slowed down in recent years, with less frequent updates
  • Heavier resource usage due to its more complex architecture
  • Steeper learning curve for new users and developers

Code Comparison

Tomahawk (C++):

void AudioEngine::onPlaylistChanged( const QList<Tomahawk::query_ptr>& tracks )
{
    m_playlist = tracks;
    emit playlistChanged( tracks );
}

FeelUOwn (Python):

def on_playlist_changed(self, playlist):
    self.playlist = playlist
    self.playlist_changed.emit(playlist)

Both projects handle playlist changes similarly, but Tomahawk uses C++ with Qt framework, while FeelUOwn is written in Python, resulting in more concise code.

FeelUOwn is a lighter, more modern alternative to Tomahawk, focusing on simplicity and ease of use. It's actively maintained and has a growing community, making it a good choice for users who prefer a streamlined music player with plugin support. Tomahawk, while more feature-rich, may be better suited for users who need extensive music source integration and advanced playlist management capabilities.

Music player and music library manager for Linux, Windows, and macOS

Pros of Quodlibet

  • More mature and feature-rich music player with a longer development history
  • Extensive plugin system for customization and extending functionality
  • Better support for large music libraries and advanced tagging features

Cons of Quodlibet

  • Steeper learning curve due to its complexity and numerous features
  • Less modern and visually appealing user interface compared to FeelUOwn
  • Primarily focused on local music files, with limited streaming service integration

Code Comparison

FeelUOwn (Python):

class Player:
    def __init__(self):
        self._playlist = Playlist()
        self._audio_player = AudioPlayer()

    def play(self, song):
        self._audio_player.play(song.url)

Quodlibet (Python):

class Player(GObject.Object):
    def __init__(self, librarian=None):
        super().__init__()
        self.paused = True
        self._source = None
        self._pipeline = None

    def play(self, source, start_paused=False):
        self._source = source
        self._pipeline.set_property("uri", source.uri)

Both projects are written in Python and use object-oriented programming for their player implementations. Quodlibet's code appears more complex, reflecting its broader feature set and maturity. FeelUOwn's code is simpler and more focused on basic playback functionality.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

FeelUOwn - feel your own

Documentation Status Build Status Coverage Status PyPI python

FeelUOwn 是一个稳定、用户友好以及高度可定制的音乐播放器。

macOS 效果预览

特性

  • 稳定、易用:
    • 一键安装,各流行平台均有打包(如 Arch Linux, Windows, macOS 等)
    • 有各媒体资源平台的插件,充分且合理的利用全网免费资源(如网易云、QQ、Bilibili 等)
    • 基础功能完善,桌面歌词、资源智能替换、多音质选择、nowplaying 协议等
    • 核心模块有较好的测试覆盖、核心接口保持较好的向后兼容
  • 可玩性强:
    • 提供基于 TCP 的交互控制协议
    • 基于文本的歌单,方便与朋友分享、设备之间同步
    • 支持基于 Python 的配置文件 .fuorc,类似 .vimrc 和 .emacs

快速试用

使用系统包管理器一键安装 FeelUOwn 及其扩展吧!

对于 Arch Linux 和 macOS,你可以分别使用如下方式安装:

# Arch Linux
yay -S feeluown          # 安装稳定版,最新版的包名为 feeluown-git
yay -S feeluown-netease  # 按需安装其它扩展
yay -S feeluown-kuwo
yay -S feeluown-bilibili

# macOS(也可以下载打包好的二进制)
brew tap feeluown/feeluown
brew install feeluown --with-battery # 安装 FeelUOwn 以及扩展
feeluown genicon                     # 在桌面生成 FeelUOwn 图标

Windows 和 macOS 用户可以在 Release 页面下载预打包好的二进制。 Gentoo, NixOS, Debian, openSUSE 等 Linux 发行版也支持使用其系统包管理器安装! 详情可以参考文档:https://feeluown.readthedocs.io/ , 也欢迎你加入开发者/用户交流群。

免责声明

FeelUown(以下简称“本软件”)是一个个人媒体资源播放工具。本软件提供的所有功能和资料 不得用于任何商业用途。用户可以自由选择是否使用本产品提供的软件。如果用户下载、安装、 使用本软件,即表明用户信任该软件作者,软件作者对任何原因在使用本软件时可能对用户自己 或他人造成的任何形式的损失和伤害不承担责任。

任何单位或个人认为通过本软件提供的功能可能涉嫌侵犯其合法权益,应该及时向 feeluown 组织书面反馈,并提供身份证明、权属证明及详细侵权情况证明,在收到上述法律文件后, feeluown 组织将会尽快移除被控侵权内容。(联系方式: yinshaowen241 [at] gmail [dot] com )