GithubHelp home page GithubHelp logo

arfbtwn / banshee Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dineshkummarc/banshee

6.0 6.0 4.0 39.57 MB

Home Page: http://banshee.fm/

License: MIT License

Shell 0.71% C# 92.14% JavaScript 0.06% Perl 0.16% Python 0.11% Boo 0.05% C 3.53% Makefile 1.87% Batchfile 0.42% Scheme 0.04% HTML 0.02% PLSQL 0.01% M4 0.83% Smalltalk 0.02% C++ 0.03%

banshee's People

Contributors

abock avatar admiralnemo avatar alanmcgovern avatar alexkay avatar andrejz avatar annoab avatar arfbtwn avatar benjavalero avatar bl8 avatar dmustieles avatar dufoli avatar dynalon avatar frandieguez avatar gburt avatar hyperair avatar janvitus avatar jordimas avatar kelemeng avatar knocte avatar marv-cz avatar mirosnik1 avatar piotrdrag avatar pmkovar avatar ppeble avatar raof avatar rubenv avatar snorp avatar topfs2 avatar trickv avatar yeager avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

banshee's Issues

RFE: Get some CI going

It would be nice to have some kind of CI (Travis CI, AppVeyor, ...).

I might take a look at the Linux side. Didn't try to compile Banshee on Windows yet...

  • Linux
    • msbuild (#12)
    • autotools
  • Windows
  • OS X

Migo: NRE on dispose

After Banshee closes we sometimes see this stack trace:

Unhandled Exception:
System.NullReferenceException: Object reference not set to an instance of an object
  at Migo.TaskCore.TaskGroup`1[T].PumpQueue () [0x00015] in /tmp/portage/media-sound/banshee-9999/work/banshee-9999/src/Libraries/Migo/Migo.TaskCore/TaskGroup.cs:766 
  at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00014] in /var/tmp/portage/dev-lang/mono-5.2.0.196/work/mono-5.2.0.196-abi_x86_64.amd64/mcs/class/referencesource/mscorlib/system/threading/thread.cs:68 
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071] in /var/tmp/portage/dev-lang/mono-5.2.0.196/work/mono-5.2.0.196-abi_x86_64.amd64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:957 
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in /var/tmp/portage/dev-lang/mono-5.2.0.196/work/mono-5.2.0.196-abi_x86_64.amd64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:904 
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x0002b] in /var/tmp/portage/dev-lang/mono-5.2.0.196/work/mono-5.2.0.196-abi_x86_64.amd64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:893 
  at System.Threading.ThreadHelper.ThreadStart () [0x00008] in /var/tmp/portage/dev-lang/mono-5.2.0.196/work/mono-5.2.0.196-abi_x86_64.amd64/mcs/class/referencesource/mscorlib/system/threading/thread.cs:105 
[ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object
  at Migo.TaskCore.TaskGroup`1[T].PumpQueue () [0x00015] in /tmp/portage/media-sound/banshee-9999/work/banshee-9999/src/Libraries/Migo/Migo.TaskCore/TaskGroup.cs:766 
  at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00014] in /var/tmp/portage/dev-lang/mono-5.2.0.196/work/mono-5.2.0.196-abi_x86_64.amd64/mcs/class/referencesource/mscorlib/system/threading/thread.cs:68 
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071] in /var/tmp/portage/dev-lang/mono-5.2.0.196/work/mono-5.2.0.196-abi_x86_64.amd64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:957 
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in /var/tmp/portage/dev-lang/mono-5.2.0.196/work/mono-5.2.0.196-abi_x86_64.amd64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:904 
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x0002b] in /var/tmp/portage/dev-lang/mono-5.2.0.196/work/mono-5.2.0.196-abi_x86_64.amd64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:893 
  at System.Threading.ThreadHelper.ThreadStart () [0x00008] in /var/tmp/portage/dev-lang/mono-5.2.0.196/work/mono-5.2.0.196-abi_x86_64.amd64/mcs/class/referencesource/mscorlib/system/threading/thread.cs:105 

trying compile on ubuntu 18.04

Hi,
I run
./configure --disable-gst_sharp --enable-gst-native --disable-docs --disable-scrollkeeper --disable-user-help --disable-youtube --disable-gio-hardware

Effect:

banshee-2.9.2

  Build Environment
    Install Prefix:        /usr
    Datadir:               /usr/local/share
    Libdir:                /usr/local/lib

    C Compiler:            /bin/bash /home/m/Pulpit/ban/build/m4/shave/shave cc gcc
    Mono C# Compiler:      /bin/bash /home/m/Pulpit/ban/build/m4/shave/shave mcs /usr/bin/mcs 
    Mono Runtime:          /usr/bin/mono
    Gtk#:                  2.99.3

  Media/Graphics:
    GStreamer# backend:    no
    GStreamer C backend:   yes
    Clutter:               no

  Operating System/Desktop Environment:
    GNOME Support:         yes
    OSX Support:           no

  Digital Audio Player (DAP) Support:
    Apple Device:          yes (libgpod-sharp)
    Karma:                 no
    Mass Storage:          yes
    MTP:                   yes

  Extra Features:
    Web Browser:           no (webkitgtk-3.0 >= 1.2.2, libsoup-2.4 >= 2.42)
    DAAP:                  yes
    GIO Backend:           yes (gio-sharp >= 2.99)
    GIO Hardware:          no (gudev-sharp >= 3.0)
    YouTube:               no (gdata-sharp >= 1.4)
    Sound Menu:            no
    Ubuntu One Store:      no (ubuntuone-sharp >= 0.9.2)
    UPnP:                  no (mono-upnp >= 0.1)
    Boo Scripting:         no (boo >= 0.8.1)

  Build/Development:
    Unit Tests:            yes (nunit >= 2.5)
    API Docs:              no (monodocer and mdassembler)
    User Help:             no (gnome-doc-utils >= 0.17.3)
    Release Build:         no
    Vendor Build ID:       git-checkout



then:
make and get this:

Making all in Hyena.Gui
  MCS   ../../../bin/Hyena.Gui.dll
./Hyena.Data.Gui/Accessibility/ColumnCellAccessible.cs(82,22): warning CS0108: `Hyena.Data.Gui.Accessibility.ColumnCellAccessible.Layer' hides inherited member `Atk.Object.Layer'. Use the new keyword if hiding was intended
/usr/lib/pkgconfig/../../lib/cli/atk-sharp-3.0/atk-sharp.dll (Location of the symbol related to previous warning)
./Hyena.Data.Gui/Accessibility/ColumnCellAccessible.cs(87,20): warning CS0108: `Hyena.Data.Gui.Accessibility.ColumnCellAccessible.MdiZorder' hides inherited member `Atk.Object.MdiZorder'. Use the new keyword if hiding was intended
/usr/lib/pkgconfig/../../lib/cli/atk-sharp-3.0/atk-sharp.dll (Location of the symbol related to previous warning)
./Hyena.Gui/BaseWidgetAccessible.cs(59,26): warning CS0108: `Hyena.Gui.BaseWidgetAccessible.Layer' hides inherited member `Atk.Object.Layer'. Use the new keyword if hiding was intended
/usr/lib/pkgconfig/../../lib/cli/atk-sharp-3.0/atk-sharp.dll (Location of the symbol related to previous warning)
./Hyena.Gui/BaseWidgetAccessible.cs(262,20): warning CS0108: `Hyena.Gui.BaseWidgetAccessible.MdiZorder' hides inherited member `Atk.Object.MdiZorder'. Use the new keyword if hiding was intended
/usr/lib/pkgconfig/../../lib/cli/atk-sharp-3.0/atk-sharp.dll (Location of the symbol related to previous warning)
./Hyena.Widgets/RatingEntry.cs(413,26): error CS0234: The type or namespace name `ValueChangedHandler' does not exist in the namespace `Atk'. Are you missing an assembly reference?
./Hyena.Widgets/RatingEntry.cs(433,20): error CS0234: The type or namespace name `Range' does not exist in the namespace `Atk'. Are you missing an assembly reference?
Compilation failed: 2 error(s), 4 warnings
Makefile:1143: polecenia dla obiektu '../../../bin/Hyena.Gui.dll' nie powiodły się
make[4]: *** [../../../bin/Hyena.Gui.dll] Błąd 1
Makefile:567: polecenia dla obiektu 'all-recursive' nie powiodły się
make[3]: *** [all-recursive] Błąd 1
Makefile:548: polecenia dla obiektu 'all-recursive' nie powiodły się
make[2]: *** [all-recursive] Błąd 1
Makefile:641: polecenia dla obiektu 'all-recursive' nie powiodły się
make[1]: *** [all-recursive] Błąd 1
Makefile:569: polecenia dla obiektu 'all' nie powiodły się
make: *** [all] Błąd 2

RFC: Remove Banshee.GStreamerSharp backend

The gstreamer-sharp binding library is more or less unmaintained (last commit in Arpil 2016).
Additionally it isn't shipped with any large distro.

Since we have our own binding + native library I'd suggest to remove the Banshee.GStreamerSharp backend.

Banshee crashes when playing videos

I didn't investigate what causes the crash. I tried it with H264 MKV files and the native GStreamer backend.

Suggestion:
Since there are some pretty good cross-platform video players (e.g. VLC) I'd say the video playback feature could be dropped to simplify the codebase a bit.

Can't compile with --disable-mtp

Before getting to #76 (comment) I got this error, only when using --disable-mtp in configuration

checking for sed... /usr/sbin/sed
checking that generated files are newer than configure... done
configure: error: conditional "LIBMTP_SIZEOF_TIME_T_64" was never defined.
Usually this means the macro was only invoked conditionally.
==> ERROR: A failure occurred in build().

Video: Taskbar/window list hidden after fullscreen

After or while viewing video in fullscreen mode (from the NowPlaying extension) and changing window with the GNOME 3 activities view or Alt + Tab, the next time Alt + Tab or the activities view is used the Banshee window is hidden.

Appears to be due to the parent-active signal that the fullscreen window listens for.

Also - a visual artefact, when using gnome's activities view the video rendering window isn't reparented back into the main player window and the fullscreen window is hidden although this may only be an issue on the feature/lite branch where the NowPlaying extension has been refactored.

TreeView scrolling reset on track change

The TreeView resets its scrolling to row 1 on most track changes. This doesn't happen on every change, occasionally the view scrolls correctly to the selection. Appears to be a side effect of the model reload performed when track details are synchronised to disc.

MPRIS play/pause does not work with some kde applications

Both the default media player controller (a screenlet, which is basically a system indicator) and kde connect although detecting banshee and album art and other info is displayed and the ability to to to next and previous song, are unable to signal banshee to play/pause.

as seen here for kdeconnect
screenshot_kde_connect_20180515-110447

and here for media player
screenshot_20180515_110553

please ask any more information / debug procedures

Can't compile: `Hyena.Widgets.RatingAccessible' does not implement interface member `Atk.IValue.GetValueAndText(out double, out string)'

This error is reported other places on the internet, too.

./Hyena.Widgets/RatingEntry.cs(409,18): error CS0535: Hyena.Widgets.RatingAccessible' does not implement interface member Atk.IValue.GetValueAndText(out double, out string)'
/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-3.0/atk-sharp.dll (Location of the symbol related to previous error)
./Hyena.Widgets/RatingEntry.cs(409,18): error CS0535: Hyena.Widgets.RatingAccessible' does not implement interface member Atk.IValueImplementor.GetValueAndText(out double, out string)'
/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-3.0/atk-sharp.dll (Location of the symbol related to previous error)

Engine: Gapless playback freeze

I'll record a trace next time it happens but occasionally the player crashes when requesting the next track with gapless mode enabled times out, a similar log message is printed in this scenario.

EDIT: no trace, program freezes on the above message.

DAP: Remote Source

MTP devices take a ridiculously long time to connect to Banshee, an alternative would be a networked sync source but we'd need application support on the target device for metadata and that limits us to Android and iOS (if we can find someone to write the application) but the extra functionality and speed may be worth it.

Bluetooth is supported through a community extension [1] but it's too slow, the connection is quite error prone and didn't support discovery, WIFI might be a better alternative to solve these problems.

[1] https://gbbmtp.wordpress.com/

build: What's the recommended IDE?

Once upon a time this was Monodevelop but since it looks like there's no development going on and it doesn't support the 15.x build tools it's probably time for a change of recommendation.

The recommended IDE should be Free Software but alternative suggestions are welcome.

banshee not accessing flacs' images

all my library has built in each flac file the coresponding image of the album art ut banshee seems to just redownload it and thus misses a few

can't pass MCS and MCS_FLAGS to make

as title ./configure --disable-shave && MCS_FLAGS=-langversion:4 make should fail at the new Notifications project that uses some C#6 syntax.

This feature may be needed by users with older compilers that don't support the later language features by default.

TreeView: Return of Filters/Browser

The browsers were useful components but took up far too much screen real estate and were removed for the lighter TreeView interface, we need to replace the view components with smaller ones and adapt it the regular GTK approach.

Contribution Guidelines, GitHub Integration

As anyone who has had a patch reviewed on bugzilla.gnome.org will know, there are some contribution guidelines for Banshee (and GNOME projects in general) but this information is tucked away in various places [1,2] and some can cause surprise to casual GitHub users as the flow is a bit different including an (AFAIK) unwritten rule against merges.

We should make sure the guidelines are presented to avoid surprise when reviewing pull requests.

[1] http://banshee.fm/contribute/write-code/
[2] https://wiki.gnome.org/Git/CommitMessages

[Feature Request] Change config directory location

I have a samba share auto connecting on my music folder and basically have 2 versions for my music

-> high quality opus for my laptop as it has a small ssd that are encoded from
-> flacs

I would like to be able to have the config / db folder on the same folder for when I am in my home vs when I am outside so I don't have to rescan my library every time.

banshee.fm offline

It seems the Banshee homepage banshee.fm isn't online anymore. The DNS records aren't set anymore.

As a consequence the online media features don't work anymore (Amazon, Miro Guide).

CoverArt: No UI refresh trigger

There is the ability to set cover art from the user interface per album/track, the scheduled job will execute from time-to-time but a user can't trigger it from the user interface, instead an environment variable is read on service startup but that's not particularly user friendly.

We should consider adding a UI action to refresh cover art.

MTP: Long Connection Time

Partially mitigated by the Claim button and PotentialSource (some bug fixes to come for this) so the user has to kick off the long running connect operation himself, it still seems that the actual connection operation takes an unusually long period of time - this is prior to the call to get the object list from the device at MtpDevice.Connect(RawMtpDevice)

B.WebBrowser: Zooming with GDK_SCROLL_SMOOTH broken

Pressing Ctrl and scrolling results only in zoom out events. Relevant code:

protected override bool OnScrollEvent (Gdk.EventScroll scroll)

The problem is caused by recent Gtk libs sending scoll events with GDK_SCROLL_SMOOTH instead of _UP/_DOWN. Normally this would be fine since the deltaY value of the event would specify the direction. In our case gtk-sharp unfortunatly just doesn't expose this field, so there is just no sane way to handle smooth scrolling.

As far as I undestand the Gtk code, there isn't a way to disable smooth scrolling on a per-widget base.

Proposal: Until we find a way to upgrade to a newer gtk-sharp lib (e.g https://github.com/openmedicus/gtk-sharp) remove the scroll handling and add zoom button to the navigation bar.

CoverArt: No Tracks Refreshed

Not sure if it's my database but no tracks seem to be processed when updating cover art, this may have been done by the RhapsodyMetadataProvider that no longer works, upstream moved to napster.com?

Looks like we could consider integrating with another service to restore functionality but we'd need to get a developer key and figure out how to securely distribute that.

Thumbnails: In Tree View

It would be cool to have music cover art or a video thumbnail displayed inline in the track list.

build: Compilation Error when both GTK 2 and 3 are installed

from @nicman23's comment on #50:

can you please fix some compiling errors when compiling with gtk2 and gtk3 libs in system ie:

MCS   ../../../bin/Banshee.Dap.AppleDevice.dll
error CS1703: An assembly `atk-sharp' with the same identity has already been imported. Consider removing one of the references
/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/atk-sharp.dll (Location of the symbol related to previous error)
/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-3.0/atk-sharp.dll (Location of the symbol related to previous error)
error CS1703: An assembly `gdk-sharp' with the same identity has already been imported. Consider removing one of the references
/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/gdk-sharp.dll (Location of the symbol related to previous error)
/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-3.0/gdk-sharp.dll (Location of the symbol related to previous error)
error CS1703: An assembly `glib-sharp' with the same identity has already been imported. Consider removing one of the references
/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/glib-sharp.dll (Location of the symbol related to previous error)
/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-3.0/glib-sharp.dll (Location of the symbol related to previous error)
error CS1703: An assembly `gtk-sharp' with the same identity has already been imported. Consider removing one of the references
/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/gtk-sharp.dll (Location of the symbol related to previous error)
/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-3.0/gtk-sharp.dll (Location of the symbol related to previous error)
error CS1703: An assembly `pango-sharp' with the same identity has already been imported. Consider removing one of the references
/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-2.0/pango-sharp.dll (Location of the symbol related to previous error)
/usr/lib/pkgconfig/../../lib/mono/gtk-sharp-3.0/pango-sharp.dll (Location of the symbol related to previous error)

podcasts: Ghost item Tooltip

When switching from a podcast view with many items to one with only one or two, hovering the empty area retains the tool tip from any items that would have had them in that space.

Looks like it's caused by the ListView's ViewLayout not invaliding child items correctly or not checking that they're visible before choosing to display the tool tip.

vcs: line endings after clone

Since b2fcbae git isn't happy with the line endings after a fresh clone.

> git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   help/es/es.po
	modified:   tests/data/amz/decrypted.amz
	modified:   tests/data/xspf/xspf-1_0.2.xsd

no changes added to commit (use "git add" and/or "git commit -a")

core.autocrlf is set to input.

video: Screensaver inhibition

May be broken according to this log message:

Unable to Inhibit GNOME screensaver; probably running >= 2.91.91 gnome-screensaver which removed this API - org.freedesktop.DBus.Error.UnknownMethod: No such method 'Inhibit'

TreeView: Duration Column Formatting

The adapter setup used in TreeView replaces the text column renderer with the regular GTK text cell renderer but for TimeSpan structures the display isn't humanised - we need to tweak the binder/adapter to provide the same fuzzy formatting as is seen with the ListView.

Development

Hello,

Just came across banshee. So far it looks pretty good. Is is still being developed? The reason I ask is that it has been quite a long time since it was released?

Thanks,

exception: At startup SqliteModelProvider

At startup we often see this exception:

Caught an exception - System.NullReferenceException: Object reference not set to an instance of an object (in `System.Core')
  at System.Collections.Generic.HashSet`1[T].AddIfNotPresent (T value) [0x000a3] in <76a2606033cd4592ae6be99b8b13acca>:0 
  at System.Collections.Generic.HashSet`1[T].Add (T item) [0x00000] in <76a2606033cd4592ae6be99b8b13acca>:0 
  at Hyena.Data.Sqlite.SqliteUtils.ToDbFormat (System.Type type, System.Object value) [0x00138] in <bad1ee9db8ec4674a7d7e2d826888cc6>:0 
  at Hyena.Data.Sqlite.AbstractDatabaseColumn.GetValue (System.Object target) [0x00009] in <bad1ee9db8ec4674a7d7e2d826888cc6>:0 
  at Hyena.Data.Sqlite.SqliteModelProvider`1[T].GetUpdateParams (T target) [0x00042] in <bad1ee9db8ec4674a7d7e2d826888cc6>:0 
  at Hyena.Data.Sqlite.SqliteModelProvider`1[T].Update (T target) [0x0000d] in <bad1ee9db8ec4674a7d7e2d826888cc6>:0 
  at Hyena.Data.Sqlite.SqliteModelProvider`1[T].Save (T target, System.Boolean force_insert) [0x00026] in <bad1ee9db8ec4674a7d7e2d826888cc6>:0 

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.