Bugs, Features & Forks

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

Bugs, Features & Forks

Banshee Media Player mailing list
Hi folks,

I've been working on my copy of Banshee over the holiday season and
thought some of you might be interested in some changes I've
implemented there:

- revised auto-tools setup:
  > vanilla autoreconf now works;
  > --enable-x switches added for all extensions;
  > some components like the Clients and DAP are also covered;
  > some tweaks to mono discovery to look in extra places.
- improved DAP user experience for MTP:
  > no-longer try to auto-connect, instead;
  > display the potential source interface and connect without UI swapping;
  > it's no faster, but it feels better.
- mostly new user interface, I thought Banshee was looking a little old:
  > with luck this will be lighter, for example it doesn't have filters;
  > slightly different layout, focus on saving real estate;
  > couple of new widgets;
  > uses gtk3 HeaderBar so far, Popovers are planned.

If you check the source you'll notice a somewhat experimental feature
--enable-treeview, which switches Banshee's track list to use an Hyena
widget that inherits from the Gtk.TreeView widget and exposes the
protected interface for ListView, it mostly works as a drop in
replacement though drag and drop is a bit tricky and the album browser
isn't supported by it. On the other hand you get kinetic scrolling and
it feels pretty snappy.

A few bug fixes went into this too, if you want to take a look, the
work is on branch feature/lite:

https://github.com/arfbtwn/banshee.git

Anyway, if you've read this far and have some changes of your own that
you want to share then I'd be interested to see them.

Hope you all had a great holiday, cheers!

--
Registered Linux User #392373
_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
Reply | Threaded
Open this post in threaded view
|

Re: Bugs, Features & Forks

chrisperro

Hi Nicholas,

I tried to build your "feature/lite" branch on Ubuntu 16.10 and I encounter these errors :

[...]
Making all in Gtk.Extra
  MCS   ../../../bin/Gtk.Extra.dll
./Gtk/Popover.cs(30,48): error CS0234: The type or namespace name `MenuModel' does not exist in the namespace `GLib'. Are you missing an assembly reference?
./Gtk/Popover.cs(149,30): error CS0234: The type or namespace name `MenuModel' does not exist in the namespace `GLib'. Are you missing an assembly reference?
Compilation failed: 2 error(s), 0 warnings

The autogen.sh does not complain about any missing dependency (see it at http://www.heypasteit.com/clip/3A4E)

For the full "make" log, please see it at http://www.heypasteit.com/clip/3A4F.

Am I missing a dependency, is it a code problem or something else?

Thanks a lot in advance for any help,

Christian


Le 2016-12-30 à 06:22, Nicholas Little via banshee-list a écrit :
Hi folks,

I've been working on my copy of Banshee over the holiday season and
thought some of you might be interested in some changes I've
implemented there:

- revised auto-tools setup:
  > vanilla autoreconf now works;
  > --enable-x switches added for all extensions;
  > some components like the Clients and DAP are also covered;
  > some tweaks to mono discovery to look in extra places.
- improved DAP user experience for MTP:
  > no-longer try to auto-connect, instead;
  > display the potential source interface and connect without UI swapping;
  > it's no faster, but it feels better.
- mostly new user interface, I thought Banshee was looking a little old:
  > with luck this will be lighter, for example it doesn't have filters;
  > slightly different layout, focus on saving real estate;
  > couple of new widgets;
  > uses gtk3 HeaderBar so far, Popovers are planned.

If you check the source you'll notice a somewhat experimental feature
--enable-treeview, which switches Banshee's track list to use an Hyena
widget that inherits from the Gtk.TreeView widget and exposes the
protected interface for ListView, it mostly works as a drop in
replacement though drag and drop is a bit tricky and the album browser
isn't supported by it. On the other hand you get kinetic scrolling and
it feels pretty snappy.

A few bug fixes went into this too, if you want to take a look, the
work is on branch feature/lite:

https://github.com/arfbtwn/banshee.git

Anyway, if you've read this far and have some changes of your own that
you want to share then I'd be interested to see them.

Hope you all had a great holiday, cheers!



_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
Reply | Threaded
Open this post in threaded view
|

Re: Bugs, Features & Forks

Banshee Media Player mailing list
Hi Christian,

Sorry to hear about the errors you encountered when compiling, I don't
think you're missing a dependency but it sounds like you'll need to
install a later version of gtk-sharp than is provided by your
distribution to correct that error, for reference I install from git
[1] and this is the metadata from the resulting package config file
(installed at /usr/lib64/pkgconfig) for comparison with what you have:

Name: Gtk#
Description: Gtk# - GNOME .NET Binding
Version: 2.99.4
Cflags: -I:${gapidir}/pango-api.xml -I:${gapidir}/atk-api.xml
-I:${gapidir}/gtk-api.xml
Libs: -r:${libdir}/mono/gtk-sharp-3.0/cairo-sharp.dll
-r:${libdir}/mono/gtk-sharp-3.0/pango-sharp.dll
-r:${libdir}/mono/gtk-sharp-3.0/atk-sharp.dll
-r:${libdir}/mono/gtk-sharp-3.0/gtk-sharp.dll
Requires: glib-sharp-3.0 gio-sharp-3.0 gdk-sharp-3.0

I'm an autotools novice so it'll be good practise to add a macro to
check the version (feel free to beat me to it, I have nothing against
pull requests) though I'm not 100% certain on whether 2.99.4 is needed
or if you could get away with just 2.99.1.

Hope that helps.
Nicholas.

[1] https://github.com/mono/gtk-sharp

On 5 January 2017 at 16:37, Christian Perreault
<[hidden email]> wrote:

> Hi Nicholas,
>
> I tried to build your "feature/lite" branch on Ubuntu 16.10 and I encounter
> these errors :
>
> [...]
> Making all in Gtk.Extra
>   MCS   ../../../bin/Gtk.Extra.dll
> ./Gtk/Popover.cs(30,48): error CS0234: The type or namespace name
> `MenuModel' does not exist in the namespace `GLib'. Are you missing an
> assembly reference?
> ./Gtk/Popover.cs(149,30): error CS0234: The type or namespace name
> `MenuModel' does not exist in the namespace `GLib'. Are you missing an
> assembly reference?
> Compilation failed: 2 error(s), 0 warnings
>
> The autogen.sh does not complain about any missing dependency (see it at
> http://www.heypasteit.com/clip/3A4E)
>
> For the full "make" log, please see it at
> http://www.heypasteit.com/clip/3A4F.
>
> Am I missing a dependency, is it a code problem or something else?
>
> Thanks a lot in advance for any help,
>
> Christian
>
>
> Le 2016-12-30 à 06:22, Nicholas Little via banshee-list a écrit :
>
> Hi folks,
>
> I've been working on my copy of Banshee over the holiday season and
> thought some of you might be interested in some changes I've
> implemented there:
>
> - revised auto-tools setup:
>   > vanilla autoreconf now works;
>   > --enable-x switches added for all extensions;
>   > some components like the Clients and DAP are also covered;
>   > some tweaks to mono discovery to look in extra places.
> - improved DAP user experience for MTP:
>   > no-longer try to auto-connect, instead;
>   > display the potential source interface and connect without UI swapping;
>   > it's no faster, but it feels better.
> - mostly new user interface, I thought Banshee was looking a little old:
>   > with luck this will be lighter, for example it doesn't have filters;
>   > slightly different layout, focus on saving real estate;
>   > couple of new widgets;
>   > uses gtk3 HeaderBar so far, Popovers are planned.
>
> If you check the source you'll notice a somewhat experimental feature
> --enable-treeview, which switches Banshee's track list to use an Hyena
> widget that inherits from the Gtk.TreeView widget and exposes the
> protected interface for ListView, it mostly works as a drop in
> replacement though drag and drop is a bit tricky and the album browser
> isn't supported by it. On the other hand you get kinetic scrolling and
> it feels pretty snappy.
>
> A few bug fixes went into this too, if you want to take a look, the
> work is on branch feature/lite:
>
> https://github.com/arfbtwn/banshee.git
>
> Anyway, if you've read this far and have some changes of your own that
> you want to share then I'd be interested to see them.
>
> Hope you all had a great holiday, cheers!
>
>
>
> _______________________________________________
> banshee-list mailing list
> [hidden email]
> https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)



--
Registered Linux User #392373
_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
Reply | Threaded
Open this post in threaded view
|

Re: Bugs, Features & Forks

chrisperro

Hi again!

Thanks! I installed gtk-sharp from the GitHub master branch, which produces version 2.99.4, and the "make" process worked!

Before that, I reran "autogen.sh". Then, I did "sudo make install", which installed Banshee under /usr/lib/banshee/.

However, Banshee does not start correctly. When I run "/usr/lib/banshee/Banshee.exe --debug", I receive the log available at http://www.heypasteit.com/clip/3A52, where we can see this error :

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeLoadException: Could not load type 'Banshee.GStreamer.PlayerEngine' from assembly 'Banshee.GStreamer, Version=2.6.0.0, Culture=neutral, PublicKeyToken=null'.

Do you have any idea on how to solve? Did I install it correctly?

I would love to be able to run Banshee from a compiled source code, because it means that I'll be able to dive into its development, something I wish for several years, but I never succeeded in completing this cycle.

Thanks,

Christian


Le 2017-01-05 à 13:42, Nicholas Little via banshee-list a écrit :
Hi Christian,

Sorry to hear about the errors you encountered when compiling, I don't
think you're missing a dependency but it sounds like you'll need to
install a later version of gtk-sharp than is provided by your
distribution to correct that error, for reference I install from git
[1] and this is the metadata from the resulting package config file
(installed at /usr/lib64/pkgconfig) for comparison with what you have:

Name: Gtk#
Description: Gtk# - GNOME .NET Binding
Version: 2.99.4
Cflags: -I:${gapidir}/pango-api.xml -I:${gapidir}/atk-api.xml
-I:${gapidir}/gtk-api.xml
Libs: -r:${libdir}/mono/gtk-sharp-3.0/cairo-sharp.dll
-r:${libdir}/mono/gtk-sharp-3.0/pango-sharp.dll
-r:${libdir}/mono/gtk-sharp-3.0/atk-sharp.dll
-r:${libdir}/mono/gtk-sharp-3.0/gtk-sharp.dll
Requires: glib-sharp-3.0 gio-sharp-3.0 gdk-sharp-3.0

I'm an autotools novice so it'll be good practise to add a macro to
check the version (feel free to beat me to it, I have nothing against
pull requests) though I'm not 100% certain on whether 2.99.4 is needed
or if you could get away with just 2.99.1.

Hope that helps.
Nicholas.

[1] https://github.com/mono/gtk-sharp

On 5 January 2017 at 16:37, Christian Perreault
[hidden email] wrote:
Hi Nicholas,

I tried to build your "feature/lite" branch on Ubuntu 16.10 and I encounter
these errors :

[...]
Making all in Gtk.Extra
  MCS   ../../../bin/Gtk.Extra.dll
./Gtk/Popover.cs(30,48): error CS0234: The type or namespace name
`MenuModel' does not exist in the namespace `GLib'. Are you missing an
assembly reference?
./Gtk/Popover.cs(149,30): error CS0234: The type or namespace name
`MenuModel' does not exist in the namespace `GLib'. Are you missing an
assembly reference?
Compilation failed: 2 error(s), 0 warnings

The autogen.sh does not complain about any missing dependency (see it at
http://www.heypasteit.com/clip/3A4E)

For the full "make" log, please see it at
http://www.heypasteit.com/clip/3A4F.

Am I missing a dependency, is it a code problem or something else?

Thanks a lot in advance for any help,

Christian


Le 2016-12-30 à 06:22, Nicholas Little via banshee-list a écrit :

Hi folks,

I've been working on my copy of Banshee over the holiday season and
thought some of you might be interested in some changes I've
implemented there:

- revised auto-tools setup:
  > vanilla autoreconf now works;
  > --enable-x switches added for all extensions;
  > some components like the Clients and DAP are also covered;
  > some tweaks to mono discovery to look in extra places.
- improved DAP user experience for MTP:
  > no-longer try to auto-connect, instead;
  > display the potential source interface and connect without UI swapping;
  > it's no faster, but it feels better.
- mostly new user interface, I thought Banshee was looking a little old:
  > with luck this will be lighter, for example it doesn't have filters;
  > slightly different layout, focus on saving real estate;
  > couple of new widgets;
  > uses gtk3 HeaderBar so far, Popovers are planned.

If you check the source you'll notice a somewhat experimental feature
--enable-treeview, which switches Banshee's track list to use an Hyena
widget that inherits from the Gtk.TreeView widget and exposes the
protected interface for ListView, it mostly works as a drop in
replacement though drag and drop is a bit tricky and the album browser
isn't supported by it. On the other hand you get kinetic scrolling and
it feels pretty snappy.

A few bug fixes went into this too, if you want to take a look, the
work is on branch feature/lite:

https://github.com/arfbtwn/banshee.git

Anyway, if you've read this far and have some changes of your own that
you want to share then I'd be interested to see them.

Hope you all had a great holiday, cheers!



_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)




_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
Reply | Threaded
Open this post in threaded view
|

Re: Bugs, Features & Forks

Tarus Balog
On 01/05/2017 02:16 PM, Christian Perreault wrote:
> I would love to be able to run Banshee from a compiled source code,
> because it means that I'll be able to dive into its development,
> something I wish for several years, but I never succeeded in completing
> this cycle.

I'm eagerly following this thread, too. Banshee is my favorite music app
but it was recently dropped from Mint due to lack of updates.

Thanks for picking it up.

-T

--
Tarus BALOG, Maintainer                     Main:   +1 919 533 0160
The OpenNMS Group, Inc.                     Fax:    +1 773 345 3645
Email: [hidden email]                    URL: http://www.opennms.org
PGP Key Fingerprint: AFA1 DDA2 24B0 4B61 8D76 9CC7 91F4 79A0 FBF2 DC21
_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
Reply | Threaded
Open this post in threaded view
|

Re: Bugs, Features & Forks

chrisperro
In reply to this post by chrisperro

One more thing (sorry for overloading your inboxes)

Now that I uninstalled the native Ubuntu Banshee package and cleaned the folders, I went through "autogen.sh", "make" and "sudo make install", and now the error is different, being about missing "Nereid.exe" :

[1 Debug 14:21:42.921] Bus.Session.RequestName ('org.bansheeproject.Banshee') replied with PrimaryOwner

Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly '/usr/lib/banshee/Nereid.exe' or one of its dependencies
File name: '/usr/lib/banshee/Nereid.exe'
  at (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (string,bool)
  at System.Reflection.Assembly.LoadFrom (System.String assemblyFile, System.Security.Policy.Evidence securityEvidence) <0x7f0ba45a1880 + 0x00016> in <filename unknown>:0
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) <0x7f0ba452df70 + 0x00023> in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string,System.Security.Policy.Evidence,string[])
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile) <0x7f0ba452df10 + 0x0001c> in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string)
  at Booter.Booter.BootClient (System.String clientName) <0x41a7a570 + 0x00092> in <filename unknown>:0
  at Booter.Booter.Main () <0x41a30d50 + 0x001bf> in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly '/usr/lib/banshee/Nereid.exe' or one of its dependencies
File name: '/usr/lib/banshee/Nereid.exe'
  at (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (string,bool)
  at System.Reflection.Assembly.LoadFrom (System.String assemblyFile, System.Security.Policy.Evidence securityEvidence) <0x7f0ba45a1880 + 0x00016> in <filename unknown>:0
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) <0x7f0ba452df70 + 0x00023> in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string,System.Security.Policy.Evidence,string[])
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile) <0x7f0ba452df10 + 0x0001c> in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string)
  at Booter.Booter.BootClient (System.String clientName) <0x41a7a570 + 0x00092> in <filename unknown>:0
  at Booter.Booter.Main () <0x41a30d50 + 0x001bf> in <filename unknown>:0

A quick search points me toward my Mono version could be the culprit. I installed "mono-complete", and on Ubuntu 16.10, this currently install Mono 4.2.1. Which Mono version do you use?

Again, any help is very appreciated.

Thank,

Christian


Le 2017-01-05 à 14:16, Christian Perreault a écrit :

Hi again!

Thanks! I installed gtk-sharp from the GitHub master branch, which produces version 2.99.4, and the "make" process worked!

Before that, I reran "autogen.sh". Then, I did "sudo make install", which installed Banshee under /usr/lib/banshee/.

However, Banshee does not start correctly. When I run "/usr/lib/banshee/Banshee.exe --debug", I receive the log available at http://www.heypasteit.com/clip/3A52, where we can see this error :

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeLoadException: Could not load type 'Banshee.GStreamer.PlayerEngine' from assembly 'Banshee.GStreamer, Version=2.6.0.0, Culture=neutral, PublicKeyToken=null'.

Do you have any idea on how to solve? Did I install it correctly?

I would love to be able to run Banshee from a compiled source code, because it means that I'll be able to dive into its development, something I wish for several years, but I never succeeded in completing this cycle.

Thanks,

Christian


Le 2017-01-05 à 13:42, Nicholas Little via banshee-list a écrit :
Hi Christian,

Sorry to hear about the errors you encountered when compiling, I don't
think you're missing a dependency but it sounds like you'll need to
install a later version of gtk-sharp than is provided by your
distribution to correct that error, for reference I install from git
[1] and this is the metadata from the resulting package config file
(installed at /usr/lib64/pkgconfig) for comparison with what you have:

Name: Gtk#
Description: Gtk# - GNOME .NET Binding
Version: 2.99.4
Cflags: -I:${gapidir}/pango-api.xml -I:${gapidir}/atk-api.xml
-I:${gapidir}/gtk-api.xml
Libs: -r:${libdir}/mono/gtk-sharp-3.0/cairo-sharp.dll
-r:${libdir}/mono/gtk-sharp-3.0/pango-sharp.dll
-r:${libdir}/mono/gtk-sharp-3.0/atk-sharp.dll
-r:${libdir}/mono/gtk-sharp-3.0/gtk-sharp.dll
Requires: glib-sharp-3.0 gio-sharp-3.0 gdk-sharp-3.0

I'm an autotools novice so it'll be good practise to add a macro to
check the version (feel free to beat me to it, I have nothing against
pull requests) though I'm not 100% certain on whether 2.99.4 is needed
or if you could get away with just 2.99.1.

Hope that helps.
Nicholas.

[1] https://github.com/mono/gtk-sharp

On 5 January 2017 at 16:37, Christian Perreault
[hidden email] wrote:
Hi Nicholas,

I tried to build your "feature/lite" branch on Ubuntu 16.10 and I encounter
these errors :
[1 Debug 14:21:42.921] Bus.Session.RequestName ('org.bansheeproject.Banshee') replied with PrimaryOwner

Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly '/usr/lib/banshee/Nereid.exe' or one of its dependencies
File name: '/usr/lib/banshee/Nereid.exe'
  at (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (string,bool)
  at System.Reflection.Assembly.LoadFrom (System.String assemblyFile, System.Security.Policy.Evidence securityEvidence) <0x7f0ba45a1880 + 0x00016> in <filename unknown>:0 
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) <0x7f0ba452df70 + 0x00023> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string,System.Security.Policy.Evidence,string[])
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile) <0x7f0ba452df10 + 0x0001c> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string)
  at Booter.Booter.BootClient (System.String clientName) <0x41a7a570 + 0x00092> in <filename unknown>:0 
  at Booter.Booter.Main () <0x41a30d50 + 0x001bf> in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly '/usr/lib/banshee/Nereid.exe' or one of its dependencies
File name: '/usr/lib/banshee/Nereid.exe'
  at (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (string,bool)
  at System.Reflection.Assembly.LoadFrom (System.String assemblyFile, System.Security.Policy.Evidence securityEvidence) <0x7f0ba45a1880 + 0x00016> in <filename unknown>:0 
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) <0x7f0ba452df70 + 0x00023> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string,System.Security.Policy.Evidence,string[])
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile) <0x7f0ba452df10 + 0x0001c> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string)
  at Booter.Booter.BootClient (System.String clientName) <0x41a7a570 + 0x00092> in <filename unknown>:0 
  at Booter.Booter.Main () <0x41a30d50 + 0x001bf> in <filename unknown>:0 
[...]
Making all in Gtk.Extra
  MCS   ../../../bin/Gtk.Extra.dll
./Gtk/Popover.cs(30,48): error CS0234: The type or namespace name
`MenuModel' does not exist in the namespace `GLib'. Are you missing an
assembly reference?
./Gtk/Popover.cs(149,30): error CS0234: The type or namespace name
`MenuModel' does not exist in the namespace `GLib'. Are you missing an
assembly reference?
Compilation failed: 2 error(s), 0 warnings

The autogen.sh does not complain about any missing dependency (see it at
http://www.heypasteit.com/clip/3A4E)

For the full "make" log, please see it at
http://www.heypasteit.com/clip/3A4F.

Am I missing a dependency, is it a code problem or something else?

Thanks a lot in advance for any help,

Christian


Le 2016-12-30 à 06:22, Nicholas Little via banshee-list a écrit :

Hi folks,

I've been working on my copy of Banshee over the holiday season and
thought some of you might be interested in some changes I've
implemented there:

- revised auto-tools setup:
  > vanilla autoreconf now works;
  > --enable-x switches added for all extensions;
  > some components like the Clients and DAP are also covered;
  > some tweaks to mono discovery to look in extra places.
- improved DAP user experience for MTP:
  > no-longer try to auto-connect, instead;
  > display the potential source interface and connect without UI swapping;
  > it's no faster, but it feels better.
- mostly new user interface, I thought Banshee was looking a little old:
  > with luck this will be lighter, for example it doesn't have filters;
  > slightly different layout, focus on saving real estate;
  > couple of new widgets;
  > uses gtk3 HeaderBar so far, Popovers are planned.

If you check the source you'll notice a somewhat experimental feature
--enable-treeview, which switches Banshee's track list to use an Hyena
widget that inherits from the Gtk.TreeView widget and exposes the
protected interface for ListView, it mostly works as a drop in
replacement though drag and drop is a bit tricky and the album browser
isn't supported by it. On the other hand you get kinetic scrolling and
it feels pretty snappy.

A few bug fixes went into this too, if you want to take a look, the
work is on branch feature/lite:

https://github.com/arfbtwn/banshee.git

Anyway, if you've read this far and have some changes of your own that
you want to share then I'd be interested to see them.

Hope you all had a great holiday, cheers!



_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)




_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
Reply | Threaded
Open this post in threaded view
|

Re: Bugs, Features & Forks

Banshee Media Player mailing list
Hi,

Glad you got the core components building!

Now you're coming up against some of my changes - I had planned to put the new UI in a different client assembly so when I did the autotools changes I added m4s for each client except Booter, pass --enable-nereid. I just haven't got round to splitting it at which point Gtk.Extra will be optional.

You'll also need one of --enable-gst-{native,sharp} as I split the checks into two files with disabled as default for both.

In both the client and gstreamer cases I want to see if there's a better place to put the default choices and ensure that e.g at least one option is chosen.

For now, long configure invocations, sorry about that!

Cheers

On 5 Jan 2017 7:32 pm, "Christian Perreault" <[hidden email]> wrote:

One more thing (sorry for overloading your inboxes)

Now that I uninstalled the native Ubuntu Banshee package and cleaned the folders, I went through "autogen.sh", "make" and "sudo make install", and now the error is different, being about missing "Nereid.exe" :

[1 Debug 14:21:42.921] Bus.Session.RequestName ('org.bansheeproject.Banshee') replied with PrimaryOwner

Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly '/usr/lib/banshee/Nereid.exe' or one of its dependencies
File name: '/usr/lib/banshee/Nereid.exe'
  at (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (string,bool)
  at System.Reflection.Assembly.LoadFrom (System.String assemblyFile, System.Security.Policy.Evidence securityEvidence) <0x7f0ba45a1880 + 0x00016> in <filename unknown>:0
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) <0x7f0ba452df70 + 0x00023> in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string,System.Security.Policy.Evidence,string[])
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile) <0x7f0ba452df10 + 0x0001c> in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string)
  at Booter.Booter.BootClient (System.String clientName) <0x41a7a570 + 0x00092> in <filename unknown>:0
  at Booter.Booter.Main () <0x41a30d50 + 0x001bf> in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly '/usr/lib/banshee/Nereid.exe' or one of its dependencies
File name: '/usr/lib/banshee/Nereid.exe'
  at (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (string,bool)
  at System.Reflection.Assembly.LoadFrom (System.String assemblyFile, System.Security.Policy.Evidence securityEvidence) <0x7f0ba45a1880 + 0x00016> in <filename unknown>:0
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) <0x7f0ba452df70 + 0x00023> in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string,System.Security.Policy.Evidence,string[])
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile) <0x7f0ba452df10 + 0x0001c> in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string)
  at Booter.Booter.BootClient (System.String clientName) <0x41a7a570 + 0x00092> in <filename unknown>:0
  at Booter.Booter.Main () <0x41a30d50 + 0x001bf> in <filename unknown>:0

A quick search points me toward my Mono version could be the culprit. I installed "mono-complete", and on Ubuntu 16.10, this currently install Mono 4.2.1. Which Mono version do you use?

Again, any help is very appreciated.

Thank,

Christian


Le 2017-01-05 à 14:16, Christian Perreault a écrit :

Hi again!

Thanks! I installed gtk-sharp from the GitHub master branch, which produces version 2.99.4, and the "make" process worked!

Before that, I reran "autogen.sh". Then, I did "sudo make install", which installed Banshee under /usr/lib/banshee/.

However, Banshee does not start correctly. When I run "/usr/lib/banshee/Banshee.exe --debug", I receive the log available at http://www.heypasteit.com/clip/3A52, where we can see this error :

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeLoadException: Could not load type 'Banshee.GStreamer.PlayerEngine' from assembly 'Banshee.GStreamer, Version=2.6.0.0, Culture=neutral, PublicKeyToken=null'.

Do you have any idea on how to solve? Did I install it correctly?

I would love to be able to run Banshee from a compiled source code, because it means that I'll be able to dive into its development, something I wish for several years, but I never succeeded in completing this cycle.

Thanks,

Christian


Le 2017-01-05 à 13:42, Nicholas Little via banshee-list a écrit :
Hi Christian,

Sorry to hear about the errors you encountered when compiling, I don't
think you're missing a dependency but it sounds like you'll need to
install a later version of gtk-sharp than is provided by your
distribution to correct that error, for reference I install from git
[1] and this is the metadata from the resulting package config file
(installed at /usr/lib64/pkgconfig) for comparison with what you have:

Name: Gtk#
Description: Gtk# - GNOME .NET Binding
Version: 2.99.4
Cflags: -I:${gapidir}/pango-api.xml -I:${gapidir}/atk-api.xml
-I:${gapidir}/gtk-api.xml
Libs: -r:${libdir}/mono/gtk-sharp-3.0/cairo-sharp.dll
-r:${libdir}/mono/gtk-sharp-3.0/pango-sharp.dll
-r:${libdir}/mono/gtk-sharp-3.0/atk-sharp.dll
-r:${libdir}/mono/gtk-sharp-3.0/gtk-sharp.dll
Requires: glib-sharp-3.0 gio-sharp-3.0 gdk-sharp-3.0

I'm an autotools novice so it'll be good practise to add a macro to
check the version (feel free to beat me to it, I have nothing against
pull requests) though I'm not 100% certain on whether 2.99.4 is needed
or if you could get away with just 2.99.1.

Hope that helps.
Nicholas.

[1] https://github.com/mono/gtk-sharp

On 5 January 2017 at 16:37, Christian Perreault
[hidden email] wrote:
Hi Nicholas,

I tried to build your "feature/lite" branch on Ubuntu 16.10 and I encounter
these errors :
[1 Debug 14:21:42.921] Bus.Session.RequestName ('org.bansheeproject.Banshee') replied with PrimaryOwner

Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly '/usr/lib/banshee/Nereid.exe' or one of its dependencies
File name: '/usr/lib/banshee/Nereid.exe'
  at (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (string,bool)
  at System.Reflection.Assembly.LoadFrom (System.String assemblyFile, System.Security.Policy.Evidence securityEvidence) <0x7f0ba45a1880 + 0x00016> in <filename unknown>:0 
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) <0x7f0ba452df70 + 0x00023> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string,System.Security.Policy.Evidence,string[])
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile) <0x7f0ba452df10 + 0x0001c> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string)
  at Booter.Booter.BootClient (System.String clientName) <0x41a7a570 + 0x00092> in <filename unknown>:0 
  at Booter.Booter.Main () <0x41a30d50 + 0x001bf> in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly '/usr/lib/banshee/Nereid.exe' or one of its dependencies
File name: '/usr/lib/banshee/Nereid.exe'
  at (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (string,bool)
  at System.Reflection.Assembly.LoadFrom (System.String assemblyFile, System.Security.Policy.Evidence securityEvidence) <0x7f0ba45a1880 + 0x00016> in <filename unknown>:0 
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) <0x7f0ba452df70 + 0x00023> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string,System.Security.Policy.Evidence,string[])
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile) <0x7f0ba452df10 + 0x0001c> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string)
  at Booter.Booter.BootClient (System.String clientName) <0x41a7a570 + 0x00092> in <filename unknown>:0 
  at Booter.Booter.Main () <0x41a30d50 + 0x001bf> in <filename unknown>:0 
[...]
Making all in Gtk.Extra
  MCS   ../../../bin/Gtk.Extra.dll
./Gtk/Popover.cs(30,48): error CS0234: The type or namespace name
`MenuModel' does not exist in the namespace `GLib'. Are you missing an
assembly reference?
./Gtk/Popover.cs(149,30): error CS0234: The type or namespace name
`MenuModel' does not exist in the namespace `GLib'. Are you missing an
assembly reference?
Compilation failed: 2 error(s), 0 warnings

The autogen.sh does not complain about any missing dependency (see it at
http://www.heypasteit.com/clip/3A4E)

For the full "make" log, please see it at
http://www.heypasteit.com/clip/3A4F.

Am I missing a dependency, is it a code problem or something else?

Thanks a lot in advance for any help,

Christian


Le 2016-12-30 à 06:22, Nicholas Little via banshee-list a écrit :

Hi folks,

I've been working on my copy of Banshee over the holiday season and
thought some of you might be interested in some changes I've
implemented there:

- revised auto-tools setup:
  > vanilla autoreconf now works;
  > --enable-x switches added for all extensions;
  > some components like the Clients and DAP are also covered;
  > some tweaks to mono discovery to look in extra places.
- improved DAP user experience for MTP:
  > no-longer try to auto-connect, instead;
  > display the potential source interface and connect without UI swapping;
  > it's no faster, but it feels better.
- mostly new user interface, I thought Banshee was looking a little old:
  > with luck this will be lighter, for example it doesn't have filters;
  > slightly different layout, focus on saving real estate;
  > couple of new widgets;
  > uses gtk3 HeaderBar so far, Popovers are planned.

If you check the source you'll notice a somewhat experimental feature
--enable-treeview, which switches Banshee's track list to use an Hyena
widget that inherits from the Gtk.TreeView widget and exposes the
protected interface for ListView, it mostly works as a drop in
replacement though drag and drop is a bit tricky and the album browser
isn't supported by it. On the other hand you get kinetic scrolling and
it feels pretty snappy.

A few bug fixes went into this too, if you want to take a look, the
work is on branch feature/lite:

https://github.com/arfbtwn/banshee.git

Anyway, if you've read this far and have some changes of your own that
you want to share then I'd be interested to see them.

Hope you all had a great holiday, cheers!



_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)




_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)

_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
Reply | Threaded
Open this post in threaded view
|

Re: Bugs, Features & Forks

chrisperro

Hi! Thanks, now getting closer!

I did "./autogen.sh --enable-nereid --enable-gst-sharp" but the last part throwed me some errors(1), so I changed it for --enable-gst-native, thus "./autogen.sh --enable-nereid --enable-gst-native", and I could make it.

Now, when running Banshee, I receive this error: System.DllNotFoundException: libbanshee (see whole log at http://www.heypasteit.com/clip/3A83).

Do you know what causes it?

I'm mainly a Web developer, so when it comes to this universe, I actually feel like a novice.

Thanks,

Christian

(1) Making all in Banshee.GStreamerSharp
  MCS   ../../../bin/Banshee.GStreamerSharp.dll
./Banshee.GStreamerSharp/VideoManager.cs(126,58): error CS0266: Cannot implicitly convert type `ulong' to `System.IntPtr'. An explicit conversion exists (are you missing a cast?)
./Banshee.GStreamerSharp/VideoManager.cs(154,54): error CS0266: Cannot implicitly convert type `ulong' to `System.IntPtr'. An explicit conversion exists (are you missing a cast?)


Le 2017-01-06 à 13:45, Nicholas Little via banshee-list a écrit :
Hi,

Glad you got the core components building!

Now you're coming up against some of my changes - I had planned to put the new UI in a different client assembly so when I did the autotools changes I added m4s for each client except Booter, pass --enable-nereid. I just haven't got round to splitting it at which point Gtk.Extra will be optional.

You'll also need one of --enable-gst-{native,sharp} as I split the checks into two files with disabled as default for both.

In both the client and gstreamer cases I want to see if there's a better place to put the default choices and ensure that e.g at least one option is chosen.

For now, long configure invocations, sorry about that!

Cheers

On 5 Jan 2017 7:32 pm, "Christian Perreault" <[hidden email]> wrote:

One more thing (sorry for overloading your inboxes)

Now that I uninstalled the native Ubuntu Banshee package and cleaned the folders, I went through "autogen.sh", "make" and "sudo make install", and now the error is different, being about missing "Nereid.exe" :

[1 Debug 14:21:42.921] Bus.Session.RequestName ('org.bansheeproject.Banshee') replied with PrimaryOwner

Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly '/usr/lib/banshee/Nereid.exe' or one of its dependencies
File name: '/usr/lib/banshee/Nereid.exe'
  at (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (string,bool)
  at System.Reflection.Assembly.LoadFrom (System.String assemblyFile, System.Security.Policy.Evidence securityEvidence) <0x7f0ba45a1880 + 0x00016> in <filename unknown>:0
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) <0x7f0ba452df70 + 0x00023> in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string,System.Security.Policy.Evidence,string[])
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile) <0x7f0ba452df10 + 0x0001c> in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string)
  at Booter.Booter.BootClient (System.String clientName) <0x41a7a570 + 0x00092> in <filename unknown>:0
  at Booter.Booter.Main () <0x41a30d50 + 0x001bf> in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly '/usr/lib/banshee/Nereid.exe' or one of its dependencies
File name: '/usr/lib/banshee/Nereid.exe'
  at (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (string,bool)
  at System.Reflection.Assembly.LoadFrom (System.String assemblyFile, System.Security.Policy.Evidence securityEvidence) <0x7f0ba45a1880 + 0x00016> in <filename unknown>:0
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) <0x7f0ba452df70 + 0x00023> in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string,System.Security.Policy.Evidence,string[])
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile) <0x7f0ba452df10 + 0x0001c> in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string)
  at Booter.Booter.BootClient (System.String clientName) <0x41a7a570 + 0x00092> in <filename unknown>:0
  at Booter.Booter.Main () <0x41a30d50 + 0x001bf> in <filename unknown>:0

A quick search points me toward my Mono version could be the culprit. I installed "mono-complete", and on Ubuntu 16.10, this currently install Mono 4.2.1. Which Mono version do you use?

Again, any help is very appreciated.

Thank,

Christian


Le 2017-01-05 à 14:16, Christian Perreault a écrit :

Hi again!

Thanks! I installed gtk-sharp from the GitHub master branch, which produces version 2.99.4, and the "make" process worked!

Before that, I reran "autogen.sh". Then, I did "sudo make install", which installed Banshee under /usr/lib/banshee/.

However, Banshee does not start correctly. When I run "/usr/lib/banshee/Banshee.exe --debug", I receive the log available at http://www.heypasteit.com/clip/3A52, where we can see this error :

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeLoadException: Could not load type 'Banshee.GStreamer.PlayerEngine' from assembly 'Banshee.GStreamer, Version=2.6.0.0, Culture=neutral, PublicKeyToken=null'.

Do you have any idea on how to solve? Did I install it correctly?

I would love to be able to run Banshee from a compiled source code, because it means that I'll be able to dive into its development, something I wish for several years, but I never succeeded in completing this cycle.

Thanks,

Christian


Le 2017-01-05 à 13:42, Nicholas Little via banshee-list a écrit :
Hi Christian,

Sorry to hear about the errors you encountered when compiling, I don't
think you're missing a dependency but it sounds like you'll need to
install a later version of gtk-sharp than is provided by your
distribution to correct that error, for reference I install from git
[1] and this is the metadata from the resulting package config file
(installed at /usr/lib64/pkgconfig) for comparison with what you have:

Name: Gtk#
Description: Gtk# - GNOME .NET Binding
Version: 2.99.4
Cflags: -I:${gapidir}/pango-api.xml -I:${gapidir}/atk-api.xml
-I:${gapidir}/gtk-api.xml
Libs: -r:${libdir}/mono/gtk-sharp-3.0/cairo-sharp.dll
-r:${libdir}/mono/gtk-sharp-3.0/pango-sharp.dll
-r:${libdir}/mono/gtk-sharp-3.0/atk-sharp.dll
-r:${libdir}/mono/gtk-sharp-3.0/gtk-sharp.dll
Requires: glib-sharp-3.0 gio-sharp-3.0 gdk-sharp-3.0

I'm an autotools novice so it'll be good practise to add a macro to
check the version (feel free to beat me to it, I have nothing against
pull requests) though I'm not 100% certain on whether 2.99.4 is needed
or if you could get away with just 2.99.1.

Hope that helps.
Nicholas.

[1] https://github.com/mono/gtk-sharp

On 5 January 2017 at 16:37, Christian Perreault
[hidden email] wrote:
Hi Nicholas,

I tried to build your "feature/lite" branch on Ubuntu 16.10 and I encounter
these errors :
[1 Debug 14:21:42.921] Bus.Session.RequestName ('org.bansheeproject.Banshee') replied with PrimaryOwner

Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly '/usr/lib/banshee/Nereid.exe' or one of its dependencies
File name: '/usr/lib/banshee/Nereid.exe'
  at (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (string,bool)
  at System.Reflection.Assembly.LoadFrom (System.String assemblyFile, System.Security.Policy.Evidence securityEvidence) <0x7f0ba45a1880 + 0x00016> in <filename unknown>:0 
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) <0x7f0ba452df70 + 0x00023> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string,System.Security.Policy.Evidence,string[])
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile) <0x7f0ba452df10 + 0x0001c> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string)
  at Booter.Booter.BootClient (System.String clientName) <0x41a7a570 + 0x00092> in <filename unknown>:0 
  at Booter.Booter.Main () <0x41a30d50 + 0x001bf> in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly '/usr/lib/banshee/Nereid.exe' or one of its dependencies
File name: '/usr/lib/banshee/Nereid.exe'
  at (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (string,bool)
  at System.Reflection.Assembly.LoadFrom (System.String assemblyFile, System.Security.Policy.Evidence securityEvidence) <0x7f0ba45a1880 + 0x00016> in <filename unknown>:0 
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile, System.Security.Policy.Evidence assemblySecurity, System.String[] args) <0x7f0ba452df70 + 0x00023> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string,System.Security.Policy.Evidence,string[])
  at System.AppDomain.ExecuteAssembly (System.String assemblyFile) <0x7f0ba452df10 + 0x0001c> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.AppDomain:ExecuteAssembly (string)
  at Booter.Booter.BootClient (System.String clientName) <0x41a7a570 + 0x00092> in <filename unknown>:0 
  at Booter.Booter.Main () <0x41a30d50 + 0x001bf> in <filename unknown>:0 
[...]
Making all in Gtk.Extra
  MCS   ../../../bin/Gtk.Extra.dll
./Gtk/Popover.cs(30,48): error CS0234: The type or namespace name
`MenuModel' does not exist in the namespace `GLib'. Are you missing an
assembly reference?
./Gtk/Popover.cs(149,30): error CS0234: The type or namespace name
`MenuModel' does not exist in the namespace `GLib'. Are you missing an
assembly reference?
Compilation failed: 2 error(s), 0 warnings

The autogen.sh does not complain about any missing dependency (see it at
http://www.heypasteit.com/clip/3A4E)

For the full "make" log, please see it at
http://www.heypasteit.com/clip/3A4F.

Am I missing a dependency, is it a code problem or something else?

Thanks a lot in advance for any help,

Christian


Le 2016-12-30 à 06:22, Nicholas Little via banshee-list a écrit :

Hi folks,

I've been working on my copy of Banshee over the holiday season and
thought some of you might be interested in some changes I've
implemented there:

- revised auto-tools setup:
  > vanilla autoreconf now works;
  > --enable-x switches added for all extensions;
  > some components like the Clients and DAP are also covered;
  > some tweaks to mono discovery to look in extra places.
- improved DAP user experience for MTP:
  > no-longer try to auto-connect, instead;
  > display the potential source interface and connect without UI swapping;
  > it's no faster, but it feels better.
- mostly new user interface, I thought Banshee was looking a little old:
  > with luck this will be lighter, for example it doesn't have filters;
  > slightly different layout, focus on saving real estate;
  > couple of new widgets;
  > uses gtk3 HeaderBar so far, Popovers are planned.

If you check the source you'll notice a somewhat experimental feature
--enable-treeview, which switches Banshee's track list to use an Hyena
widget that inherits from the Gtk.TreeView widget and exposes the
protected interface for ListView, it mostly works as a drop in
replacement though drag and drop is a bit tricky and the album browser
isn't supported by it. On the other hand you get kinetic scrolling and
it feels pretty snappy.

A few bug fixes went into this too, if you want to take a look, the
work is on branch feature/lite:

https://github.com/arfbtwn/banshee.git

Anyway, if you've read this far and have some changes of your own that
you want to share then I'd be interested to see them.

Hope you all had a great holiday, cheers!



_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
_______________________________________________ banshee-list mailing list [hidden email] https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)

_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
Reply | Threaded
Open this post in threaded view
|

Re: Bugs, Features & Forks

chrisperro

Hi! Oh, my mistake! I was not running Banshee from the right path... (should be /usr/bin/banshee instead of /usr/lib/banshee/Banshee.exe).

Anyways, with "make run", it works!

At first glance, I miss the album cover explorer, but I know you wanted to design a light interface (at least for now). Having something that builds and runs on (a recent) Ubuntu is a great starting point!

Thanks a lot again, I'll dig more into your code work soon, comparing it to banshee/master and so on...

Regards,

Christian


Le 2017-01-06 à 17:25, Nicholas Little a écrit :
Hmm, you know you can use 'make run' after you've built without having to install?

libbanshee is the interface to gstreamer, it should be in the bin directory after building Banshee.GStreamer



_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
Reply | Threaded
Open this post in threaded view
|

Re: Bugs, Features & Forks

pointedstick

Aww, I hope the album art explorer isn't gone. That was one of my favorite features, and the thing I miss most in Rhythmbox.

Nate


On 01/07/2017 07:56 AM, Christian Perreault wrote:

Hi! Oh, my mistake! I was not running Banshee from the right path... (should be /usr/bin/banshee instead of /usr/lib/banshee/Banshee.exe).

Anyways, with "make run", it works!

At first glance, I miss the album cover explorer, but I know you wanted to design a light interface (at least for now). Having something that builds and runs on (a recent) Ubuntu is a great starting point!

Thanks a lot again, I'll dig more into your code work soon, comparing it to banshee/master and so on...

Regards,

Christian


Le 2017-01-06 à 17:25, Nicholas Little a écrit :
Hmm, you know you can use 'make run' after you've built without having to install?

libbanshee is the interface to gstreamer, it should be in the bin directory after building Banshee.GStreamer




_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)


_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
Reply | Threaded
Open this post in threaded view
|

Re: Bugs, Features & Forks

Banshee Media Player mailing list
Hi Nate,

The album explorer was a filter so it's not included in the new user
interface, if you don't --enable-treeview and run with --classic then
you'll get access to it, course then you'll essentially just be
running banshee master with a couple of MTP tweaks and minor bugfixes,
but that's cool - I want to maintain the classic user interface too.

I haven't included filters because you can get the same functionality
by using search and they take up too much screen estate as they're
currently implemented - eventually I'd like to reintroduce them but
perhaps have them integrated with search.

Another idea I've been toying with is displaying album art in the main
track list - I like eye-candy as much as the next guy.

Cheers

On 7 January 2017 at 15:06, Nate Graham <[hidden email]> wrote:

> Aww, I hope the album art explorer isn't gone. That was one of my favorite
> features, and the thing I miss most in Rhythmbox.
>
> Nate
>
>
> On 01/07/2017 07:56 AM, Christian Perreault wrote:
>
> Hi! Oh, my mistake! I was not running Banshee from the right path... (should
> be /usr/bin/banshee instead of /usr/lib/banshee/Banshee.exe).
>
> Anyways, with "make run", it works!
>
> At first glance, I miss the album cover explorer, but I know you wanted to
> design a light interface (at least for now). Having something that builds
> and runs on (a recent) Ubuntu is a great starting point!
>
> Thanks a lot again, I'll dig more into your code work soon, comparing it to
> banshee/master and so on...
>
> Regards,
>
> Christian
>
>
> Le 2017-01-06 à 17:25, Nicholas Little a écrit :
>
> Hmm, you know you can use 'make run' after you've built without having to
> install?
>
> libbanshee is the interface to gstreamer, it should be in the bin directory
> after building Banshee.GStreamer
>
>
>
>
> _______________________________________________
> banshee-list mailing list
> [hidden email]
> https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
>
>
>
> _______________________________________________
> banshee-list mailing list
> [hidden email]
> https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)



--
Registered Linux User #392373
_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
Reply | Threaded
Open this post in threaded view
|

Re: Bugs, Features & Forks

pointedstick


On 01/08/2017 03:08 AM, Nicholas Little via banshee-list wrote:

> Hi Nate,
>
> The album explorer was a filter so it's not included in the new user
> interface, if you don't --enable-treeview and run with --classic then
> you'll get access to it, course then you'll essentially just be
> running banshee master with a couple of MTP tweaks and minor bugfixes,
> but that's cool - I want to maintain the classic user interface too.
>
> I haven't included filters because you can get the same functionality
> by using search and they take up too much screen estate as they're
> currently implemented - eventually I'd like to reintroduce them but
> perhaps have them integrated with search.
>
> Another idea I've been toying with is displaying album art in the main
> track list - I like eye-candy as much as the next guy.

That would be nice!
Nate

>
> Cheers
>
> On 7 January 2017 at 15:06, Nate Graham <[hidden email]> wrote:
>> Aww, I hope the album art explorer isn't gone. That was one of my favorite
>> features, and the thing I miss most in Rhythmbox.
>>
>> Nate
>>
>>
>> On 01/07/2017 07:56 AM, Christian Perreault wrote:
>>
>> Hi! Oh, my mistake! I was not running Banshee from the right path... (should
>> be /usr/bin/banshee instead of /usr/lib/banshee/Banshee.exe).
>>
>> Anyways, with "make run", it works!
>>
>> At first glance, I miss the album cover explorer, but I know you wanted to
>> design a light interface (at least for now). Having something that builds
>> and runs on (a recent) Ubuntu is a great starting point!
>>
>> Thanks a lot again, I'll dig more into your code work soon, comparing it to
>> banshee/master and so on...
>>
>> Regards,
>>
>> Christian
>>
>>
>> Le 2017-01-06 à 17:25, Nicholas Little a écrit :
>>
>> Hmm, you know you can use 'make run' after you've built without having to
>> install?
>>
>> libbanshee is the interface to gstreamer, it should be in the bin directory
>> after building Banshee.GStreamer
>>
>>
>>
>>
>> _______________________________________________
>> banshee-list mailing list
>> [hidden email]
>> https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
>>
>>
>>
>> _______________________________________________
>> banshee-list mailing list
>> [hidden email]
>> https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
>
>


_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
Reply | Threaded
Open this post in threaded view
|

Re: Bugs, Features & Forks

IBBoard


On 08/01/17 17:28, Nate Graham wrote:

>
>
> On 01/08/2017 03:08 AM, Nicholas Little via banshee-list wrote:
>> Hi Nate,
>>
>> The album explorer was a filter so it's not included in the new user
>> interface, if you don't --enable-treeview and run with --classic then
>> you'll get access to it, course then you'll essentially just be
>> running banshee master with a couple of MTP tweaks and minor bugfixes,
>> but that's cool - I want to maintain the classic user interface too.
>>
>> I haven't included filters because you can get the same functionality
>> by using search and they take up too much screen estate as they're
>> currently implemented - eventually I'd like to reintroduce them but
>> perhaps have them integrated with search.
>>
>> Another idea I've been toying with is displaying album art in the main
>> track list - I like eye-candy as much as the next guy.
>
> That would be nice!
> Nate

I'm intrigued. I think it needs a mock-up of what that could look like 😊
_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
Reply | Threaded
Open this post in threaded view
|

Re: Bugs, Features & Forks

chrisperro
In reply to this post by Banshee Media Player mailing list

Hi Nicholas,

I have questions concerning this:

if you don't --enable-treeview and run with --classic then
you'll get access to it, course then you'll essentially just be
running banshee master

Just to be sure, does that mean that to get a "classic"/regular Banshee from your feature/lite branch,
  1. One first has to run autogen.sh without passing --enable-treeview?
  2. Run with "--classic", does that mean to execute "banshee --classic"?
  3. If so, is it possible to pass the --classic argument without installing the compiled Banshee, but through "make run" (A quick search indicates to me that such a thing is not that simple) ?
Thanks again


Le 2017-01-08 à 05:08, Nicholas Little via banshee-list a écrit :
Hi Nate,

The album explorer was a filter so it's not included in the new user
interface, if you don't --enable-treeview and run with --classic then
you'll get access to it, course then you'll essentially just be
running banshee master with a couple of MTP tweaks and minor bugfixes,
but that's cool - I want to maintain the classic user interface too.

I haven't included filters because you can get the same functionality
by using search and they take up too much screen estate as they're
currently implemented - eventually I'd like to reintroduce them but
perhaps have them integrated with search.

Another idea I've been toying with is displaying album art in the main
track list - I like eye-candy as much as the next guy.

Cheers

On 7 January 2017 at 15:06, Nate Graham [hidden email] wrote:
Aww, I hope the album art explorer isn't gone. That was one of my favorite
features, and the thing I miss most in Rhythmbox.

Nate


On 01/07/2017 07:56 AM, Christian Perreault wrote:

Hi! Oh, my mistake! I was not running Banshee from the right path... (should
be /usr/bin/banshee instead of /usr/lib/banshee/Banshee.exe).

Anyways, with "make run", it works!

At first glance, I miss the album cover explorer, but I know you wanted to
design a light interface (at least for now). Having something that builds
and runs on (a recent) Ubuntu is a great starting point!

Thanks a lot again, I'll dig more into your code work soon, comparing it to
banshee/master and so on...

Regards,

Christian


Le 2017-01-06 à 17:25, Nicholas Little a écrit :

Hmm, you know you can use 'make run' after you've built without having to
install?

libbanshee is the interface to gstreamer, it should be in the bin directory
after building Banshee.GStreamer




_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)



_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)




_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
Reply | Threaded
Open this post in threaded view
|

Re: Bugs, Features & Forks

Banshee Media Player mailing list
Hi all,

Sorry I've been incognito this week - it's sad that after a day of
work I've often no juice left for working on the things I actually
use...

Replies inline:

On 8 January 2017 at 19:45, IBBoard <[hidden email]> wrote:

>
>
>On 08/01/17 17:28, Nate Graham wrote:
>>
>>
>>
>> On 01/08/2017 03:08 AM, Nicholas Little via banshee-list wrote:
>>>
>>> Hi Nate,
>>>
>>> The album explorer was a filter so it's not included in the new user
>>> interface, if you don't --enable-treeview and run with --classic then
>>> you'll get access to it, course then you'll essentially just be
>>> running banshee master with a couple of MTP tweaks and minor bugfixes,
>>> but that's cool - I want to maintain the classic user interface too.
>>>
>>> I haven't included filters because you can get the same functionality
>>> by using search and they take up too much screen estate as they're
>>> currently implemented - eventually I'd like to reintroduce them but
>>> perhaps have them integrated with search.
>>>
>>> Another idea I've been toying with is displaying album art in the main
>>> track list - I like eye-candy as much as the next guy.
>>
>>
>> That would be nice!
>> Nate
>
>
> I'm intrigued. I think it needs a mock-up of what that could look like

That would be great communication but I am terrible with those
programs... I'd probably just try a couple of things out in a new
branch and see how it goes.

So, my initial idea sprung from the simple example [1] where they use
genres as tree branches, we could use album for that, and assuming
it's possible to swap out the widget that the expander functions with
then we could feasibly put the art and we'd probably have to include
some description or statistics there - number of tracks, duration,
anything 'album' really - otherwise there'd be lots of unused space.

I don't know though, it might turn out terrible, the only other
possibility I see is a completely custom widget, but that's a bit too
much GUI programming for my taste, the idea in switching to
Gtk.TreeView as a base class was so that it would take care of a bit
more.

For example, the ListView in my fork of Hyena suffers from a green
outline when re-ordering tracks in the PlayQueue, I'm not sure if I
caused that (it's totally possible) or if it's a quirk of using
gtk-sharp from git, anyway, TreeView doesn't suffer from it,
re-ordering looks a bit different but, well, progress. ;)

[1] http://www.mono-project.com/docs/gui/gtksharp/widgets/treeview-tutorial/#creating-a-tree

On 10 January 2017 at 16:31, Christian Perreault
<[hidden email]> wrote:

> Hi Nicholas,
>
> I have questions concerning this:
>
> if you don't --enable-treeview and run with --classic then
> you'll get access to it, course then you'll essentially just be
> running banshee master
>
>
> Just to be sure, does that mean that to get a "classic"/regular Banshee from
> your feature/lite branch,
>
> One first has to run autogen.sh without passing --enable-treeview?
> Run with "--classic", does that mean to execute "banshee --classic"?
> If so, is it possible to pass the --classic argument without installing the
> compiled Banshee, but through "make run" (A quick search indicates to me
> that such a thing is not that simple) ?
>
> Thanks again
>

Couple of things first:

- stop using autogen.sh and instead use autoreconf, I intend to remove
autogen.sh eventually;
- unless it's a fresh git clone or you're making changes to the
autotools system (the stuff under build/) you don't need to autoreconf
for every change, just use ./configure.

Apart from those things, you got it. It was before Christmas when I
looked but I'm fairly certain the run target will pass any additional
content after run to the command line - take a look in the top level
directory's Makefile.am, it should have the details for the run
target.

Cheers!

<snip />

--
Registered Linux User #392373
_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
Reply | Threaded
Open this post in threaded view
|

Re: Bugs, Features & Forks

Banshee Media Player mailing list
Hi all,

It's a holiday, a short one but nevertheless...

I did a bit more work on the TreeView variant, mostly tidying up but I
was able to restore the regular rendering that was done by ListView so
things like the rating and track duration columns that switched to a
text display now appear as a row of stars or a fuzzy time span string
as they were intended, same for any other column that lost its fancy
display. Inline editing is still not supported though there's always
the context menu.

Those of you running with the regular ListView should gain a
performance boost from this update too since reflective property
access has been swapped with compiled delegate methods in most cases.

This leaves only a few annoyances in the new track view but the
experience is pretty close to what you get with the list component.
For want of a better place I'll organise those as GitHub issues, if
you're using my fork [1] and want to create some then please do.

@Christian, I checked the run target, it passes $BANSHEE_DEV_OPTIONS
from the environment so if you set that to '$*' then I think you'll be
able to pass --classic whenever you need to.

@IBBoard, tidying up this important loose end puts us in a good
position for more ambitious interface updates.

Happy Easter.

[1] http://github.com/arfbtwn/banshee.git

On 12 January 2017 at 17:42, Nicholas Little
<[hidden email]> wrote:

> Hi all,
>
> Sorry I've been incognito this week - it's sad that after a day of
> work I've often no juice left for working on the things I actually
> use...
>
> Replies inline:
>
> On 8 January 2017 at 19:45, IBBoard <[hidden email]> wrote:
>>
>>
>>On 08/01/17 17:28, Nate Graham wrote:
>>>
>>>
>>>
>>> On 01/08/2017 03:08 AM, Nicholas Little via banshee-list wrote:
>>>>
>>>> Hi Nate,
>>>>
>>>> The album explorer was a filter so it's not included in the new user
>>>> interface, if you don't --enable-treeview and run with --classic then
>>>> you'll get access to it, course then you'll essentially just be
>>>> running banshee master with a couple of MTP tweaks and minor bugfixes,
>>>> but that's cool - I want to maintain the classic user interface too.
>>>>
>>>> I haven't included filters because you can get the same functionality
>>>> by using search and they take up too much screen estate as they're
>>>> currently implemented - eventually I'd like to reintroduce them but
>>>> perhaps have them integrated with search.
>>>>
>>>> Another idea I've been toying with is displaying album art in the main
>>>> track list - I like eye-candy as much as the next guy.
>>>
>>>
>>> That would be nice!
>>> Nate
>>
>>
>> I'm intrigued. I think it needs a mock-up of what that could look like
>
> That would be great communication but I am terrible with those
> programs... I'd probably just try a couple of things out in a new
> branch and see how it goes.
>
> So, my initial idea sprung from the simple example [1] where they use
> genres as tree branches, we could use album for that, and assuming
> it's possible to swap out the widget that the expander functions with
> then we could feasibly put the art and we'd probably have to include
> some description or statistics there - number of tracks, duration,
> anything 'album' really - otherwise there'd be lots of unused space.
>
> I don't know though, it might turn out terrible, the only other
> possibility I see is a completely custom widget, but that's a bit too
> much GUI programming for my taste, the idea in switching to
> Gtk.TreeView as a base class was so that it would take care of a bit
> more.
>
> For example, the ListView in my fork of Hyena suffers from a green
> outline when re-ordering tracks in the PlayQueue, I'm not sure if I
> caused that (it's totally possible) or if it's a quirk of using
> gtk-sharp from git, anyway, TreeView doesn't suffer from it,
> re-ordering looks a bit different but, well, progress. ;)
>
> [1] http://www.mono-project.com/docs/gui/gtksharp/widgets/treeview-tutorial/#creating-a-tree
>
> On 10 January 2017 at 16:31, Christian Perreault
> <[hidden email]> wrote:
>> Hi Nicholas,
>>
>> I have questions concerning this:
>>
>> if you don't --enable-treeview and run with --classic then
>> you'll get access to it, course then you'll essentially just be
>> running banshee master
>>
>>
>> Just to be sure, does that mean that to get a "classic"/regular Banshee from
>> your feature/lite branch,
>>
>> One first has to run autogen.sh without passing --enable-treeview?
>> Run with "--classic", does that mean to execute "banshee --classic"?
>> If so, is it possible to pass the --classic argument without installing the
>> compiled Banshee, but through "make run" (A quick search indicates to me
>> that such a thing is not that simple) ?
>>
>> Thanks again
>>
>
> Couple of things first:
>
> - stop using autogen.sh and instead use autoreconf, I intend to remove
> autogen.sh eventually;
> - unless it's a fresh git clone or you're making changes to the
> autotools system (the stuff under build/) you don't need to autoreconf
> for every change, just use ./configure.
>
> Apart from those things, you got it. It was before Christmas when I
> looked but I'm fairly certain the run target will pass any additional
> content after run to the command line - take a look in the top level
> directory's Makefile.am, it should have the details for the run
> target.
>
> Cheers!
>
> <snip />
>
> --
> Registered Linux User #392373



--
Registered Linux User #392373
_______________________________________________
banshee-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)