8 years agoDap.Bluetooth: Extract Gnome specific component
Nicholas Little [Tue, 5 Aug 2014 19:52:06 +0000 (20:52 +0100)]
Dap.Bluetooth: Extract Gnome specific component

All AdapterManager really needs is a function to set and unset the
killswitch. We extract this to GnomeRfkill, although both types are
still placed in the same file, and pass an instance's Set member into
AdapterManager at construction time.

The value passed must have signature (bool -> bool), at the moment the
return is unchecked but in future will be used to present a Hyena
Warnf message.

8 years agoDap.Bluetooth: organise/rename
Nicholas Little [Tue, 5 Aug 2014 19:34:48 +0000 (20:34 +0100)]
Dap.Bluetooth: organise/rename

Bluetooth DAP is rather heavy on files, this patch corrects the file
name specified in an initial comment block (GnomeApi.fs) and takes the
opportunity to create a solution folder for the smaller building blocks.

8 years agoDap.Bluetooth: Update for Gnome 3.12
Nicholas Little [Tue, 5 Aug 2014 16:54:22 +0000 (17:54 +0100)]
Dap.Bluetooth: Update for Gnome 3.12

gnome-bluetooth-3.12 dropped support for the kill switch, which is now
provided by a dbus object in the org.gnome.SettingsDaemon namespace.

This patch adds support for that interface and removes the unrequired

8 years agoOnlineMetadataFixer: added gnome-keyring dependency checking
Marcin Kolny [Mon, 4 Aug 2014 19:22:24 +0000 (21:22 +0200)]
OnlineMetadataFixer: added gnome-keyring dependency checking

8 years agoOnlineMetadataFixer: renamed *Source class to *Solver if inherits
Marcin Kolny [Mon, 4 Aug 2014 19:08:45 +0000 (21:08 +0200)]
OnlineMetadataFixer: renamed *Source class to *Solver if inherits
from a Fixup.Solver class

8 years agoOnlineMetadataFixer: extended status info with "Settings" button
Marcin Kolny [Mon, 4 Aug 2014 10:20:21 +0000 (12:20 +0200)]
OnlineMetadataFixer: extended status info with "Settings" button

8 years agoDap.Bluetooth: break if condition then stmt
Nicholas Little [Mon, 4 Aug 2014 17:56:11 +0000 (18:56 +0100)]
Dap.Bluetooth: break if condition then stmt

8 years agoDap.Bluetooth: Don't force sync if AutoSync active
Nicholas Little [Mon, 4 Aug 2014 13:48:44 +0000 (14:48 +0100)]
Dap.Bluetooth: Don't force sync if AutoSync active

If AutoSync is active, the sync process will start during PostLoad. In
these cases, we can't remove the source. However, with
e.g. transfer, errors displayed as a child of the primary source,
perhaps we shouldn't remove it following a scheduled sync anyway.

8 years agoDap.Bluetooth: Use TimeSpan.FromSeconds for Sleep
Nicholas Little [Mon, 4 Aug 2014 13:36:41 +0000 (14:36 +0100)]
Dap.Bluetooth: Use TimeSpan.FromSeconds for Sleep

Using TimeSpan calculation when sleeping is more semantically clear
than using a literal number of milliseconds.

8 years agoDap.Bluetooth: Synchronous sync
Nicholas Little [Mon, 4 Aug 2014 13:30:25 +0000 (14:30 +0100)]
Dap.Bluetooth: Synchronous sync

In the context of a scheduled connection and synchronisation we need to
know when the sync completes in order to be able to remove the source at
the correct time.

Ideally, DapSync would provide us with a synchronous method. In this
patch, we use Reflection to get at the private method and call it,
falling back to the asynchronous call if we're not successful.

8 years agoDap.Bluetooth: fix build against banshee master
Nicholas Little [Mon, 4 Aug 2014 13:23:53 +0000 (14:23 +0100)]
Dap.Bluetooth: fix build against banshee master

This patch adds the force parameter to the DeviceInitialize call for

8 years agoSongKick.GeoLocation: improve notifyUser function
Dmitrii Petukhov [Sun, 3 Aug 2014 16:52:36 +0000 (20:52 +0400)]
SongKick.GeoLocation: improve notifyUser function

If number of gigs in the user city is a lot Banshee will try
to show many notifications.
What we're doing now is if number of gigs exceeds 3 gigs
then instead of showing all of them, we show one notification
with next text: "SongKick found many gigs near you,
check out all of them in Banshee!"
If we can't find any gigs we also notify user about it.

8 years agoOnlineMetadataFixer: handled unexcepted exceptions
Marcin Kolny [Sat, 2 Aug 2014 11:17:11 +0000 (13:17 +0200)]
OnlineMetadataFixer: handled unexcepted exceptions

8 years agoOnlineMetadataFixer: minors - typo, fixed slashes in project file
Marcin Kolny [Sat, 2 Aug 2014 09:56:19 +0000 (11:56 +0200)]
OnlineMetadataFixer: minors - typo, fixed slashes in project file

8 years agoOnlineMetadataFixer: use "not" in more readable way
Marcin Kolny [Sat, 2 Aug 2014 09:48:02 +0000 (11:48 +0200)]
OnlineMetadataFixer: use "not" in more readable way

8 years agoOnlineMetadataFixer: don't run metadata sender if AcoustID API key is empty
Marcin Kolny [Tue, 29 Jul 2014 17:59:45 +0000 (19:59 +0200)]
OnlineMetadataFixer: don't run metadata sender if AcoustID API key is empty

8 years agoOnlineMetadataFixer: made api key invisible in a preferences window
Marcin Kolny [Tue, 29 Jul 2014 17:54:41 +0000 (19:54 +0200)]
OnlineMetadataFixer: made api key invisible in a preferences window

8 years agoOnlineMetadataFixer: minor - more accurate name for API key helper class
Marcin Kolny [Tue, 29 Jul 2014 17:50:05 +0000 (19:50 +0200)]
OnlineMetadataFixer: minor - more accurate name for API key helper class

8 years agoOnlineMetadataFixer: added preferences section
Marcin Kolny [Tue, 29 Jul 2014 17:35:01 +0000 (19:35 +0200)]
OnlineMetadataFixer: added preferences section

8 years agoDap.Bluetooth: Separate schedule and auto sync
Nicholas Little [Sat, 2 Aug 2014 20:20:39 +0000 (21:20 +0100)]
Dap.Bluetooth: Separate schedule and auto sync

This patch allows the user to have auto sync disabled when doing a
scheduled sync.

8 years agoDap.Bluetooth: Crawler, extract Drop to function
Nicholas Little [Sat, 2 Aug 2014 17:24:02 +0000 (18:24 +0100)]
Dap.Bluetooth: Crawler, extract Drop to function

This patch extracts the member function, Drop, to a let binding over our

It is used under failure conditions to request that BlueZ
discards the session and allows reconnect in a single
connection scenario (the scenario I test in) where the original
connection is dead, but BlueZ hasn't become aware.

8 years agoDap.Bluetooth: Sleep between root requests
Nicholas Little [Sat, 2 Aug 2014 15:19:42 +0000 (16:19 +0100)]
Dap.Bluetooth: Sleep between root requests

The last few patches made it quite easy to trigger a stack overflow
due to the retry being too fast.

When attempting to restore the
connection under these conditions it makes sense to sleep between
recursive calls to allow time for the connection to come back with a
grace time of up to 30 seconds, as originally intended.

8 years agoDap.Bluetooth: Adds scheduled connection
Nicholas Little [Sat, 2 Aug 2014 13:06:41 +0000 (14:06 +0100)]
Dap.Bluetooth: Adds scheduled connection

As a first stab at automatic sync, this patch adds the capability to
connect a bluetooth device at a specified time of day, e.g. when you get
in from work or while your PC is on at night and your phone is on charge.

To enable auto sync, the usual Dap preferences checkbox is employed at
the moment as starting sync from elsewhere will require some threading
concerns, i.e. making sure that sync doesn't start while the source is
still loading tracks.

8 years agoSongKick: display city name in "Find music events by Location"
Dmitrii Petukhov [Fri, 1 Aug 2014 17:00:09 +0000 (21:00 +0400)]
SongKick: display city name in "Find music events by Location"

We should provide city name in SearchBar if
"Find music events by Location" is selected
and SongKick.GeoLocation is started.

8 years agoDap.Bluetooth: Redundancy and Match Improvements
Nicholas Little [Thu, 31 Jul 2014 01:00:52 +0000 (02:00 +0100)]
Dap.Bluetooth: Redundancy and Match Improvements

The first attempt at a redundant file crawler gave us connection retry,
this patch should go a little further by making sure the path is also
restored once the connection returns. To achieve this, Crawler's
navigation functions had to be, almost entirely, extracted.

In addition, the LoadCache is ported and included, along with the
necessary override to prevent DapSource purging our tracks.

A whole raft of matchers are included. Directories are matched
against "Artist/Album" or "Artist - Album". Then file names against:

- "01. Track"
- "01 - Track"
- "Artist - Album - 01 - Track"
- "Album - 01 - Track"

Last, a whole lot of Infof messages have been downgraded to Debugf.

8 years agoOnlineMetadataFixer: sending metadata on one of the fields was modified
Marcin Kolny [Mon, 28 Jul 2014 22:51:54 +0000 (00:51 +0200)]
OnlineMetadataFixer: sending metadata on one of the fields was modified

8 years agoOnlineMetadataFixer: fixed background job implementation
Marcin Kolny [Mon, 28 Jul 2014 20:31:06 +0000 (22:31 +0200)]
OnlineMetadataFixer: fixed background job implementation

8 years agoOnlineMetadataFixer: submitting metadata to an AcoustID service improvement:
Marcin Kolny [Mon, 28 Jul 2014 18:26:14 +0000 (20:26 +0200)]
OnlineMetadataFixer: submitting metadata to an AcoustID service improvement:

 * more logs added
 * submission status in debug info printed

8 years agoOnlineMetadataFixer: used AcoustIDSender in plugin's background job
Marcin Kolny [Sat, 26 Jul 2014 23:47:27 +0000 (01:47 +0200)]
OnlineMetadataFixer: used AcoustIDSender in plugin's background job

8 years agoOnlineMetadataFixer: implemented acoustid metadata submitter
Marcin Kolny [Sat, 26 Jul 2014 23:45:03 +0000 (01:45 +0200)]
OnlineMetadataFixer: implemented acoustid metadata submitter

8 years agoOnlineMetadataFixer: fixed warnings
Marcin Kolny [Sat, 26 Jul 2014 22:30:39 +0000 (00:30 +0200)]
OnlineMetadataFixer: fixed warnings

8 years agoOnlineMetadataFixer: added gnome-keyring based password manager
Marcin Kolny [Sat, 26 Jul 2014 22:30:27 +0000 (00:30 +0200)]
OnlineMetadataFixer: added gnome-keyring based password manager

8 years agoDap.Bluetooth: Now with Hyena.Log support
Nicholas Little [Thu, 24 Jul 2014 21:28:19 +0000 (22:28 +0100)]
Dap.Bluetooth: Now with Hyena.Log support

The F# way, with statically checked format strings :)

8 years agoFanArt: make log message more informative
Dmitrii Petukhov [Thu, 24 Jul 2014 14:52:15 +0000 (18:52 +0400)]
FanArt: make log message more informative

8 years agoRadiostationfetcher: Migrate to GTK3 and re-enable
Frank Ziegler [Thu, 24 Jul 2014 13:06:22 +0000 (23:06 +1000)]
Radiostationfetcher: Migrate to GTK3 and re-enable

8 years agoFanArt: fix GSlice memory error
Dmitrii Petukhov [Thu, 24 Jul 2014 04:14:32 +0000 (08:14 +0400)]
FanArt: fix GSlice memory error

In some situations Banshee crashed with next error:
"GSlice: MemChecker: attempt to release block with invalid size..."

8 years agoFanArt: add dynamic recovery cache when the last was deleted
Dmitrii Petukhov [Thu, 24 Jul 2014 04:07:27 +0000 (08:07 +0400)]
FanArt: add dynamic recovery cache when the last was deleted

After FanArt has retrieved some logos, if you quit banshee,
remove the cache folder, and run banshee again,
it doesn't retrieve the logos again.
So, now we check image path existence first,
and then try to redownload missed image.

8 years agoFanArt: fix infinite iterations when there is no Internet connection
Dmitrii Petukhov [Thu, 24 Jul 2014 04:01:58 +0000 (08:01 +0400)]
FanArt: fix infinite iterations when there is no Internet connection

If there's no internet connection, IterateCore keeps running
and printing logs messages in the console, unnecessarily.

8 years agoFanArt: refactoring in FanArtQueryJob.Lookup()
Dmitrii Petukhov [Thu, 24 Jul 2014 03:55:18 +0000 (07:55 +0400)]
FanArt: refactoring in FanArtQueryJob.Lookup()

This doesn't change behaviour.

8 years agoFanArt: make sql commands more readable
Dmitrii Petukhov [Thu, 24 Jul 2014 03:52:51 +0000 (07:52 +0400)]
FanArt: make sql commands more readable

8 years agoFanArt: add ability to get ArtistName by MusicBrainzID
Dmitrii Petukhov [Thu, 24 Jul 2014 03:42:28 +0000 (07:42 +0400)]
FanArt: add ability to get ArtistName by MusicBrainzID

8 years agoSongKick.GeoLocation: make cache folder name in lower
Dmitrii Petukhov [Wed, 23 Jul 2014 20:25:41 +0000 (00:25 +0400)]
SongKick.GeoLocation: make cache folder name in lower

8 years agoCacheService: check whether directory exist on add
Dmitrii Petukhov [Wed, 23 Jul 2014 20:23:17 +0000 (00:23 +0400)]
CacheService: check whether directory exist on add

8 years agoFanArt: unsubscribe from ExtensionChanged event when ext is disabled
Dmitrii Petukhov [Wed, 23 Jul 2014 18:15:42 +0000 (22:15 +0400)]
FanArt: unsubscribe from ExtensionChanged event when ext is disabled

8 years agoSongKick.GeoLocation: simplify methods
Dmitrii Petukhov [Wed, 23 Jul 2014 17:47:09 +0000 (21:47 +0400)]
SongKick.GeoLocation: simplify methods

8 years agoSongKick.GeoLocation: set last scan time to null when ext is disabled
Dmitrii Petukhov [Wed, 23 Jul 2014 17:42:16 +0000 (21:42 +0400)]
SongKick.GeoLocation: set last scan time to null when ext is disabled

8 years agoFanArt: cache server reply
Dmitrii Petukhov [Tue, 22 Jul 2014 22:59:17 +0000 (02:59 +0400)]
FanArt: cache server reply

8 years agoFanArt: fix build and change project reference to just reference
Dmitrii Petukhov [Tue, 22 Jul 2014 22:31:16 +0000 (02:31 +0400)]
FanArt: fix build and change project reference to just reference

8 years agoFanArt: add reference to CacheService
Dmitrii Petukhov [Tue, 22 Jul 2014 21:17:29 +0000 (01:17 +0400)]
FanArt: add reference to CacheService

8 years agoFanArt: throw away generic catch blocks
Dmitrii Petukhov [Tue, 22 Jul 2014 18:18:57 +0000 (22:18 +0400)]
FanArt: throw away generic catch blocks

8 years agoFanArt: remove FanArtMetadataProvider when extension disabled
Dmitrii Petukhov [Tue, 22 Jul 2014 18:16:40 +0000 (22:16 +0400)]
FanArt: remove FanArtMetadataProvider when extension disabled

8 years agoFanArt: fix SQL errors (bgo#733558)
Dmitrii Petukhov [Tue, 22 Jul 2014 18:08:28 +0000 (22:08 +0400)]
FanArt: fix SQL errors (bgo#733558)

Disabling FanArt extension causes SQL errors.
This happened because ArtistImageJob was not cancelled correctly.

8 years agoSongKick.GeoLocation: detach Service from LocationProvider in Dispose()
Dmitrii Petukhov [Tue, 22 Jul 2014 00:38:58 +0000 (04:38 +0400)]
SongKick.GeoLocation: detach Service from LocationProvider in Dispose()

If user turn on and turn off SongKick.GeoLocation extension
many times we should properly subscribe and unsubscribe to

8 years agoSongKick: no need to specify path for FSharp.Core
Andrés G. Aragoneses [Mon, 21 Jul 2014 23:37:28 +0000 (01:37 +0200)]
SongKick: no need to specify path for FSharp.Core

The FIXME then is deleted, because there's no need for it.

8 years agoFanArt: fix Cairo Surface leaking problem
Dmitrii Petukhov [Mon, 21 Jul 2014 22:43:29 +0000 (02:43 +0400)]
FanArt: fix Cairo Surface leaking problem

We need to be sure that artistImage is always disposed correctly.
So we used 'using'.

8 years agoFanArt: refactoring in ArtistColumnCell.Render()
Andrés G. Aragoneses [Mon, 21 Jul 2014 21:58:45 +0000 (23:58 +0200)]
FanArt: refactoring in ArtistColumnCell.Render()

This doesn't change behaviour.

8 years agoSongKick: fix obscure error message
Dmitrii Petukhov [Mon, 21 Jul 2014 21:02:12 +0000 (01:02 +0400)]
SongKick: fix obscure error message

8 years agoSongKick: fix types in Search
Dmitrii Petukhov [Mon, 21 Jul 2014 20:59:37 +0000 (00:59 +0400)]
SongKick: fix types in Search

It was a typo.

8 years agoFanArt: make exception catching more specific
Dmitrii Petukhov [Mon, 21 Jul 2014 20:54:00 +0000 (00:54 +0400)]
FanArt: make exception catching more specific

It was unclear what type of exception we are afraid of.

8 years agoSongKick: check query string for null or empty before use
Dmitrii Petukhov [Mon, 21 Jul 2014 18:53:05 +0000 (22:53 +0400)]
SongKick: check query string for null or empty before use

8 years agoCacheService: check keys for null or empty
Dmitrii Petukhov [Mon, 21 Jul 2014 18:51:21 +0000 (22:51 +0400)]
CacheService: check keys for null or empty

Check keys for empty or null before using it.

8 years agoSongKick.GeoLocation: Empty artist names shall not pass!
Dmitrii Petukhov [Mon, 21 Jul 2014 16:53:04 +0000 (20:53 +0400)]
SongKick.GeoLocation: Empty artist names shall not pass!

If somehow we get empty artist name in recommendations
then we should exclude it from the flow.

8 years agoSongKick.GeoLocation: implement ICityNameObserver in Service
Dmitrii Petukhov [Mon, 21 Jul 2014 16:49:14 +0000 (20:49 +0400)]
SongKick.GeoLocation: implement ICityNameObserver in Service

It's better to update RunTimeout for the first time
when city name is available.

8 years agoSongKick.GeoLocation: fix refresh time issue
Dmitrii Petukhov [Mon, 21 Jul 2014 16:41:00 +0000 (20:41 +0400)]
SongKick.GeoLocation: fix refresh time issue

If runtime of RefreshRecommendedGigs() takes more than one second,
then it will be invoked many times (due to tiny refresh time).
So, if it's needed we call RefreshRecommendedGigs and return
delay time as next retry time so that RefreshRecommendedGigs
should have time to perform.

8 years agoLiveRadio: Migrated to GTK3 and re-enable
Frank Ziegler [Mon, 21 Jul 2014 14:07:24 +0000 (00:07 +1000)]
LiveRadio: Migrated to GTK3 and re-enable

8 years agoKaraoke: fix build and re-enable
Frank Ziegler [Mon, 21 Jul 2014 13:46:46 +0000 (23:46 +1000)]
Karaoke: fix build and re-enable

8 years agoAmpache: Migrate to GTK3 and re-enable
Frank Ziegler [Mon, 21 Jul 2014 13:17:09 +0000 (23:17 +1000)]
Ampache: Migrate to GTK3 and re-enable

Removed the auto-generated Preferences GUI and manually created it.
Changed from Source to PrimarySource to prevent crash when switching to
Ampache source.

8 years agoSongKick.GeoLocation: fix typo
Dmitrii Petukhov [Mon, 21 Jul 2014 04:03:58 +0000 (08:03 +0400)]
SongKick.GeoLocation: fix typo

8 years agoSongKick.GeoLocation: improve refresh logic
Dmitrii Petukhov [Mon, 21 Jul 2014 02:39:15 +0000 (06:39 +0400)]
SongKick.GeoLocation: improve refresh logic

Now it saves last update time and updates gigs list
only when 12 hours pass. (Even if Banshee has been closed).

8 years agoAwn: Migrated to GTK3 and re-enabling
Frank Ziegler [Sun, 20 Jul 2014 14:33:58 +0000 (00:33 +1000)]
Awn: Migrated to GTK3 and re-enabling

8 years agoAppIndicator: Migrated to GTK3 to compile
Frank Ziegler [Sun, 20 Jul 2014 14:29:40 +0000 (00:29 +1000)]
AppIndicator: Migrated to GTK3 to compile

The appindicator is still based on GTK2 so the menu does not work. The
extension compiles and runs, notifications work with new notify-sharp-3.0

There is still some work to be done, so not re-enabling the extension

8 years agoStreamrecorder: fixed build and re-enable
Frank Ziegler [Sun, 20 Jul 2014 13:15:56 +0000 (23:15 +1000)]
Streamrecorder: fixed build and re-enable

8 years agoLyrics: Migrated to GTK3, but did not re-enable as WebBrowser is not working
Frank Ziegler [Sun, 20 Jul 2014 10:30:39 +0000 (20:30 +1000)]
Lyrics: Migrated to GTK3, but did not re-enable as WebBrowser is not working

8 years agoTelepathy: Migrated to GTK3
Frank Ziegler [Sun, 20 Jul 2014 10:21:37 +0000 (20:21 +1000)]
Telepathy: Migrated to GTK3

8 years agoCoverwallpaper: fixed build by not taking CS1701 warning as error and re-enable
Frank Ziegler [Sun, 20 Jul 2014 10:00:28 +0000 (20:00 +1000)]
Coverwallpaper: fixed build by not taking CS1701 warning as error and re-enable

8 years agoLCD: Migrated to GTK3 and re-enabled
Frank Ziegler [Sun, 20 Jul 2014 04:32:00 +0000 (14:32 +1000)]
LCD: Migrated to GTK3 and re-enabled

8 years agoJamendo: Updated to latest Hyena logging convention and re-enabled
Frank Ziegler [Sun, 20 Jul 2014 04:18:29 +0000 (14:18 +1000)]
Jamendo: Updated to latest Hyena logging convention and re-enabled

Hyena has deprecated logging "Exception", so now logging as "Warning"

8 years agoFolderSync: Migrated to GTK3 and re-enabled
Frank Ziegler [Sun, 20 Jul 2014 04:14:37 +0000 (14:14 +1000)]
FolderSync: Migrated to GTK3 and re-enabled

8 years agoAlarmclock: migrated to GTK3 and re-enabled extension
Frank Ziegler [Sun, 20 Jul 2014 03:32:20 +0000 (13:32 +1000)]
Alarmclock: migrated to GTK3 and re-enabled extension

8 years agoSongKick.GeoLocation: cleanup code and get rid of mutables
Dmitrii Petukhov [Sat, 19 Jul 2014 23:16:05 +0000 (03:16 +0400)]
SongKick.GeoLocation: cleanup code and get rid of mutables

I've also made some methods private, chose better names,
made code better structured in general.

8 years agoCacheService: minor changes
Dmitrii Petukhov [Sat, 19 Jul 2014 23:10:29 +0000 (03:10 +0400)]
CacheService: minor changes

8 years agoFanArt: last (hopefully) Fanart->FanArt renaming
Andrés G. Aragoneses [Sat, 19 Jul 2014 18:36:40 +0000 (20:36 +0200)]
FanArt: last (hopefully) Fanart->FanArt renaming

8 years agoFanArt: minor code cleanup
Andrés G. Aragoneses [Sat, 19 Jul 2014 18:31:36 +0000 (20:31 +0200)]
FanArt: minor code cleanup

8 years agoFanArt: more Fanart->FanArt renaming, this time in namespaces
Andrés G. Aragoneses [Sat, 19 Jul 2014 18:23:07 +0000 (20:23 +0200)]
FanArt: more Fanart->FanArt renaming, this time in namespaces

8 years agoFanArt: rename most "Fanart" artifacts to "FanArt" name
Andrés G. Aragoneses [Sat, 19 Jul 2014 18:14:45 +0000 (20:14 +0200)]
FanArt: rename most "Fanart" artifacts to "FanArt" name

The name "Fanart" doesn't say anything in itself, it's better to
rename it to use PascalNotation like other extension names.

8 years agoFanArt: enable by default too
Andrés G. Aragoneses [Sat, 19 Jul 2014 18:10:31 +0000 (20:10 +0200)]
FanArt: enable by default too


8 years agobuild: disable nonGTK3 extensions by default & bump version
Andrés G. Aragoneses [Sat, 19 Jul 2014 17:39:04 +0000 (19:39 +0200)]
build: disable nonGTK3 extensions by default & bump version

Some extensions have started using already new APIs from hyena, plus
many have been ported to (or started implementation with) GTK3, so
for the sake of embracing the future, master branch of b-c-e should
be compatible with banshee master, which means disabling nonGTK3
extensions by default, and enabling the GTK3-compatible ones.

8 years agoArtistListCovers: last touches
Andrés G. Aragoneses [Sat, 19 Jul 2014 16:28:37 +0000 (18:28 +0200)]
ArtistListCovers: last touches

- fix .addin.xml to point to proper namespaces
- fix .csproj to link to Hyena.Data.Sqlite

8 years agoArtistListCovers: new extension (bgo#646765)
Frank Ziegler [Sat, 19 Jul 2014 16:19:40 +0000 (18:19 +0200)]
ArtistListCovers: new extension (bgo#646765)

Disabled by default as it only builds with GTK3

8 years agoFanArt: rename some files, to avoid redundancy in namespace+name
Andrés G. Aragoneses [Sat, 19 Jul 2014 11:55:07 +0000 (13:55 +0200)]
FanArt: rename some files, to avoid redundancy in namespace+name

8 years agoSongKick.GeoLocation: change addin metadata
Dmitrii Petukhov [Fri, 18 Jul 2014 22:07:38 +0000 (02:07 +0400)]
SongKick.GeoLocation: change addin metadata

8 years agoSongKick: fix crash at observers iteration
Dmitrii Petukhov [Fri, 18 Jul 2014 22:01:50 +0000 (02:01 +0400)]
SongKick: fix crash at observers iteration

NotifyObservers() was iterating the city_observers list,
and there could exist the possibility of making this collection change
on each iteration.
To prevent out of sync exception let's make a copy of the
city_observers before iterating it.

8 years agoSongKickGeoLocation: fix sources accumulation problem
Dmitrii Petukhov [Fri, 18 Jul 2014 21:40:58 +0000 (01:40 +0400)]
SongKickGeoLocation: fix sources accumulation problem

When you switch on and turn off SongKick.GeoLocation several times,
many "Gigs, Recommended for You" sources accumulate under
SongKick main source.
I solved it by making events_source in the Service class static.

I also improved code readablity a bit.
(formating, guidelines, renaming, logic)

8 years agoCacheService and SongKickGeoLocation: follow guidelines
Dmitrii Petukhov [Fri, 18 Jul 2014 21:38:25 +0000 (01:38 +0400)]
CacheService and SongKickGeoLocation: follow guidelines

Improved code style and followed Banshee guidelines.

8 years agoCacheService: add more log messages
Dmitrii Petukhov [Fri, 18 Jul 2014 12:17:02 +0000 (16:17 +0400)]
CacheService: add more log messages

8 years agoSongKick.GeoLocation: call notifications from the main thread
Dmitrii Petukhov [Fri, 18 Jul 2014 11:59:57 +0000 (15:59 +0400)]
SongKick.GeoLocation: call notifications from the main thread

Notify-sharp uses dbus and since we call notifications from non-GUI
thread it cause next error:
"Message length XXXXX exceeds maximum allowed 134217728 bytes"
So, now we call notifications only from the main thread.

8 years agoFanArt: adapt to new ArtistList API in banshee master (bgo#646765)
Frank Ziegler [Fri, 18 Jul 2014 15:19:47 +0000 (17:19 +0200)]
FanArt: adapt to new ArtistList API in banshee master (bgo#646765)

Signed-off-by: Andrés G. Aragoneses <>
8 years agoFanart: fix warnings as errors from last hyena's deprecations
Andrés G. Aragoneses [Fri, 18 Jul 2014 15:08:04 +0000 (17:08 +0200)]
Fanart: fix warnings as errors from last hyena's deprecations

8 years agoSongKick and CacheService Logging: bring latest hyena
Dmitrii Petukhov [Fri, 18 Jul 2014 09:33:17 +0000 (13:33 +0400)]
SongKick and CacheService Logging: bring latest hyena

Fix errors generated by using of deprecated Log.Exception() method

8 years agobuild: Enable migration to xbuild (BGO#733326)
Nicholas Little [Thu, 17 Jul 2014 21:36:45 +0000 (22:36 +0100)]
build: Enable migration to xbuild (BGO#733326)

This patch:
1. adds new build rules, As long as your assembly name equals
   your project name, then this should Just Work (tm);
2. adds central macros for xbuild and fsharpc (not version checked);
3. increases mono requirement to 2.8.2 to match banshee;
4. adds an xbuild check to;
5. switches Bluetooth, SongKickGeoLocation and OnlineMetadataFixer to
   use the new infrastructure, streamlining their Makefiles;
6. updates the Makefiles for the extension templates so new projects
   gain the new rules.