Giter Site home page Giter Site logo

thewisenoob / omp Goto Github PK

View Code? Open in Web Editor NEW
100.0 11.0 3.0 20.47 MB

OMP is an open-source music player being developed for Linux. OMP is programmed in C++ using gtkmm, GStreamer, TagLib, clastfm, and g++.

Home Page: https://openmusicplayer.com

License: Other

C++ 98.11% Makefile 1.76% C 0.13%
music-player linux-app linux flac flac-files ogg-flac ogg-vorbis wavpack alac mp3

omp's People

Contributors

axelsilverdew avatar mulimoen avatar noahrinehart avatar thewisenoob 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

omp's Issues

Segfault When Adding Music

I have no idea how to debug this, so this is all I know: When I select my entire music folder for additing to the playlist, at some point (seems like at the same point?) the program crashes with this output:

[1] 23619 segmentation fault (core dumped) omp

I have no idea what file is causing this, becuase I have hundreds of albums, so trying to add them all individually would take forever. So, I have no idea how to supply any more info.

Fails To Compile With GCC Versions Less Than 8

Ubuntu 18.04
Trying to build with make

GUI/Elements/FileChoosers/FileChooser.cc:102:10: fatal error: filesystem: No such file or directory
 #include <filesystem>
pavel@pavel-Parallels-Virtual-Platform:~/OMP$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.3.0-27ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04) 

I have already tried adding -lstdc++fs option. That doesn't help
I really hope you can help me to fix this

Segfault while adding files

I opened a new issue rather than have it in the new one, I hope that's okay with you.

Anyway, as I assume folder addition isn't supported yet (or at least I couldn't find a way), I tried to add an album track by track. Around about 4-5th track added OMP either locks up or crashes.

Here's the GDB output again:
https://pastebin.com/wuPFPYEQ

Arch Linux, kernel 4.15.3, gcc 7.3.0.

Large Playlists Extremely Slow

I am in the process of adding a loading ProgressBar for larger playlists when certain edits occur. I will also be drastically improving the speed and usability larger playlists.

Certain Artworks Vibrate

Some artworks that are not close to being a square will just vibrate when OMP is oriented in certain ways. This issue is fixed and awaiting release.

Freshly installed OMP won't start: Permission denied

I just installed omp-git from the AUR, and it fails to start.

% LC_ALL=C omp
terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error'
  what():  filesystem error: status: Permission denied [/home/wuestengecko/.omp/errors.md]
zsh: abort (core dumped)  LC_ALL=C omp
% ls -ld ~/.omp
d-w------- 1 wuestengecko wuestengecko 0 21. Apr 16:13 /home/wuestengecko/.omp

Manually correcting the directory's permissions to 755 allows omp to start successfully.

Stack trace from journalctl:

Process 27292 (omp) of user 1000 dumped core.

Stack trace of thread 27292:
#0  0x00007f55ec89582f raise (libc.so.6)
#1  0x00007f55ec880672 abort (libc.so.6)
#2  0x00007f55ecc2e58e _ZN9__gnu_cxx27__verbose_terminate_handlerEv (libstdc++.so.6)
#3  0x00007f55ecc34e0a _ZN10__cxxabiv111__terminateEPFvvE (libstdc++.so.6)
#4  0x00007f55ecc34e67 _ZSt9terminatev (libstdc++.so.6)
#5  0x00007f55ecc350bc __cxa_throw (libstdc++.so.6)
#6  0x000055cbc44326df _ZNSt10filesystem6statusERKNS_7__cxx114pathE.cold.203 (omp)
#7  0x000055cbc445a75f _ZNSt10filesystem6existsERKNS_7__cxx114pathE (omp)
#8  0x000055cbc4459ac6 _ZN17ConfigurationGUIsC2ER4Base (omp)
#9  0x000055cbc4463359 _ZN3GUIC2ER4Base (omp)
#10 0x000055cbc4446695 _ZN4BaseC2EiPPcN4Glib6RefPtrIN3Gtk11ApplicationEEE (omp)
#11 0x000055cbc4485c64 main (omp)
#12 0x00007f55ec881ce3 __libc_start_main (libc.so.6)
#13 0x000055cbc4432eae _start (omp)

Stack trace of thread 27294:
#0  0x00007f55ec94e0d1 __poll (libc.so.6)
#1  0x00007f55ed3ed690 n/a (libglib-2.0.so.0)
#2  0x00007f55ed3ee6d2 g_main_loop_run (libglib-2.0.so.0)
#3  0x00007f55ed821568 n/a (libgio-2.0.so.0)
#4  0x00007f55ed3c8c21 n/a (libglib-2.0.so.0)
#5  0x00007f55eca2aa92 start_thread (libpthread.so.0)
#6  0x00007f55ec958cd3 __clone (libc.so.6)

Stack trace of thread 27293:
#0  0x00007f55ec94e0d1 __poll (libc.so.6)
#1  0x00007f55ed3ed690 n/a (libglib-2.0.so.0)
#2  0x00007f55ed3ed77e g_main_context_iteration (libglib-2.0.so.0)
#3  0x00007f55ed3ed7d2 n/a (libglib-2.0.so.0)
#4  0x00007f55ed3c8c21 n/a (libglib-2.0.so.0)
#5  0x00007f55eca2aa92 start_thread (libpthread.so.0)
#6  0x00007f55ec958cd3 __clone (libc.so.6)

Unhelpful or Wrong Errors After Reading Certain Files

Some files refuse to load in OMP, even though they are valid and play fine with other software.

The errors include:

Error: /run/media/aladar/fad599b8-eb10-4814-95bd-fa0e60942ce7/home/aladar/Music/Touché Amoré - Stage Four/01 Flowers and You.mp3 failed to open.

Error: The mime type of /run/media/aladar/fad599b8-eb10-4814-95bd-fa0e60942ce7/home/aladar/Music/!!!NEW/The Future Is Analog/The Future Is Analog/1 - Sam De La Rosa - Chamaleon.wav is not valid.

Error: Failed to open /run/media/aladar/fad599b8-eb10-4814-95bd-fa0e60942ce7/home/aladar/Music/Joy Division/1997 - Heart and Soul/Disc 4/01 - Dead Souls (Live).flac with the mime type of .

Additionally, some files are recognized as wrong formats and throw out an error:
Error: Failed to open /run/media/aladar/fad599b8-eb10-4814-95bd-fa0e60942ce7/home/aladar/Music/Death In Rome - Hitparade [2xCD] (2016) [V0]/01 Love Me Forever.wav with the mime type of .
(above is actually an mp3 file)

Doesnt seem like any one particular format problem, the formats include FLAC, MP3, OGG, AIF and WAV.

Undo Changes Does Not Reset Menus

Using the Undo Changes of a Configuration GUI doesn't reset the System Menu and the Menu Bars after unsaved changes have been made using the Configuration GUI.

Segmentation Fault Clicking Play Button Twice In Queue

Hey, while checking out this project, I noticed a bug. When I click the play button twice in a queue, the program segfaulted with this error:

omp:14175): Gtk-CRITICAL **: 00:39:34.357: gtk_tree_model_get_iter: assertion 'path->depth > 0' failed

(omp:14175): Gtk-CRITICAL **: 00:39:34.357: gtk_tree_store_get_value: assertion 'VALID_ITER (iter, tree_store)' failed
[1]    14175 segmentation fault (core dumped)  ./omp

I looked into it a little, but I don't really know much about gtk. It could be just an issue with my computer...

Steps to reproduce:

  1. Add 1 or more songs to the library
  2. Right click a song(s) to "Queue Row(s)"
  3. Hit the play button in the top left
  4. Hit the play button again
  5. Program crashes

Track Data Queue Reset Bug

Changing between repeat playlist and no repeating while playing is glitchy and breaks playback. Also, there are issues with the playback queue related to this bug.

PKGBUILD for Arch Linux

Change whatever to suit your needs. ;-)

pkgname=openmusicplayer-git
_pkgname=OpenMusicPlayer
pkgver=0.0.1.r0.gbc57e41
pkgrel=1
pkgdesc='gtk3 music player'
url='https://openmusicplayer.com/'
arch=(x86_64)
license=(GPL3)
depends=(gstreamer gtkmm3 libclastfm libconfig taglib)
makedepends=(boost git)
provides=("${pkgname%-*}")
conflicts=("${pkgname%-*}")
source=('git+https://github.com/TheWiseNoob/OpenMusicPlayer.git'
        'omp.desktop')
sha256sums=('SKIP'
            '65398127a90eec9cb79eb11a227305ec2b9f2f3ba1265e2dd1d31934205cd38c')

pkgver() {
  cd "${_pkgname}"
  git describe --long --tags | sed -r 's/([^-]*-g)/r\1/;s/-/./g'
}

build() {
  cd "${_pkgname}"
  make
}

package() {
  cd "${_pkgname}"
  install -Dm0755 omp "${pkgdir}/usr/bin/omp"
  install -Dm0644 Images/Icon_Small.png "${pkgdir}/usr/share/pixmaps/omp.png"
  install -Dm0644 ../omp.desktop "${pkgdir}/usr/share/applications/omp.desktop"
}
[Desktop Entry]
Comment=
Exec=omp %U
GenericName=Audio Player
Icon=/usr/share/pixmaps/omp.png
MimeType=application/ogg;audio/x-vorbis+ogg;application/x-ogg;audio/mp3;audio/x-mp3;audio/x-flac;audio/mpeg;audio/x-mpeg;audio;audio/mpeg3;audio/ogg;audio/flac;audio/wav;audio/x-oggflac;audio/x-tta
Name=Open Music Player
StartupNotify=false
StartupWMClass=Open Music Player
Terminal=false
TerminalOptions=
Type=Application
Categories=AudioVideo;Player;Audio;

Play Button Restarts Playing Track

Pressing Play with the button or using the keyboard shortcut restarts the track if it is already playing. It does properly unpause, but pressing it again after paused or just when playing restarts the track.

Crash On Launch Because of Missing Image File

Just installed your player after seeing it on Reddit a couple of time, am excited to try it out. I installed it from the AUR package, and whenever I open it I get the following output:

find() setting name: output.sink



find() setting name: output.sink



find() setting name: playback.volume



find() setting name: playback.volume



find() setting name: replaygain.pre_amp



find() setting name: replaygain.pre_amp



find() setting name: replaygain.fallback_gain



find() setting name: replaygain.fallback_gain



find() setting name: replaygain.gain_type



find() setting name: replaygain.gain_type



find() setting name: playback.queue_saved



find() setting name: playback.queue_saved

terminate called after throwing an instance of 'Glib::FileError'
Aborted (core dumped)

Editing A Row's Column Not Reliable

If you try to edit a specific row's column, sometimes the correct one is not chosen. Also, editing sometimes stops working altogether until a restart. These bugs are being investigated.

Playback Follows Cursor Bug

Enabling playback follows cursor after having been disabled does not play the currently selected row unless it is reclicked.

No longer build on Arch Linux

Hi, no longer build on Arch Linux, current gcc version is 13.2.1

In file included from GUI/GUI.cc:58:
GUI/GUI.h:654:17: error: field 'cover_file_' has incomplete type 'std::string' {aka 'std::__cxx11::basic_string<char>'}
  654 |     std::string cover_file_;
      |                 ^~~~~~~~~~~
In file included from /usr/include/c++/13.2.1/iosfwd:41,
                 from /usr/include/c++/13.2.1/bits/shared_ptr.h:52,
                 from /usr/include/c++/13.2.1/memory:80,
                 from GUI/GUI.h:91:
/usr/include/c++/13.2.1/bits/stringfwd.h:72:11: note: declaration of 'std::string' {aka 'class std::__cxx11::basic_string<char>'}
   72 |     class basic_string;
      |           ^~~~~~~~~~~~
GUI/GUI.h:656:17: error: field 'default_cover_file_' has incomplete type 'std::string' {aka 'std::__cxx11::basic_string<char>'}
  656 |     std::string default_cover_file_;
      |                 ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13.2.1/bits/stringfwd.h:72:11: note: declaration of 'std::string' {aka 'class std::__cxx11::basic_string<char>'}
   72 |     class basic_string;
      |           ^~~~~~~~~~~~
In file included from Metadata/Metadata.cc:90:
/usr/include/taglib/apeproperties.h:58:7: error: 'TAGLIB_DEPRECATED' does not name a type
   58 |       TAGLIB_DEPRECATED Properties(File *file, ReadStyle style = Average);
      |       ^~~~~~~~~~~~~~~~~
/usr/include/taglib/apeproperties.h:58:7: note: the macro 'TAGLIB_DEPRECATED' had not yet been defined
In file included from /usr/include/taglib/tstring.h:30,
                 from /usr/include/taglib/tag.h:30,
                 from /usr/include/taglib/mp4file.h:29,
                 from Metadata/Metadata.cc:104:
/usr/include/taglib/taglib.h:48: note: it was later defined here
   48 | #define TAGLIB_DEPRECATED [[deprecated]]
      | 
/usr/include/taglib/apeproperties.h:79:7: error: 'TAGLIB_DEPRECATED' does not name a type
   79 |       TAGLIB_DEPRECATED virtual int length() const;
      |       ^~~~~~~~~~~~~~~~~
/usr/include/taglib/apeproperties.h:79:7: note: the macro 'TAGLIB_DEPRECATED' had not yet been defined
/usr/include/taglib/taglib.h:48: note: it was later defined here
   48 | #define TAGLIB_DEPRECATED [[deprecated]]

omp

Track Playback Queue Bug

The Track Playback Queue and something released to the selected playlist causes a crash sometimes. I'm working on investigating the issue.

Keep JACK Outputs Opened All the Time

I'd like to use OMP with JACK and connect it to ports other than the hardware playback ports which OMP connects to by default, but everytime a new track is played back, the OMP ports reconnect to the hp ports, more specific: The OMP ports are closed when the music stops and reopened when the music starts. To use OMP in the way I need it, I would have to delete an reconnect all OMP ports manually everytime when a new track is played back.

It would be much better to have OMP open it's JACK ports on startup and closing them on shutdown.

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.