Giter Site home page Giter Site logo

rhythmbox-spectrum's Introduction

rhythmbox-spectrum

Add a visual spectrum analyzer to Rhythmbox

pic

Flattr Button paypaldonate

To install the plugin:

cd ~/Downloads
git clone https://github.com/fossfreedom/rhythmbox-spectrum.git
cd rhythmbox-spectrum
./install.sh

Then enable the plugin in the plugins window.

Toggle the spectrum analyzer via the new View Spectrum menu option or just play Use the plugin preferences to move the spectrum left/bottom of the display

rhythmbox-spectrum's People

Contributors

fossfreedom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

rhythmbox-spectrum's Issues

investigate using a tee object

as per this bug-report from years ago

... https://bugzilla.gnome.org/show_bug.cgi?id=327367

"Rather than adding it as a filter element and stealing playbin's messages, it
would probably be better to add it as a tee element and use an event probe to
watch for the events."

Lets investigate how the visualisation plugin does this

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/2637732-investigate-using-a-tee-object?utm_campaign=plugin&utm_content=tracker%2F3163475&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F3163475&utm_medium=issues&utm_source=github).

Visualizer does not show up in Rhythmbox

After running install.sh and enabling the plugin in Rhythmbox when I go into "View" and click "Spectrum" it puts a checkmark next to "Spectrum" but nothing seems to happen. When running Rythmbox in the terminal and checking the box for Spectrum in "View" it outputs:

 Traceback (most recent call last):
  File "/home/nocashvalue/.local/share/rhythmbox/plugins/spectrum/spectrum_rb3compat.py", line 782, in _activate
    self._connect_func(action, None, self._connect_args)
  File "/home/nocashvalue/.local/share/rhythmbox/plugins/spectrum/spectrum.py", line 171, in toggle_visibility
    self._make_visible(action.get_active())
  File "/home/nocashvalue/.local/share/rhythmbox/plugins/spectrum/spectrum.py", line 176, in _make_visible
    self.spectrum.initialise(self.shell)
  File "/home/nocashvalue/.local/share/rhythmbox/plugins/spectrum/spectrum.py", line 257, in initialise
    self.spectrum = Gst.ElementFactory.make("spectrum", "spectrum")
  File "/usr/lib/python3.5/site-packages/gi/overrides/Gst.py", line 217, in make
    return Gst.ElementFactory.make(factory_name, instance_name)
  File "/usr/lib/python3.5/site-packages/gi/overrides/Gst.py", line 348, in fake_method
    raise NotInitialized("Please call Gst.init(argv) before using GStreamer")
gi.overrides.Gst.NotInitialized: Please call Gst.init(argv) before using GStreamer

Afterword when I uncheck and then check the box again It also outputs

Traceback (most recent call last):
  File "/home/nocashvalue/.local/share/rhythmbox/plugins/spectrum/spectrum.py", line 403, in on_configure_event
    self.spectrum.set_property("bands", int(self.spect_bands))
AttributeError: 'SpectrumPlayer' object has no attribute 'spectrum'

(rhythmbox:6348): Gtk-WARNING **: Negative content height -1 (allocation 1, extents 1x1) while allocating gadget (node viewport, owner GtkViewport)
Traceback (most recent call last):
  File "/home/nocashvalue/.local/share/rhythmbox/plugins/spectrum/spectrum.py", line 403, in on_configure_event
    self.spectrum.set_property("bands", int(self.spect_bands))
AttributeError: 'SpectrumPlayer' object has no attribute 'spectrum'

After that unchecking and checking the box does not output anything to the console unless I actually unload and reload the plugin or restart Rythmbox and then it just outputs the same stuff again and still the visualizer does not show up.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/34698447-visualizer-does-not-show-up-in-rhythmbox?utm_campaign=plugin&utm_content=tracker%2F3163475&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F3163475&utm_medium=issues&utm_source=github).

bouncing decay bars

add a configuable option - allow the decay bars actually to move upwards to the make height before decaying

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/3765507-bouncing-decay-bars?utm_campaign=plugin&utm_content=tracker%2F3163475&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F3163475&utm_medium=issues&utm_source=github).

using cross-fade causes spectrum not to display

as per title,

the following is observed when using the preferences cross-fade option:

(rhythmbox:21227): Gtk-CRITICAL **: gtk_css_provider_load_from_path: assertion 'path != NULL' failed
(11:22:00) [0x25dde70] [SpectrumPlayer.initialise] spectrum.py:304: <__main__.RBPlayerGstXFade object at 0x7ffecc18c4c8 (RBPlayerGstXFade at 0x255bc90)>
Traceback (most recent call last):
  File "/home/dad/.local/share/rhythmbox/plugins/rhythmbox-spectrum/spectrum_rb3compat.py", line 775, in _activate
    self._connect_func(action, None, self._connect_args)
  File "/home/dad/.local/share/rhythmbox/plugins/rhythmbox-spectrum/spectrum.py", line 104, in toggle_visibility
    win.initialise(self.shell)
  File "/home/dad/.local/share/rhythmbox/plugins/rhythmbox-spectrum/spectrum.py", line 155, in initialise
    if not player.props.playbin:
AttributeError: 'gi._gobject.GProps' object has no attribute 'playbin'

configurable number of bars to display

allow the user to configure how many bars should be displayed

This should also include the upper frequency bars - most music isnt high and there isnt alot of point having a empty space at the end of the display waiting for high pitched music - perhaps lump this point together to receive the max magnitude

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/3765524-configurable-number-of-bars-to-display?utm_campaign=plugin&utm_content=tracker%2F3163475&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F3163475&utm_medium=issues&utm_source=github).

occasionally, starting to play causes rhythmbox to crash

as title says - sometimes RB crashes with a memory allocation error.

Dont know what this is - need to run via gdb to see what this issue is.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/8888652-occasionally-starting-to-play-causes-rhythmbox-to-crash?utm_campaign=plugin&utm_content=tracker%2F3163475&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F3163475&utm_medium=issues&utm_source=github).

Investigate what can be borrowed from the spectrum patch

... https://bugzilla.gnome.org/show_bug.cgi?id=327367

The original spectrum patch looks to have theming and other drawing features.

Lets have a look at what was originally proposed and see if they can be pulled forward and updated as appropriate.

EDIT: audacious has a complicated spectrum - https://github.com/audacious-media-player/audacious-plugins/blob/master/src/gl-spectrum/gl-spectrum.cc

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/2637754-investigate-what-can-be-borrowed-from-the-spectrum-patch?utm_campaign=plugin&utm_content=tracker%2F3163475&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F3163475&utm_medium=issues&utm_source=github).

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.