Convert Figma logo to code with AI

tomahawk-player logotomahawk

Tomahawk, the multi-source music player

2,962
367
2,962
183

Top Related Projects

:tangerine: Clementine Music Player

2,149

Music Player Daemon

8,013

Mopidy is an extensible music server written in Python

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

Quick Overview

Tomahawk is an open-source, cross-platform music player that allows users to stream and play music from various sources. It aggregates content from different music services and local files, providing a unified interface for music discovery and playback.

Pros

  • Integrates multiple music sources into a single player
  • Cross-platform support (Windows, macOS, Linux)
  • Collaborative playlists and social features
  • Extensible plugin system for adding new features and services

Cons

  • Development has been inactive since 2016
  • Some integrated services may no longer be supported
  • User interface can be complex for new users
  • Limited documentation for developers

Getting Started

Since Tomahawk is not actively maintained, installation and setup may be challenging. However, if you want to try it out:

  1. Visit the GitHub repository: https://github.com/tomahawk-player/tomahawk
  2. Check the releases page for the latest available version
  3. Download the appropriate package for your operating system
  4. Install and run Tomahawk
  5. Configure your music sources and start exploring the features

Note: Due to the project's inactivity, some features may not work as expected, and compatibility with current operating systems is not guaranteed.

Competitor Comparisons

:tangerine: Clementine Music Player

Pros of Clementine

  • More mature and stable project with a larger user base
  • Supports a wider range of audio formats and codecs
  • Better integration with local music libraries and traditional music player features

Cons of Clementine

  • Less focus on social and collaborative features
  • More limited support for streaming services compared to Tomahawk
  • User interface may feel less modern and streamlined

Code Comparison

Clementine (C++):

void Player::Next()
{
  if (playlist_)
    playlist_->Next();
}

Tomahawk (C++):

void AudioEngine::next()
{
    tDebug( LOGEXTRA ) << Q_FUNC_INFO;
    if ( canGoNext() )
        playItem( nextItem() );
}

Both projects use C++ for their core functionality. Clementine's codebase tends to be more straightforward and focused on traditional music player features, while Tomahawk's code often includes more complex logic for handling various music sources and social features.

Clementine is generally considered more suitable for users who prefer a classic music player experience with strong local library management. Tomahawk, on the other hand, caters to users who value social features and integration with multiple streaming services. The choice between the two depends on individual preferences and use cases.

2,149

Music Player Daemon

Pros of MPD

  • Lightweight and efficient, designed for server-side operation
  • Supports a wide range of audio formats and protocols
  • Highly customizable with numerous client applications available

Cons of MPD

  • Lacks a built-in graphical user interface
  • Limited social features and music discovery options
  • Requires more technical knowledge to set up and configure

Code Comparison

MPD (C++):

bool
playlist::AddSongToPlaylist(const char *uri, const char *playlist_name,
                            unsigned *added_id)
{
    return spl_add_uri(uri, playlist_name, added_id);
}

Tomahawk (C++):

void
PlaylistModel::addTracks(const QList<Tomahawk::query_ptr>& queries)
{
    beginInsertRows(QModelIndex(), rowCount(), rowCount() + queries.count() - 1);
    m_queries << queries;
    endInsertRows();
}

MPD focuses on server-side playlist management, while Tomahawk emphasizes client-side playlist handling with a more modern C++ approach. MPD's code is more low-level and C-like, reflecting its focus on efficiency and broad compatibility. Tomahawk's code uses Qt framework and higher-level abstractions, indicating a more user-friendly, desktop-oriented application.

8,013

Mopidy is an extensible music server written in Python

Pros of Mopidy

  • Modular architecture allows for easy extension and customization
  • Supports a wide range of audio sources and streaming services
  • Active development and community support

Cons of Mopidy

  • Requires more technical knowledge to set up and configure
  • Limited built-in user interface options

Code Comparison

Mopidy (Python):

from mopidy import core

class MyFrontend(pykka.ThreadingActor, core.CoreListener):
    def __init__(self, config, core):
        super().__init__()
        self.core = core

Tomahawk (C++):

#include "tomahawk/source.h"

class MySource : public Tomahawk::Source
{
public:
    MySource( const QString& id, const QString& username );
};

Key Differences

  • Mopidy is written in Python, while Tomahawk is primarily C++
  • Mopidy focuses on server-side audio playback, while Tomahawk is a full-featured desktop player
  • Mopidy has a more active development community and regular updates
  • Tomahawk offers a more polished out-of-the-box user experience

Both projects aim to provide a unified music listening experience across multiple sources, but they take different approaches. Mopidy is more flexible and extensible, while Tomahawk offers a more traditional desktop application experience.

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

Pros of Quodlibet

  • More actively maintained with recent updates and contributions
  • Extensive plugin system for customization and feature expansion
  • Better support for large music libraries and various audio formats

Cons of Quodlibet

  • Less visually appealing interface compared to Tomahawk's modern design
  • Steeper learning curve due to its extensive features and options
  • Lacks some of Tomahawk's social and streaming integration features

Code Comparison

Quodlibet (Python):

def __init__(self, library, player, window):
    super().__init__()
    self.library = library
    self.player = player
    self.window = window
    self._set_up_widgets()

Tomahawk (C++):

TomahawkApp::TomahawkApp( int& argc, char *argv[] )
    : TOMAHAWK_APPLICATION( argc, argv )
{
    setOrganizationName( QLatin1String( TOMAHAWK_ORGANIZATION_NAME ) );
    setOrganizationDomain( QLatin1String( TOMAHAWK_ORGANIZATION_DOMAIN ) );
    setApplicationName( QLatin1String( TOMAHAWK_APPLICATION_NAME ) );
}

The code snippets show different programming languages and initialization approaches. Quodlibet uses Python with a more straightforward class initialization, while Tomahawk employs C++ with a focus on setting up application-wide properties.

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

This project is essentially abandoned

There is no one working on it. There isn't much sense in adding any new issues in the issue tracker unless you want to fix them yourself.

WHAT TOMAHAWK IS

Tomahawk is a free multi-source and cross-platform music player. An application that can play not only your local files, but also stream from services like Spotify, Beats, SoundCloud, Google Music, YouTube and many others. You can even connect with your friends' Tomahawks, share your musical gems or listen along with them. Let the music play!

Tomahawk Screenshot

HOW TOMAHAWK WORKS

Tomahawk is basically a player for music metadata. At its core it decouples the metadata about a song from the source and reassembles it for each user based on their individual music accessibility and rights. In short, given the name of a song and artist, Tomahawk will find the right source, for the right user at the right time. This fundamentally different approach to music enables a range of new music consumption and sharing experiences previously not possible.

MUSIC SOURCES

  • Local music library (MP3, Ogg, FLAC and many other formats)
  • Networked music libraries (other connected computers)

Subscription Music Services

  • Spotify
  • Beats Music
  • Google Play Music (on-demand streaming and music locker)
  • TIDAL
  • Rdio (Android only)
  • Deezer (Android only)

Free Streaming/Music Promotion Platforms

  • Soundcloud
  • Bandcamp
  • Last.fm
  • Jamendo
  • Official.fm
  • YouTube

Network/Cloud storage

  • Ampache
  • Owncloud
  • Subsonic
  • Beets

Third party-developed resolvers have also been written for services like YouTube, Qobuz and others. We've also heard of digital music distributors writing their own for their internal CMSes to help them navigate and preview their content. That's cool.

Packaged binary resolvers (.axes) are available: here.

Source code (and examples) can be found in our Resolver repository.

DOWNLOAD TOMAHAWK

You can download one of our nightly or stable builds:

BUILDMAC / OSXWINDOWSLINUX
NIGHTLYlatestlatestlatest (Ubuntu)
STABLE0.8.40.8.40.8.4 (various distros)

BUILD TOMAHAWK

... or you can compile it yourself:

$ mkdir build && cd build
$ cmake ..
$ make

Detailed Build Instructions

Linux:Arch - Debian - Fedora - Ubuntu
Windows:Windows
Mac:OS X

Dependencies

Required dependencies:

If you are using Qt>5.6 you need to build and install QtWebKit

The following dependencies are optional (but recommended):

Third party libraries that we ship with our source:

SUPPORT TOMAHAWK

GET HELP

SCREENSHOTS

BROWSE FRIENDS' MUSIC & LISTEN ALONG

Browse

INBOX - RECEIVED & FORWARDING

Inbox

CHARTS - BILLBOARD'S TASTEMAKER ALBUMS

Charts

FRIEND FEED

Feed

DYNAMIC (AUTO-UPDATING) PLAYLIST

Xspf

PLUG-INS / RESOLVER SETTINGS

Settings

##Enjoy!