Giter Site home page Giter Site logo

keshavbhatt / olivia Goto Github PK

View Code? Open in Web Editor NEW
355.0 21.0 21.0 5.51 MB

Elegant music player for Linux Desktop

License: MIT License

C++ 63.70% QMake 0.41% HTML 6.30% CSS 4.95% JavaScript 23.55% Lua 0.57% Shell 0.52%
youtubemusic linux linux-app music-player online-music internet-radio qt5 ubuntu spotify itunes

olivia's Introduction

Olivia Banner Art

Olivia - Elegant Music Player for Linux Desktop

by @keshavbhatt of ktechpit.com and others  Olivia hits mark of 5000+ active users already

License: MIT Average time to resolve an issue Percentage of issues still open

Stable and Nightly Build on any snapd enabled Linux Distribution can be installed using:

olivia olivia

Get it from the Snap Store

snap install olivia

Arch Linux (using AUR):

Olivia Arch Linux User's Repository

Features

  • Olivia helps you discover new music and videos like no other service do.
  • Smart Music recommendation, can get you songs related to any song.
  • Allows organise music and videos at one place.
  • Olivia can save track while you are streaming it, this saves your bandwidth.
  • Olivia never stops playing song for you with its smart playlist feature it automatically starts playing related songs for you once your playlist ends.
  • Watch or Download Video for any song in different audio video formats and quality.
  • Allows search YouTube and add result to library, sort results and all other YouTube features like browse channels.
  • Plays audio only of YouTube streams (saves data bandwidth).
  • Support themes , Dynamic theme based on album art.
  • Intelligent Music Search suggestions engine integrated.
  • Player Mini mode aminimal player widget with always on capability and allows set transparency and make it act like a desktop widget.
  • Switch to Smart mode and sit back, olivia will play songs for you automatically.
  • Internet radio, allows play more than 25k online radio stations, list them sort them according to most played , most voted, language wise, country wise and by tags .
  • Olivia lets you browse new music according to your location.
  • Olivia lets you discover music based on their genres, moods and more.
  • Its easy to discover new music - singles, albums etc easily at one place.
  • Top music chart, allows list top 100 songs country wise.
  • Top albums chart, allows list top 100 albums county wise.
  • Beautiful Client side Decoration.
  • Lyrics of playing songs and separate lyrics search.
  • Powerful audio equalizers and audio filters.
  • MPRIS protocol support.
  • Audio export with meta tags and album art.
  • More features like cloud synchronisation of your Liked Music is coming soon, so you will be able to get your music back no matter where you are.

Consider Donating if you want this music player grow further

Donate

Buy Me A Coffee

Olivia utilises power of the following tools and technologies :

  • Qt GUI Framework 5.5.1
  • Bash, wget, socat, tee and other utilities that comes with "coreutils" package
  • MPV Player
  • Youtube-dl
  • LibTag
  • C++11
  • Python
  • Lua
  • PHP, HTML, CSS, JS, JSON
  • snapcraft.io/build for continuous build and delivery through snapcraft.io/store for all major Linux distributions supporting snapd
  • "Arch User Repository" for distribution of app to Arch Linux users.

Build requirement

Qt >=5.5.1 with these modules
    - libqt5sql5-sqlite
    - libqt5webkit5 (must)
    - libqt5x11extras5
    
mpv >= 0.29.1
coreutils >=8.25
socat >=1.7.3.1-1
python >=2.7
wget >=1.17.1
libtag1-dev

Build instructions With all build requirements in place go to project root and execute:

Build:

qmake (or qmake-qt5, depending on your distro)
make

Execute :

./olivia

Screenshots: (can be old) Olivia Youtube plugin for Olivia on the play Olivia Playing Internet radio

olivia's People

Contributors

keshavbhatt avatar nshiell avatar trmdi 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

olivia's Issues

app does not cache pages once loaded

there should be a way to cache data in offline storage, with timestamp showing user that they are browsing old snapshot(if data found offline) and allow them tl forcefully load new snapshot from internet. it will make browsing fater and efficient, this will also allow populate user activity tab in future in some ways.

No way to add local music from a folder

There doesn't appear to be any way to add music from a folder. I've clicked and right-clicked on every possible part of the application and there simply isn't an option. I get Reload and Inspect, but Local Music and Add New Playlist do nothing.

archlinux fails to build

archlinux:

yay -S olivia --noconfirm

Output

Cloning into 'olivia'...
done.
==> Starting pkgver()...
==> Updated version: olivia r273.c40aa93-1
==> Sources are ready.
==> Making package: olivia r273.c40aa93-1 (Fri 24 May 2019 11:55:04 PM CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting pkgver()...
==> Starting build()...
Info: creating stash file /home/aa/.cache/yay/olivia/src/olivia/.qmake.stash
Project ERROR: Unknown module(s) in QT: webkit webkitwidgets
==> ERROR: A failure occurred in build().
    Aborting...
Error making: olivia


App shortcuts

make shortcuts Key combinations visible to user via a widget....

Please provide a portable AppImage for Linux, too

Providing an AppImage would have, among others, these advantages:

  • Applications packaged as an AppImage can run on many distributions (including Ubuntu, Fedora, openSUSE, CentOS, elementaryOS, Linux Mint, and others)
  • One app = one file = super simple for users: just download one AppImage file, make it executable, and run
  • No unpacking or installation necessary
  • No root needed
  • No system libraries changed
  • Works out of the box, no installation of runtimes needed
  • Optional desktop integration with appimaged
  • Optional binary delta updates, e.g., for continuous builds (only download the binary diff) using AppImageUpdate
  • Can optionally GPG2-sign your AppImages (inside the file)
  • Works on Live ISOs
  • Can use the same AppImages when dual-booting multiple distributions
  • Can be listed in the AppImageHub central directory of available AppImages
  • Can double as a self-extracting compressed archive with the --appimage-extract parameter
  • No repositories needed. Suitable/optimized for air-gapped (offline) machines

Here is an overview of projects that are already distributing upstream-provided, official AppImages.

If you have questions, AppImage developers are on #AppImage on irc.freenode.net.

Save Ui State in QSettings

Need to save window state in QSettings so that user's modification to ui can be loaded on app restart.

Make Setting widget options work

Right now setting widget many options in settings widget do nothing they are just UI mock ups. need write methods for each of em.

mini mode drag grip

mini mode widget is not draggable on desktop, gotta make a widget which will move widget in drag event emitted by user.

NOT an issue BUT!

I created a logo a while back for a music app but it never got used. If you re interested I would love to see your project use it.

Its similar to the one you have.

screenshot here

App theme

right now there are some random colors saved, for one click static themes in settings widget, gotta select some nice colors which will make player look nice.

Snap package suffers from delay in auto next track issue.

Hi olivia users, i know about a bug which is causing long delay in auto next of tracks only if the user is using snap package with strict confinement. the issue will be fixed from the snapcraft.io and snappy team maybe when they will add an interface to allow read from fifo files.

Currently Olivia uses mpv as audio player which is set to run in idle mode in background, the communication with the olivia and mpv is set up using ipc-server setup which use fifo as path to communicate. I use socat to pass any data to mpv and get any data from it by writing and reading the fifo file. the wrting part works well but the read part have issues when the app is packaged in snap package. I can confirm this by looking in "snappy-debug.security scanlog" output. i have already raised an issue in snappy forum am waiting for snappy team to fix the issue here https://forum.snapcraft.io/t/no-read-from-fifo-device-in-snap-packaged-app/12150

Re: mpv

I see you're using my mpv build from ppa.
You may wish to consider using a different mpv build I have, to discuss why you can contact me via launchpad mail available from ppa page
(no sense stating here...

Equalizer L-R balance not working properly

Hi there! i found a bug in L-R balance-
When i set L to (0.1) "sound in right ear plug instantly goes up and dropped minimum in left ear plug".
Same Issue when i set R to (0.1).
find attachment.
olivia_issue_eq
ollivia_issue_eq1

snap run olivia-test error: cannot find app "olivia-test" in "olivia-test"

I installed the snap using sudo snap install olivia-test but can't run it.

$ snap run olivia-test

error: cannot find app "olivia-test" in "olivia-test"

May be a duplicate of #21 (we'll never know 😆)

$ snap --version
snap    2.37.4-2.fc29
snapd   2.37.4-2.fc29
series  16
fedora  29
kernel  5.0.3-200.fc29.x86_64

$ lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description:    Fedora release 29 (Twenty Nine)
Release:        29
Codename:       TwentyNine

[Documentation] Command for running olivia

In the Readme, command to run Olivia is

QT_STYLE_OVERRIDE='gtk' olivia.test.olivia

But, in my directory structure, I see

snap/bin/olivia-test.olivia

So, when I do

QT_STYLE_OVERRIDE="gtk" olivia-test.olivia, olivia opens up. Is this an error in documentation?

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.