1 2009-05-22 Aaron Bockover <abock@gnome.org>
3 Friends, after 4 years and 3 months, this file has come to an end. This
4 was a good file, a noble file, and it should be respected and cherished.
5 Many wonderful people have contributed to this file. I thank them all.
7 The spirit of this file will live on in git log, and whatever worthy
8 change log tracking facility we may adopt in the future.
10 Also, I win. First and Last post. BUUUUUUURRRRRNNNN.
12 2009-04-16 Gabriel Burt <gabriel.burt@gmail.com>
14 * src/Core/Banshee.Core/Banshee.Base/Tests/TaglibReadWriteTests.cs:
15 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs:
16 * src/Core/Banshee.Core/Banshee.Streaming/SaveTrackMetadataJob.cs:
17 * src/Core/Banshee.Core/Makefile.am: Remove old save job and move its
18 save-to-file logic into StreamTagger.
20 * src/Core/Banshee.Services/Makefile.am:
21 * src/Core/Banshee.Services/Banshee.Metadata/SaveTrackMetadataService.cs:
22 * src/Core/Banshee.Services/Banshee.Metadata/SaveTrackMetadataJob.cs: New
23 service and job that save-to-file and move-on-info-save if/when
26 * src/Core/Banshee.Services/Banshee.Preferences/PreferenceService.cs: the
27 SchemaPreferences are now created in SaveTrackMetadataServices; use them.
29 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Start
30 the SaveTrackMetadataServices.
32 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
33 Get rid of the old write-to-file and move-on-info-save job queueing; now
34 happens based on the Updated and LastSynced stamps in the db.
36 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Give
37 access to the underlying IDataReader from HyenaDataReader.
39 * src/Core/Banshee.Services/Banshee.Collection/MoveOnInfoSaveJob.cs:
42 2009-04-16 Gabriel Burt <gabriel.burt@gmail.com>
44 Add a smart, priority-aware, resource-contention-avoiding job scheduler
45 Net result is BPM analysis will pause while importing, etc (BGO #577772).
46 Still need to convert Banshee.Kernel jobs.
48 * src/Core/Banshee.Core/Banshee.Base/ProductInformation.cs:
49 * src/Core/Banshee.Core/Banshee.Base/Resource.cs: Rename to
50 AssemblyResource to avoid conflicts.
52 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs:
53 * src/Core/Banshee.Services/Banshee.Collection/RescanPipeline.cs:
54 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
55 * src/Core/Banshee.Services/Banshee.Library/ThreadPoolImportSource.cs:
56 * src/Core/Banshee.Services/Banshee.MediaEngine/TranscoderService.cs:
57 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
58 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/DatabaseRebuilder.cs:
59 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs:
60 * src/Extensions/Banshee.Bpm/Banshee.Bpm/BpmDetectJob.cs:
61 Set PriorityHints and Resources for Jobs.
63 * src/Core/Banshee.Services/Banshee.Metadata/IMetadataLookupJob.cs:
64 * src/Core/Banshee.Services/Banshee.Metadata/MetadataServiceJob.cs: Add
67 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Use the
68 new JobScheduler, checking for DataLossJobs on shutdown.
70 * src/Core/Banshee.Services/Banshee.ServiceStack/DbIteratorJob.cs: Rework
71 as subclass of SimpleAsyncJob.
73 * src/Core/Banshee.Services/Banshee.ServiceStack/JobScheduler.cs: Simple
74 new class that subclasses JobScheduler and is an IService.
76 * src/Core/Banshee.Services/Makefile.am:
77 * src/Core/Banshee.Services/Banshee.ServiceStack/UserJobManager.cs:
78 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
79 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/ConfirmShutdownDialog.cs:
80 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TaskStatusIcon.cs:
81 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs:
82 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs:
83 * src/Extensions/Banshee.Bpm/Banshee.Bpm/BpmService.cs:
84 Use JobScheduler instead of UserJobManager.
86 * src/Core/Banshee.Services/Banshee.ServiceStack/TestUserJob.cs:
87 * src/Core/Banshee.Services/Banshee.ServiceStack/UserJob.cs: Inherit from
88 Hyena.Job. Most UserJob code now lives in Hyena.Job
90 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs: Inherit
93 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtService.cs:
94 If we were cancelled, don't try to save the last_scan time.
96 * src/Libraries/Hyena/Makefile.am:
97 * src/Libraries/Hyena/Hyena.Jobs/Job.cs:
98 * src/Libraries/Hyena/Hyena.Jobs/JobExtensions.cs:
99 * src/Libraries/Hyena/Hyena.Jobs/PriorityHints.cs:
100 * src/Libraries/Hyena/Hyena.Jobs/Resource.cs:
101 * src/Libraries/Hyena/Hyena.Jobs/Scheduler.cs:
102 * src/Libraries/Hyena/Hyena.Jobs/SimpleAsyncJob.cs:
103 * src/Libraries/Hyena/Hyena.Jobs/Tests/SchedulerTests.cs: New set of
104 classes to implement smart scheduling of jobs, prioritizing jobs and
105 avoiding resource contention.
107 * src/Libraries/Hyena/Hyena/Timer.cs: Add params/format ctor.
109 2009-04-16 Gabriel Burt <gabriel.burt@gmail.com>
111 This patch adds separate library folder preferences for Music Library,
112 Video Library, and Podcasts (BGO #404827). They are all configurable via
113 the Preferences dialog. It also changes the format used to store URIs in
114 the database, from sometime relative and sometimes absolute to always
115 absolute (BGO #564355).
117 * src/Core/Banshee.Core/Banshee.Base/FileNamePattern.cs:
118 * src/Core/Banshee.Core/Banshee.Base/Paths.cs:
119 * src/Core/Banshee.Core/Banshee.Configuration.Schema/LibrarySchema.cs:
120 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
121 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
122 * src/Core/Banshee.Services/Banshee.Collection/MoveOnInfoSaveJob.cs:
123 * src/Core/Banshee.Services/Banshee.Collection/RescanPipeline.cs:
124 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
125 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs:
126 * src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs:
127 * src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs:
128 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs:
129 * src/Core/Banshee.Services/Banshee.Preferences/SourcePage.cs:
130 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
131 * src/Core/Banshee.Services/Makefile.am:
132 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
133 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
134 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
135 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/DefaultPreferenceWidgets.cs:
136 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/NotebookPage.cs:
137 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/PageComboBox.cs:
138 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
139 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs:
140 * src/Extensions/Banshee.Bpm/Banshee.Bpm/BpmDetectJob.cs:
141 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs:
142 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
143 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
144 * src/Extensions/Banshee.PlayerMigration/Banshee.PlayerMigration/RhythmboxPlayerImportSource.cs:
145 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastSource.cs:
146 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
147 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService_Interface.cs:
148 * src/Extensions/Banshee.Podcasting/Resources/GlobalUI.xml:
149 * src/Libraries/Migo/Migo.Syndication/FeedsManager.cs:
150 * src/Core/Banshee.Services/Banshee.Library/LibraryLocationPreference.cs:
151 Remove assumptions about there being only one Library Location, instead
152 use the relevant PrimarySource's BaseDirectory. Remove relative-URI
153 logic/munging; always use the absolute URI. Add library location
154 preferences for Music, Video, and Podcasts.
156 2009-04-16 Aaron Bockover <abock@gnome.org>
158 * Project: migrated to git, repository structure cleaned up and
159 organized; this is just a memento
161 2009-04-15 Alexander Kojevnikov <alexander@kojevnikov.com>
163 * src/Core/Banshee.Core/Banshee.Base/FileNamePattern.cs:
164 * src/Libraries/Hyena/Hyena/StringUtil.cs:
165 * src/Libraries/Hyena/Hyena/Tests/StringUtilTests.cs: Trimming dots and
166 spaces in file and folder names (BGO #572999)
168 2009-04-15 Alexander Kojevnikov <alexander@kojevnikov.com>
170 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
171 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs:
172 Fixed the full-screen mode visual glitch in the Now Playing source
175 2009-04-15 Alexander Kojevnikov <alexander@kojevnikov.com>
177 * src/Libraries/Hyena.Gui/Hyena.Widgets/RatingEntry.cs: Fixed the
178 RatingEntry colors on dark themes (BGO #576459)
180 2009-04-15 Gabriel Burt <gabriel.burt@gmail.com>
182 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
183 Handle YYYY release date strings from MusicBrainz (BGO #578073)
185 2009-04-15 Gabriel Burt <gabriel.burt@gmail.com>
187 * build/m4/shamrock/nunit.m4: If nunit is not found, look for mono-nunit.
189 2009-04-14 Alexander Kojevnikov <alexander@kojevnikov.com>
191 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs:
192 Don't change the browser height when the recommendations pane is shown
195 2009-04-14 Alexander Kojevnikov <alexander@kojevnikov.com>
197 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/PreferenceDialog.cs:
198 Setting default height for the Preferences dialog (BGO #552620)
200 2009-04-14 Gabriel Burt <gabriel.burt@gmail.com>
202 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TaskStatusIcon.cs: Set
203 the sensitivity based on whether any bg tasks are active, so less
204 intrusive when there aren't, and in general, distinguishable.
206 2009-04-14 Alexander Kojevnikov <alexander@kojevnikov.com>
208 * .gitignore: Added *.mdb
210 2009-04-08 Gabriel Burt <gabriel.burt@gmail.com>
212 * tests/Analyzer/Analyzer.cs: Fix warnings.
214 2009-04-08 Gabriel Burt <gabriel.burt@gmail.com>
216 * src/Libraries/Mono.Data.Sqlite/Mono.Data.Sqlite/SQLite3.cs:
217 * src/Libraries/Mono.Data.Sqlite/Mono.Data.Sqlite/SQLiteBase.cs:
218 * src/Libraries/Mono.Data.Sqlite/Mono.Data.Sqlite/SQLiteCommand.cs:
219 * src/Libraries/Mono.Data.Sqlite/Mono.Data.Sqlite/SQLiteConvert.cs:
220 * src/Libraries/Mono.Data.Sqlite/Mono.Data.Sqlite/SQLiteDataReader.cs:
221 Performance fixes ported from upstream System.Data.Sqlite, making SqliteType
222 a class (not struct) and avoid unnecessary calls to TypeNameToDbType.
224 2009-04-08 Gabriel Burt <gabriel.burt@gmail.com>
226 * src/Libraries/Mono.Data.Sqlite/bnc-490021_mds-even-better.patch:
227 * src/Libraries/Mono.Data.Sqlite/Mono.Data.Sqlite/SQLiteConvert.cs:
228 Building on Bertrand's patch, improve performance even more.
230 2009-04-08 Gabriel Burt <gabriel.burt@gmail.com>
232 * src/tests/Performance/Makefile.am: Also build an exe, useful for
233 drilling into a performance problem with mono --profile.
235 * src/tests/Performance/PerformanceTests.cs: Categorize tests, add
236 FetchTrack, LoadTrack, and Select* tests testing relatively low level db
239 2009-04-08 Gabriel Burt <gabriel.burt@gmail.com>
241 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteArrayDataReader.cs:
242 Dispose underlying reader after reading in all its values.
244 2009-04-08 Gabriel Burt <gabriel.burt@gmail.com>
246 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Remove
247 old comment about how to fix the transactions code.
249 2009-04-06 Gabriel Burt <gabriel.burt@gmail.com>
252 * tests/Analyzer/Analyzer.cs:
253 * tests/Analyzer/Makefile.am:
255 * tests/Performance/Makefile.am:
256 * tests/Performance/PerformanceTests.cs:
257 * tests/compare-perf-results:
258 * tests/test-perf: New scripts and tests for testing and comparing
259 performance across commits.
261 2009-04-05 Bertrand Lorentz <bertrand.lorentz@gmail.com>
263 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
264 Fix confusing typo in debug message.
266 2009-04-04 Alexander Kojevnikov <alexander@kojevnikov.com>
268 * src/Libraries/Hyena.Gui/Hyena.Gui/RatingRenderer.cs: Fixed zero rating
269 display in the main menu (BGO #577835)
271 2009-04-03 Gabriel Burt <gabriel.burt@gmail.com>
273 * src/Libraries/Mono.Data.Sqlite/Mono.Data.Sqlite/SQLiteConvert.cs:
274 * src/Libraries/Mono.Data.Sqlite/bnc-490021_mds-improve-type-lookup.patch:
275 Apply patch from Bertrand Lorentz optimizing the method that does type
276 lookups (BNC #490021)
278 2009-04-02 Alexander Kojevnikov <alexander@kojevnikov.com>
280 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
281 Allowing to resize track list view columns as long as one column to the
282 left and to the right is not fixed-width (BGO #538085)
284 2009-04-02 Gabriel Burt <gabriel.burt@gmail.com>
286 * src/Core/Banshee.ThickClient/Resources/banshee-dialogs.glade: Improve
287 language for smart playlists predefined button.
289 2009-04-02 Alexander Kojevnikov <alexander@kojevnikov.com>
291 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
292 Fixed row rendering glitch when hscroll position is non-zero
295 2009-04-02 Alexander Kojevnikov <alexander@kojevnikov.com>
297 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellRating.cs:
298 * src/Libraries/Hyena.Gui/Hyena.Gui/RatingRenderer.cs:
299 * src/Libraries/Hyena.Gui/Hyena.Widgets/RatingEntry.cs: Changed the
300 RatingEntry widget to make it easier to edit and reset the ratings
303 2009-04-02 Gabriel Burt <gabriel.burt@gmail.com>
305 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs: Patch from
306 Alexander Kojevnikov working around issue in TagLib# where it
307 miscalculates the bitrate for VBR tracks if the duration isn't set
310 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
311 Bump the metadata version to trigger a refresh. Users of trunk will get
312 yet another refresh, where users coming from 1.4 won't see a difference;
313 they already were going to get a refresh.
315 2009-04-02 Gabriel Burt <gabriel.burt@gmail.com>
317 Updated to latest MusicBrainz# courtesy of Scott Peterson and Tom Corner.
319 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
322 * src/Libraries/MusicBrainz/*: Updated to latest from musicbrainz.org. I
323 did comment out the DiscWin32NT references in LocalDisc.
325 2009-04-02 Gabriel Burt <gabriel.burt@gmail.com>
327 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodTrackInfo.cs: Patch from
328 Andrés G. Aragoneses fixing bug with ratings not getting transferred to
331 2009-04-01 Gabriel Burt <gabriel.burt@gmail.com>
333 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
334 Set the indicator bug to have an empty title.
336 2009-04-01 Gabriel Burt <gabriel.burt@gmail.com>
338 * libbanshee/banshee-bpmdetector.c: Fix warnings.
340 2009-03-31 Bertrand Lorentz <bertrand.lorentz@gmail.com>
342 * src/Core/Banshee.Core/Banshee.Base/Localization.cs: Reduce startup
343 time by compiling and caching XPath expressions (BGO #577100).
345 2009-03-30 Bertrand Lorentz <bertrand.lorentz@gmail.com>
347 * src/Core/Banshee.Services/Banshee.Playlists.Formats/Tests/PlaylistFormatTests.cs:
348 * tests/Banshee.Services/playlist-data/reference_local.asx:
349 * tests/Banshee.Services/playlist-data/reference_remote.asx: Add some
350 unit tests for ASF reference playlists. The remote test, like all
351 ASX tests with a remote URL, is broken because we have to change
354 2009-03-30 Gabriel Burt <gabriel.burt@gmail.com>
356 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Patch from Andrés G.
357 Aragoneses disposing the sync object when the dap is disposed, fixing a
358 crash if automatic-sync was enabled (BGO #577072)
360 2009-03-29 Alexander Kojevnikov <alexander@kojevnikov.com>
362 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
363 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackRepeatMode.cs:
364 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackShuffleMode.cs:
365 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackRepeatActions.cs:
366 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackShuffleActions.cs:
367 Update the UI when repeat and shuffle mode is changed using DBus
370 2009-03-29 Bertrand Lorentz <bertrand.lorentz@gmail.com>
372 * src/Core/Banshee.Services/Banshee.Playlists.Formats/PlaylistParser.cs:
373 * src/Core/Banshee.Services/Banshee.Playlists.Formats/AsfReferencePlaylistFormat.cs:
374 * src/Core/Banshee.Services/Banshee.Services.csproj:
375 * src/Core/Banshee.Services/Makefile.am: Patch from Félix Velasco
376 adding support for ASF reference playlists, with small changes by me
379 2009-03-26 Bertrand Lorentz <bertrand.lorentz@gmail.com>
381 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
382 Fix my previous patch to properly handle the case when a table is not
385 2009-03-26 Bertrand Lorentz <bertrand.lorentz@gmail.com>
387 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
388 * src/Core/Banshee.Services/Banshee.Configuration/DatabaseConfigurationClient.cs:
389 Automatically analyze the database when the number of records in a
390 table has changed significantly since last analysis. This should ensure
391 optimal use of the indices (BGO #555937).
393 2009-03-26 Gabriel Burt <gabriel.burt@gmail.com>
395 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
396 Update some indices to use the new SortKey columns.
398 2009-03-26 Gabriel Burt <gabriel.burt@gmail.com>
400 * src/Core/Banshee.Core/Resources/translators.xml: Updated
402 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs:
403 Disable smooth-scroll by default (pass --smooth-scroll at runtime to
404 enable) since still not ready.
406 2009-03-25 John Millikin <jmillikin@gmail.com>
408 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/LargeTrackInfoDisplay.cs:
409 * src/Libraries/Hyena/Hyena/Tests/StringUtilTests.cs:
410 * src/Libraries/Hyena/Hyena/StringUtil.cs:
411 When splitting the "Now playing" info text into lines, only split
412 if there are at least two info sections (BGO #560886).
414 2009-03-25 Bertrand Lorentz <bertrand.lorentz@gmail.com>
416 * src/Core/Banshee.Widgets/Banshee.Widgets/SeekSlider.cs: Patch from
417 Alexander Kojevnikov fixing the position calculation for clicks on the
418 seek slider (BGO #575635).
420 2009-03-24 Gabriel Burt <gabriel.burt@gmail.com>
422 * build/m4/banshee/torrent.m4:
423 * src/Extensions/Banshee.Torrent/Banshee.Torrent/TorrentFileDownloadTask.cs:
424 * src/Extensions/Banshee.Torrent/Banshee.Torrent/TorrentService.cs: Some
425 cleanup and build fixes.
427 2009-03-24 Gabriel Burt <gabriel.burt@gmail.com>
429 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
430 * src/Core/Banshee.Services/Banshee.Database/BansheeModelProvider.cs:
431 Patch from Alexander Kojevnikov and myself fixing an issue with migration
432 caused by using a SqliteModelProvider within the migrations which assume
433 the schema has already been updated.
435 2009-03-23 Gabriel Burt <gabriel.burt@gmail.com>
437 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
438 Patch from Brian Lucas reenabling and updating the old folder_depth
439 handling code (BGO #537367)
441 2009-03-23 Gabriel Burt <gabriel.burt@gmail.com>
443 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/AlbumArtistEntry.cs:
444 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/PageNavigationEntry.cs:
445 Make the track artist sync button not sensitive when IsCompilation, and
446 don't change the title forward button's sensitivity.
448 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/SortingPage.cs:
449 Make the title sort field NoSync.
451 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/ExtraTrackDetailsPage.cs:
452 * src/Core/Banshee.ThickClient/Makefile.am:
453 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/LicenseEntry.cs:
454 Add a combo entry for editing the LicenseURI field.
456 2009-03-23 Gabriel Burt <gabriel.burt@gmail.com>
458 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/PageNavigationEntry.cs:
459 Set a tooltip on the next/arrow button, and make sure the title entry is
460 focused after we switch tracks.
462 2009-03-20 Gabriel Burt <gabriel.burt@gmail.com>
464 * src/Clients/Booter/Booter/Entry.cs:
465 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs:
466 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
467 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
468 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
469 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs:
470 * src/Core/Banshee.Services/Banshee.SmartPlaylist/Migrator.cs:
471 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
472 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/StatisticsPage.cs:
473 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmTrackInfo.cs:
474 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackInfo.cs:
475 Patch from Brian Lucas and Alexander Kojevnikov adding a score
476 column/field that is updated automatically based on how far a song was
477 played before it was skipped (or over). It has a value of 0 to 100, where
478 100 would mean that every time you played the song you listened to the
479 whole thing (BGO #555116)
481 2009-03-20 John Millikin <jmillikin@gmail.com>
483 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
484 Fix typo in the version 28 database migration.
486 2009-03-20 John Millikin <jmillikin@gmail.com>
488 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
489 Remove parentheses around track count in sources lists. (BGO #561339)
491 2009-03-20 John Millikin <jmillikin@gmail.com>
493 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
494 * src/Libraries/Hyena/Hyena/Tests/StringUtilTests.cs:
495 * src/Libraries/Hyena/Hyena/StringUtil.cs:
496 Collapse runs of spaces into a single space when searching for
497 strings. (BGO #573484)
499 2009-03-20 John Millikin <jmillikin@gmail.com>
501 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellTrackAndCount.cs:
502 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellDiscAndCount.cs:
503 If the total disc or track count is 0, display only the disc/track
504 number. If neither count is >0, display nothing. (BGO #573093)
506 2009-03-20 Gabriel Burt <gabriel.burt@gmail.com>
508 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Patch
509 from Alexander Kojevnikov fixing focus loss when renaming non-active
512 2009-03-20 Gabriel Burt <gabriel.burt@gmail.com>
514 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
515 Patch from Alexander Kojevnikov fixing a dragged column rendering glitch
516 when hscroll position is non-zero (BGO #536853)
518 2009-03-20 Gabriel Burt <gabriel.burt@gmail.com>
520 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
521 Patch from Alexander Kojevnikov fixing mouse interactions with ListView's
522 cells (such as the rating) when hscroll position is non-zero (BGO #538535)
524 2009-03-20 Gabriel Burt <gabriel.burt@gmail.com>
526 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs:
527 * src/Core/Banshee.ThickClient/Resources/banshee-dialogs.glade: Patch from
528 Alexander Kojevnikov fixing bug with predefined smart playlists'
529 descriptions being so wide they caused ugly horizontal scrolling (BGO
532 2009-03-19 Gabriel Burt <gabriel.burt@gmail.com>
534 * src/Core/Banshee.Services/Banshee.Database/SortKeyUpdater.cs: When the
535 locale has changed, update the SearchKeys as well.
537 2009-03-19 Gabriel Burt <gabriel.burt@gmail.com>
539 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
540 Update the MetadataHash for tracks that have an unknown artist, album,
541 and/or title, fixing a problem where such items got removed and readded to
542 devices on every sync (BGO #569379)
544 2009-03-19 Gabriel Burt <gabriel.burt@gmail.com>
546 * src/Core/Banshee.Core/Banshee.Collection/AlbumInfo.cs:
547 * src/Core/Banshee.Core/Banshee.Collection/ArtistInfo.cs:
548 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs:
549 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
550 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
551 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
552 * src/Core/Banshee.Services/Banshee.Collection.Database/Tests/DatabaseAlbumInfoTests.cs:
553 * src/Core/Banshee.Services/Banshee.Collection.Database/Tests/DatabaseArtistInfoTests.cs:
554 * src/Core/Banshee.Services/Banshee.Collection.Database/Tests/DatabaseTrackInfoTests.cs:
555 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
556 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs:
557 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtistListView.cs:
558 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs:
559 * src/Libraries/Hyena/Hyena/StringUtil.cs: Patch from Andrés G.
560 Aragoneses with input from John Millikin to keep displaying and sorting
561 unknown artist/albums/tracks as "Unknown .." but to keep the actual
562 value of the artist/album/title in the database (and written back to
563 files) null (BGO #528493)
565 2009-03-18 Gabriel Burt <gabriel.burt@gmail.com>
567 * src/Core/Banshee.Services/Banshee.Preferences/Root.cs:
568 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
569 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/WidgetFactory.cs:
570 Handle the Name/ShortDescription of a pref changing.
572 * src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs: Update the Name of
573 each library sync option when we recaculate the sync, showing the # items
576 2009-03-18 Gabriel Burt <gabriel.burt@gmail.com>
578 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapContent.cs:
579 * src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs:
580 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs:
581 * src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs: Remove cruft and unnecessary
584 2009-03-15 * src/Dap/Banshee.Dap/ Bertrand Lorentz <bertrand.lorentz@gmail.com>
586 * src/Libraries/Hyena.Gui/Hyena.Widgets/RatingMenuItem.cs: Patch from
587 Alexander Kojevnikov fixing the bug where right-clicking on a track in
588 the Play Queue would clear its rating (BGO #575384).
590 2009-03-15 Bertrand Lorentz <bertrand.lorentz@gmail.com>
592 * autogen.sh: Print a proper error message when (g)libtoolize is not
593 found. Patch from Andreas Neustifter, with a small change by me
596 2009-03-14 John Millikin <jmillikin@gmail.com>
598 * src/Core/Banshee.Core/Makefile.am:
599 * src/Core/Banshee.Core/Banshee.Base/Tests/CoverArtSpecTests.cs:
600 Add tests for escaping cover art filename fragments.
602 2009-03-12 Bertrand Lorentz <bertrand.lorentz@gmail.com>
604 * libbanshee/banshee-tagger.c: Patch from Roderich Schupp setting the
605 right merge mode, so that tags are not lost when importing a CD with
606 GStreamer 0.10.22 (BGO #573813).
608 2009-03-12 Bertrand Lorentz <bertrand.lorentz@gmail.com>
610 * build/TranslatorExtractor.cs: Update the special case for sr@latin,
611 as the po file was renamed.
613 * build/Makefile.am: Fix typo that caused translators credits not to be
616 * src/Core/Banshee.Core/Resources/translators.xml: Updated, long
617 overdue because of the above bug.
619 2009-03-11 Gabriel Burt <gabriel.burt@gmail.com>
622 * libbanshee/libbanshee.cproj:
623 * *.csproj: Updated by MonoDevelop, removing empty elements and saving
624 some per-project preferences like use-spaces-for-tabs etc.
626 2009-03-11 Gabriel Burt <gabriel.burt@gmail.com>
628 * Makefile.am: Add 'make csharp' target that references Gtk#, Hyena,
629 Banshee etc for convenient/quick shell usage.
631 2009-03-09 Gabriel Burt <gabriel.burt@gmail.com>
633 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
634 Don't switch to the FSQ source when some files are loaded if the playing
635 item is a video (BGO #570382)
637 2009-03-09 Bertrand Lorentz <bertrand.lorentz@gmail.com>
639 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationService.cs:
640 Patch from Christoph Burgdorf to update the recommendation pane when
641 the track info is updated (BGO #574628).
643 2009-03-09 Bertrand Lorentz <bertrand.lorentz@gmail.com>
645 * src/Libraries/Hyena.Gui/Hyena.Widgets/MenuButton.cs: Patch from
646 Alexander Kojevnikov fixing the Next button so that its pressed state
647 is always displayed properly (BGO #554685).
649 2009-03-09 Bertrand Lorentz <bertrand.lorentz@gmail.com>
651 * src/Core/Banshee.ThickClient/Banshee.Addins.Gui/AddinView.cs: Patch
652 from Alexander Kojevnikov fixing a visual glitch in the extension
653 manager (BGO #531575).
655 2009-03-08 Bertrand Lorentz <bertrand.lorentz@gmail.com>
657 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
658 Move the line added in my previous commit, to prevent a crash when
659 switching to the Mini Mode.
661 2009-03-08 Bertrand Lorentz <bertrand.lorentz@gmail.com>
663 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
664 Set the source name as the text of the renderer, for a11y.
666 2009-03-08 Bertrand Lorentz <bertrand.lorentz@gmail.com>
668 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Patch from
669 Alexander Kojevnikov fixing a localization issue with the "Delete From
670 Drive" action (BGO #560455).
672 * src/Dap/Banshee.Dap/Banshee.Dap/MediaGroupSource.cs: Do not set the
673 "Delete From Drive" label, it's overwritten in TrackActions anyway.
675 2009-03-08 Bertrand Lorentz <bertrand.lorentz@gmail.com>
677 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs:
678 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Fix
679 localization issues in Playback menu by having separate string for each
680 media type. Original patch from Alexander Kojevnikov, modified by me
683 2009-03-05 John Millikin <jmillikin@gmail.com>
685 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/QueryLimitBox.cs:
686 Patch from Alexander Kojevnikov: Change "limit to" entry in the smart
687 playlist editor to a SpinButton (BGO #557321).
689 2009-03-05 John Millikin <jmillikin@gmail.com>
691 * src/Libraries/Hyena/Hyena/Log.cs:
692 Patch from Neil Loknath: Change the color used for warning messages to
693 dark yellow (BGO #546647).
695 2009-03-05 John Millikin <jmillikin@gmail.com>
697 * src/Core/Banshee.Services/Banshee.Database/QueuedSqliteDatabase.cs:
700 2009-03-05 John Millikin <jmillikin@gmail.com>
702 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TaskStatusIcon.cs:
703 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TaskStatusButton.cs:
704 Use an animated image, rather than a button *containing* an animated
705 image, for the task status icon (BGO #574298).
707 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
708 * src/Core/Banshee.ThickClient/Makefile.am:
709 Rename TaskStatusButton to TaskStatusIcon.
711 2009-03-05 Bertrand Lorentz <bertrand.lorentz@gmail.com>
713 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Fix
714 parameter order for the SourcePreferences action entry.
716 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
717 Move misplaced SourcePreferences menu item.
719 2009-03-05 Gabriel Burt <gabriel.burt@gmail.com>
721 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/DefaultPreferenceWidgets.cs:
722 * src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs: Move
723 the folder selector into its own section, add a new misc section, and
724 override the label for the new SourcePreferences action. Add the
725 music-library prefs that were defined in PreferenceService.
727 * src/Core/Banshee.Services/Banshee.Preferences/PreferenceService.cs: Name
728 the file-related prefs section File Policies and show the label. Add a
729 source-specific tab and remove music-library prefs. Move Banshee-specific
730 preferences from Page to the PreferenceService. Add ChildPages and
731 IconName properties to Page class, allowing Pages to have child Pages.
733 * src/Core/Banshee.Services/Makefile.am:
734 * src/Core/Banshee.Services/Banshee.Preferences/SourcePage.cs: New
735 convenience subclass of Page that adds a source-specific page.
737 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Add virtual
738 PreferencesPageId property that if !null will mean the
739 SourcePreferencesAction will appear in the source's context menu, and will
740 open the Preferences dialog to the relevant souce-specific section. Add
741 PreferencesPage property that creates a source-specific prefs page for this
742 source, and Dispose it when the source is Removed.
744 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
745 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Add new
746 SourcePreferences action as described elsewhere.
748 * src/Core/Banshee.ThickClient/Makefile.am:
749 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/PageComboBox.cs:
750 New ComboBox subclass to switch a Notebook between Pages, with the ability
751 to set the active source-specific page via its Id.
753 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdService.cs: Pass
754 the appropriate Order to the prefs ctor. Add the new Audio CDs page as a
755 source-specific page so it appears in the Source Specific preferences tab,
756 instead of its own tab.
758 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
759 Override PreferencesPageId and the SourcePreference label.
761 * src/Extensions/Banshee.AudioCd/Resources/GlobalUI.xml: Show the
762 SourcePreferencesAction in the audio cd context menu.
764 * src/Extensions/Banshee.Bpm/Banshee.Bpm/BpmService.cs: Add the BPM pref
765 to the Music source-specific section instead of the Generic tab.
767 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/NotebookPage.cs: If
768 a page has ChildPages, create a PageComboBox and Notebook to
769 contain/switch between them.
771 2009-03-04 Bertrand Lorentz <bertrand.lorentz@gmail.com>
773 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Fix a crash on
774 detection of a Daap server, related to the new source sorting stuff
777 2009-03-04 Aaron Bockover <abock@gnome.org>
779 * configure.ac: Bump to 1.5.0
781 2009-03-04 Bertrand Lorentz <bertrand.lorentz@gmail.com>
783 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Patch
784 from Alexander Kojevnikov that makes the Previous button go to the
785 previous track only if position is less than 4 seconds, otherwise it
786 restarts the current song (BGO #539085).
788 2009-03-04 Gabriel Burt <gabriel.burt@gmail.com>
790 * src/Core/Banshee.Core/Resources/contributors.xml: Add a bunch of people
791 as developers and contributors, most of whom should have been in here for
794 2009-03-04 Gabriel Burt <gabriel.burt@gmail.com>
796 * src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs: Fix
797 mistake in default smart playlist name.
799 2009-03-03 John Millikin <jmillikin@gmail.com>
801 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
802 Only increment the loop counter once when setting compilation
803 properties on tracks from the Audio CD model.
805 2009-03-02 Bertrand Lorentz <bertrand.lorentz@gmail.com>
807 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
808 * src/Extensions/Banshee.Lastfm/Resources/GlobalUI.xml: Patch from
809 Alexander Kojevnikov adding a refresh action in the context menu for
810 Last.fm stations (BGO #536655).
812 2009-03-01 Bertrand Lorentz <bertrand.lorentz@gmail.com>
814 * src/Core/Banshee.Services/Banshee.Playlists.Formats/XspfPlaylistFormat.cs:
815 Do not throw an exception when trying to sniff an invalid file.
817 2009-03-01 Bertrand Lorentz <bertrand.lorentz@gmail.com>
819 Various fixes to the unit tests. There are still a few failures left,
820 but at least they don't seem to be caused by the test system itself.
822 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/Tests/MtpDapTests.cs: Remove
823 a celebratory Console.WriteLine.
825 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Do not
826 crash when there's no entry assembly. This happens when running the unit
829 * src/Libraries/Hyena/Hyena/Tests/TestBase.cs: Add a TestsDir property
830 to help find the test data files.
832 * src/Core/Banshee.Services/Banshee.Playlists.Formats/Tests/PlaylistFormatTests.cs:
833 Use TestsDir and initialize the AddinManager.
835 * src/Core/Banshee.Core/Banshee.Base/Tests/TaglibReadWriteTests.cs: Use
838 * src/Libraries/Mono.Media/Media.Playlists.Xspf/Tests/XspfTests.cs: Fix
839 the path to the test files.
841 * tests/Mono.Media/xspf/complete.xml: Fix typo.
843 * tests/Makefile.am: Add Mono.Media to the list of assemblies to test.
845 2009-02-27 Gabriel Burt <gabriel.burt@gmail.com>
847 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Rename
848 SortTypes to ChildSortTypes.
850 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Add configuration
851 for separate children by type, get rid of "Ascending" in Name sort option,
852 add a TypeName property that defaults to GetType ().Name that is used by
853 the separate-by-type sort option.
855 * src/Core/Banshee.Services/Banshee.Sources/SourceSortType.cs: Add a Sort
856 method that uses an internal IComparer to separate by type if desired,
857 sort by the main function (size, etc), and then fallback to sorting by
860 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Add
861 separate-by-type option.
863 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs: Get
864 rid of 'Station Type' sort option since now redundant.
866 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
867 Override TypeName to replicate old Station Type sort behavior.
869 2009-02-27 Gabriel Burt <gabriel.burt@gmail.com>
871 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
872 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
873 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastActions.cs:
874 Add ellipses to the end of some action labels, and add short labels
875 without them for use in toolbars.
877 2009-02-27 Bertrand Lorentz <bertrand.lorentz@gmail.com>
879 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
880 Patch from Valentin Sawadski removing the Skip button from notifications
881 when playing from a radio station (BGO #572971).
883 2009-02-27 Gabriel Burt <gabriel.burt@gmail.com>
885 Patch from John Millikin, with a few enhancements by me, adding support
886 for sorting sources in real time and saving/restoring the preference for each
887 primary source, in a general way so that sources can add their own sort
888 options (BGO #556976)
890 * src/Core/Banshee.Services/Makefile.am:
891 * src/Core/Banshee.Services/Banshee.Sources/SourceSortType.cs: New class
892 for defining sort types, giving them a name, id, and comparer.
894 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Add new properties
895 for defining how the children of a source can be sorted (if applicable),
896 listening for the Updated event on all child sources and resorting when
897 changed (so if sorted by size and a playlist gets a new item, it will be
898 resorted immediately). Save and restore the sort type configuration.
900 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Override the
901 child sort properties, adding name and size asc/desc options.
903 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Dynamically
904 generate the Sort by menu from the SortTypes a given source has (if any).
905 Allow overriding its label.
907 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CellEditEntry.cs: Fix
908 firing the EditingDone event twice.
910 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Handle
911 resorting a little differently.
913 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
914 * src/Extensions/Banshee.InternetRadio/Resources/GlobalUI.xml:
915 * src/Extensions/Banshee.Podcasting/Resources/GlobalUI.xml:
916 * src/Extensions/Banshee.Lastfm/Resources/GlobalUI.xml: Use the new
917 SortChildrenAction in the context menu for these types.
919 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
920 Instead of using a totally custom menu for sorting Last.fm stations, use
921 the new, generic Source SortTypes method for defining them.
923 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
924 Remove custom sort logic since now handled upstream of us, customize the
925 SortChildrenAction label, pass the typeUniqueId to the base ctor.
927 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
928 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
929 Pass the typeUniqueId to the base ctor so it's set that much earlier.
930 Really should clarify/enforce a sensible API here.
932 2009-02-27 Gabriel Burt <gabriel.burt@gmail.com>
934 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationPane.cs:
935 Patch from Alexander Kojevnikov to ignore/not fetch recommendations for
936 Unknown etc artists (BGO #560722)
938 2009-02-27 Gabriel Burt <gabriel.burt@gmail.com>
940 * src/src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/StatisticsPage.cs:
941 Patch from Alexander Kojevnikov making it so that even if the statistics
942 TreeView is focused you can still use ctrl-pageup/down to switch tabs in
943 the track editor (BGO #565438)
945 2009-02-27 Bertrand Lorentz <bertrand.lorentz@gmail.com>
947 * src/Core/Banshee.Core/Banshee.Base/Tests/TaglibReadWriteTests.cs:
948 Initialize the AddinManager before running tests. Original patch by
949 John Millikin (BGO #568046).
951 * tests/data/test.mp3: Add a sample mp3 file required by the taglib-sharp
954 * tests/Makefile.am: Run nunit-console2 with -noshadow so that tests
955 can find the sample mp3 file.
957 2009-02-26 Eoin Hennessy <eoin@randomrules.org>
959 * src/Libraries/Mono.Media/Media.Playlists.Xspf/Playlist.cs: The current
960 path is not gauranteed to be a valid Uri (especially when running from a
961 bundle on OSX). If creating the default base Uri from the current path
962 fails, set it to Location.
964 2009-02-26 Gabriel Burt <gabriel.burt@gmail.com>
966 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs:
967 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/IListView.cs: Patch from
968 Alexander Kojevnikov moving the focus to the list of songs when
969 jumping (Ctrl-J) to the currently playing song (BGO #558940)
971 2009-02-26 Gabriel Burt <gabriel.burt@gmail.com>
973 * src/Libraries/Hyena/Hyena.Query/ExactStringQueryValue.cs:
974 * src/Libraries/Hyena/Hyena.Query/StringQueryValue.cs: Patch from Andrés
975 G. Aragoneses and John Millikin fixing the wildcard escaping
976 ExactStringQueryValues in LIKE queries (BGO #570312)
978 * src/Libraries/Hyena/Hyena.Query/Tests/QueryTests.cs: New tests Andrés
979 testing the behavior for Exact and non LIKE queries.
981 2009-02-26 Bertrand Lorentz <bertrand.lorentz@gmail.com>
983 * src/Libraries/Hyena/Hyena.Query/AliasedObjectSet.cs: Move the ToLower
984 call added in my previous commit outside of the loop. Let's not waste
987 2009-02-26 Bertrand Lorentz <bertrand.lorentz@gmail.com>
989 * src/Libraries/Hyena/Hyena.Query/AliasedObjectSet.cs: Make search
990 fields not case sensitive, so that "Search by Matching Album" works
991 with german locale (BGO #573268).
993 2009-02-26 Gabriel Burt <gabriel.burt@gmail.com>
995 * src/Core/Banshee.Services/Banshee.Database/SortKeyUpdater.cs: Slightly
998 2009-02-26 Gabriel Burt <gabriel.burt@gmail.com>
1000 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs:
1001 * src/Core/Banshee.Services/Banshee.Playlists.Formats/IPlaylistFormat.cs:
1002 * src/Core/Banshee.Services/Banshee.Playlists.Formats/PlaylistFormatBase.cs:
1003 * src/Core/Banshee.Services/Banshee.Playlists.Formats/PlaylistParser.cs:
1004 * src/Core/Banshee.Services/Banshee.Playlists.Formats/XspfPlaylistFormat.cs:
1005 * src/Core/Banshee.Services/Makefile.am:
1006 * src/Libraries/Mono.Media/Media.Playlists.Xspf/Playlist.cs:
1007 * src/Libraries/Mono.Media/Media.Playlists.Xspf/Track.cs:
1008 Patch from John Millikin adding support for importing and exporting XSPF
1009 playlist files (BGO #389537)
1011 2009-02-26 Gabriel Burt <gabriel.burt@gmail.com>
1013 Massive, awesomely-well-done patch by John Millikin adding proper support
1014 for unicode-compatibile, case-insensitive, current-culture-aware
1015 collation/sorting (BGO #499650)
1017 * src/Core/Banshee.Core/Banshee.Collection/AlbumInfo.cs:
1018 * src/Core/Banshee.Core/Banshee.Collection/ArtistInfo.cs:
1019 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Save
1020 String.Empty as null for *Sort properties.
1022 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
1023 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
1024 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
1025 Add internal *SortKey properties that run their respective *Sort values
1026 through Hyena.StringUtil.SortKey. Change *Lowered properties to internal.
1029 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs:
1030 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs:
1031 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs:
1032 Sort by the new *SortKey columns instead of the *Lowered columns, and use
1033 the custom SQLite collation method (HYENA_COLLATION_KEY) for columns
1034 without cached collation keys.
1036 * src/Core/Banshee.Services/Makefile.am:
1037 * src/Core/Banshee.Services/Banshee.Collection.Database/Tests/DatabaseAlbumInfoTests.cs:
1038 * src/Core/Banshee.Services/Banshee.Collection.Database/Tests/DatabaseArtistInfoTests.cs:
1039 * src/Core/Banshee.Services/Banshee.Collection.Database/Tests/DatabaseTrackInfoTests.cs:
1040 Test the *Lowered, *Sort, and *SortKey properties.
1042 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
1043 * src/Core/Banshee.Services/Banshee.Database/SortKeyUpdater.cs: If the
1044 locale is different than the last run, regenerate the cached SortKey
1047 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
1048 Add *SortKey columns for album/artist/title values. Since these columns
1049 are very commonly sorted on, having the proper collation-key values
1050 already generated gives us a performance win.
1052 * src/Core/Banshee.Services/Banshee.Database/BansheeModelProvider.cs:
1053 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Allow
1054 turning of the table checking (that adds columns automatically).
1056 * src/Core/Banshee.ThickClient/Makefile.am:
1057 * src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml:
1058 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/SortingPage.cs:
1059 Simple new tab in the track editor for modifying the *Sort properties.
1061 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs: Handle
1062 sqlifying byte[] as blobs.
1064 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteUtils.cs: Recognize byte[]
1065 as blobs, and add new HYENA_COLLATION_KEY custom SQLite function that uses
1066 Hyena.StringUtils.SortKey.
1068 * src/Libraries/Hyena/Hyena.Data.Sqlite/Tests/SqliteCommandTests.cs: Test
1069 the sqlifying of various object types.
1071 * src/Libraries/Hyena/Makefile.am:
1072 * src/Libraries/Hyena/Hyena.Data.Sqlite/Tests/SqliteUtilTests.cs: Test the
1073 collation and search custom methods.
1075 * src/Libraries/Hyena/Hyena/StringUtil.cs: Add SortKey method that
1076 generates a case-insensitive, current-culture-aware byte[] collation key.
1078 * src/Libraries/Hyena/Hyena/Tests/StringUtilTests.cs: Test the new SortKey
1081 2009-02-25 Gabriel Burt <gabriel.burt@gmail.com>
1083 * src/Clients/Halie/Halie/Client.cs: Fix bug where the --hide command
1084 would call .Hide () on the window, but then it would get Presented which
1085 Shows it (BGO #540172)
1087 * src/Clients/Muinshee/Muinshee/PlayerInterface.cs:
1088 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
1089 * src/Core/Banshee.ThickClient/Banshee.Gui/BaseClientWindow.cs: Add
1090 protected InitialShowPresent method that subclasses can use when they are
1091 ready to be shown/presented, but that respects the command line options.
1093 2009-02-25 Gabriel Burt <gabriel.burt@gmail.com>
1095 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
1096 * src/Libraries/Hyena/Hyena.Data/ColumnDescription.cs: Fix another freeze
1097 in the RecalculateColumnSize code due to some values getting set to NaN.
1099 2009-02-24 Bertrand Lorentz <bertrand.lorentz@gmail.com>
1101 * src/Libraries/Hyena/Hyena.Query/Tests/QueryTests.cs: Fix a test by
1102 adding the SQL escape clause that is now used.
1104 2009-02-23 Bertrand Lorentz <bertrand.lorentz@gmail.com>
1106 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
1107 Fix a visual glitch when sidebar is very narrow. Patch from Neil Loknath
1108 with code formatting fixes by me (BGO #524705).
1110 2009-02-23 Bertrand Lorentz <bertrand.lorentz@gmail.com>
1112 * src/Core/Banshee.Core/Banshee.Configuration.Schema/LibrarySchema.cs:
1113 * src/Core/Banshee.Core/Banshee.Base/FileNamePattern.cs: Add support
1114 for %album_artist_initial% as a variable for file/folder name patterns.
1115 Initial patch from aquavitae69, improved by Alexander Kojevnikov and me
1118 2009-02-21 Eoin Hennessy <eoin@randomrules.org>
1120 * src/run-banshee: Enable running uninstalled on OSX and make sure that the value
1121 for 'db' is actually used.
1123 * build/osx/build.env: Taglib# is now installed into /share, add it to build env.
1125 2009-02-20 Gabriel Burt <gabriel.burt@gmail.com>
1127 Patch from John Millikin removing some cruft and changing the podcast
1130 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
1131 Store partially downloaded episodes in
1132 ~/.cache/banshee-1/extensions/podcasting/partial-downloads/ instead of
1133 under ~/.config (BGO #569436). Migration path included.
1135 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService_Interface.cs:
1138 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastCore.cs:
1141 2009-02-20 Gabriel Burt <gabriel.burt@gmail.com>
1143 * src/Core/Banshee.Widgets/Banshee.Widgets/Tile.cs:
1144 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationPane.cs:
1145 Patch from Chris Jones fixing theming issue (BGO #558656)
1147 2009-02-20 Bertrand Lorentz <bertrand.lorentz@gmail.com>
1149 * src/Extensions/Banshee.NotificationArea/Notifications/Notification.cs:
1150 Fix compilation of the in-tree notify-sharp.
1152 2009-02-20 Gabriel Burt <gabriel.burt@gmail.com>
1154 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/AlbumArtistEntry.cs:
1155 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/BasicTrackDetailsPage.cs:
1156 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/EditorUtilities.cs:
1157 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/ExtraTrackDetailsPage.cs:
1158 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/FieldPage.cs:
1159 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/PageNavigationEntry.cs:
1160 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/RangeEntry.cs:
1161 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TextViewEntry.cs:
1162 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
1163 * src/Extensions/Banshee.Bpm/Banshee.Bpm/BpmEntry.cs: Patch from Alexander
1164 Kojevnikov adding mnemonics for track editor fields (BGO #563606)
1166 2009-02-19 Eoin Hennessy <eoin@randomrules.org>
1168 * build/osx/targets/bundle-40-managed-libs.targets: Bump taglib# version.
1170 2009-02-19 Gabriel Burt <gabriel.burt@gmail.com>
1172 This patch fixes support for hiding/restoring from the notification icon
1173 properly even if you hid the window via the X/close button, and even if
1174 you're in MiniMode (BGO #437938)
1176 * src/Extensions/Banshee.MiniMode/Banshee.MiniMode/MiniModeWindow.cs:
1177 Subclass from BaseClientWindow so we can set the Minimode window as the
1178 PrimaryWindow when it's enabled.
1180 * src/Extensions/Banshee.MiniMode/Banshee.MiniMode/MiniModeService.cs:
1181 When entering Minimode, initialize the window w/ the current
1182 PrimaryWindow, set it as the new one, and call the new Enable method.
1184 * src/Core/Banshee.ThickClient/Banshee.Gui/PersistentWindowController.cs:
1185 Check that the window is in an ok state before saving or restoring its
1186 size/position. Speed up the save timeout, and grab the size/pos
1187 immediately instead of after the timeout.
1189 2009-02-19 Gabriel Burt <gabriel.burt@gmail.com>
1191 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/NextButton.cs: Patch
1192 from Alexander Kojevnikov setting tooltip (BGO #572336)
1194 2009-02-18 Bertrand Lorentz <bertrand.lorentz@gmail.com>
1196 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/ExtraTrackDetailsPage.cs:
1197 Patch from Alexander Kojevnikov fixing auto-growing of the Comment
1198 text box on the Edit Track dialog (BGO #553581).
1200 2009-02-18 Gabriel Burt <gabriel.burt@gmail.com>
1202 * data/audio-profiles/wavpack.xml.in:
1203 * src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileConfigurationDialog.cs:
1204 Fix localization issues (BNC #449788)
1206 2009-02-18 Bertrand Lorentz <bertrand.lorentz@gmail.com>
1208 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationActions.cs:
1209 Properly set the state of the Show Recommandations check box on startup
1212 2009-02-17 Gabriel Burt <gabriel.burt@gmail.com>
1214 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapContainerSource.cs: Patch
1215 from Alexander Kojevnikov making the Shared Music source remember whether
1216 the user had it expanded or not (BGO #561931)
1218 2009-02-17 Gabriel Burt <gabriel.burt@gmail.com>
1220 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
1221 Patch from Alexander Kojevnikov making the header labels in the track
1222 editor ellipsize (BGO #569442)
1224 2009-02-17 Gabriel Burt <gabriel.burt@gmail.com>
1226 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Patch from
1227 Alexander Kojevnikov making Delete from Disk still default to Cancel but
1228 the Remove actions to OK/Confirm (BGO #569870)
1230 2009-02-17 Gabriel Burt <gabriel.burt@gmail.com>
1232 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs: Use
1233 the SortName information from MusicBrainz, and detect if an album is a
1234 compilation album and set the album and all the tracks appropriate if it
1237 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs: Set the
1238 FileModifiedStamp and LastSyncedStamp when a track is ripped.
1240 2009-02-16 Bertrand Lorentz <bertrand.lorentz@gmail.com>
1242 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GConfConfigurationClient.cs:
1243 Log exceptions raised when reading a GConf key, if they are not a
1246 2009-02-12 Gabriel Burt <gabriel.burt@gmail.com>
1248 * src/Core/Banshee.Core/Banshee.Base/Tests/FileNamePatternTests.cs: Remove
1249 old EscapeFilename test.
1251 2009-02-12 Gabriel Burt <gabriel.burt@gmail.com>
1253 * src/Libraries/Hyena/Hyena/StringUtil.cs: Patch from John Millikin
1254 revamping the illegal_chars array, removing a bunch of chars that should
1255 be fine, and making sure it escapes all chars that are invalid in FAT32,
1256 HFS, and ext3 (BGO #458224). Changes by me to handle null input, and move
1257 the Regex creation to static init instead of lazy load.
1259 * src/Libraries/Hyena/Hyena/Tests/StringUtilTests.cs: Tests for the
1260 revamped EscapeFilename method.
1262 2009-02-11 Gabriel Burt <gabriel.burt@gmail.com>
1264 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/Column.cs:
1265 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Patch from
1266 John Millikin (with some style fixups added in by me) that right-aligns
1267 the header text for right-aligned columns (BGO #560918)
1269 2009-02-10 Gabriel Burt <gabriel.burt@gmail.com>
1271 Patch from Andrés G. Aragoneses fixing bug with string matching functions
1272 that use the SQL 'like' command not escaping % and _ properly.
1274 * DateQueryValue.cs:
1275 * ExactStringQueryValue.cs:
1276 * IntegerQueryValue.cs:
1277 * NullQueryValue.cs:
1278 * RelativeTimeSpanQueryValue.cs:
1279 * TimeSpanQueryValue.cs: Change all to override the ToSql (op) instead of
1282 * QueryField.cs: Call ToSql w/ the op we already have at hand.
1284 * QueryValue.cs: Add new abstract ToSql (op) method and change the ToSql
1285 method to call it with a null op.
1287 * StringQueryValue.cs: Fix bug with not escaping % and _ characters which
1288 are treated specially by SQLite in LIKE expressions (BGO #570312)
1290 2009-02-10 Gabriel Burt <gabriel.burt@gmail.com>
1292 * build/m4/banshee/taglib.m4: Bump requirement to 2.0.3.2 (taglib-sharp
1295 2009-02-10 Gabriel Burt <gabriel.burt@gmail.com>
1297 Patch from John Millikin adding support for full/proper case-insensitive
1298 unicode search, and additional support for fuzzy searching where n matches
1299 ñ etc - NonSpacingMarks are stripped from a-z chars (BGO #528498)
1301 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
1302 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
1303 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
1304 Instead of calling ToLower on *Lowered properties, use the new
1305 Hyena.StringUtil.SearchKey that also strips accents from Latin chars.
1307 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
1308 Update the existing *Lowered values by using the new HYENA_SEARCH_KEY
1309 custom Sqlite method that just calls SearchKey.
1311 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Mark MimeType,
1312 License, and Location as ExactStringQueryValue fields (as opposed to the
1313 new default which strips accents and lowercases).
1315 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteUtils.cs: New custom
1316 HYENA_SEARCH_KEY sqlite method.
1318 * src/Libraries/Hyena/Hyena.Query/QueryField.cs: Get rid of the old/hacky
1319 Sqlite-LOWER workaround, replacing it with the custom HYENA_SEARCH_KEY
1320 method where appropriate.
1322 * src/Libraries/Hyena/Hyena.Query/StringQueryValue.cs: In ToSql return the
1323 value passed through SearchKey.
1325 * src/Libraries/Hyena/Hyena.Query/Tests/QueryTests.cs: Test the new fuzzy
1326 and exact string matching.
1328 * src/Libraries/Hyena/Makefile.am:
1329 * src/Libraries/Hyena/Hyena/StringUtil.cs: New SearchKey method that
1330 lowercases and strips accents of a-z chars.
1332 * src/Libraries/Hyena/Hyena/Tests/StringUtilTests.cs: Test the SearchKey
1335 * src/Libraries/Hyena/Hyena.Query/ExactStringQueryValue.cs: New
1336 StringQueryValue subclass that doesn't pass the value through SearchKey.
1338 2009-02-10 Gabriel Burt <gabriel.burt@gmail.com>
1340 Patch from John Millikin adding support for sort values for artist, album,
1341 title, and album artist. They are read in and written out using TagLib#,
1342 but are not yet editable in the track editor. Actually, they are not yet
1343 used for sorting either, that will come in a subsequent patch.
1345 * src/Core/Banshee.Core/Banshee.Collection/AlbumInfo.cs:
1346 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs:
1347 * src/Core/Banshee.Core/Banshee.Collection/ArtistInfo.cs:
1348 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
1349 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
1350 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
1351 Add *Sort properties.
1353 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
1354 Add columns for new *Sort properties, and trigger a metadata refresh to
1355 read them in from the files in the library.
1357 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs:
1359 * src/Core/Banshee.Core/Banshee.Streaming/SaveTrackMetadataJob.cs:
1360 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs:
1361 * src/Core/Banshee.Core/Banshee.Streaming/CommonTags.cs: Handle reading
1362 and writing the *Sort values from/to files.
1364 2009-02-10 Gabriel Burt <gabriel.burt@gmail.com>
1366 Patch from John Millikin fixing issue with downloading some podcasts.
1368 * Core/Banshee.Core/Banshee.Base/FileNamePattern.cs:
1369 * Libraries/Hyena/Hyena/StringUtil.cs: Move Escape method to Hyena so
1370 reusable in Migo, and mark the Regex it uses as Compiled.
1372 * Libraries/Migo/Migo.DownloadCore/DownloadManager.cs:
1373 * Libraries/Migo/Migo.Syndication/Feed.cs: Use Hyena's new EscapeFilename
1374 method to fix bug with downloading podcasts with special characters in
1375 their title (BGO #567293).
1377 2009-02-10 Gabriel Burt <gabriel.burt@gmail.com>
1379 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/StatisticsPage.cs:
1380 Patch from John Millikin setting the values of the stats tab as not
1381 editable (BGO #562792)
1383 2009-02-10 Gabriel Burt <gabriel.burt@gmail.com>
1385 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: In the status bar
1386 use ndashes instead of ", " to separate the elements (BGO #551650)
1388 2009-02-10 Gabriel Burt <gabriel.burt@gmail.com>
1390 * src/Libraries/Mtp/Mtp/MtpDevice.cs:
1391 * src/Libraries/Mtp/Mtp/Track.cs: Modified patch from William Pettersson
1392 fixing NRE with transferring song to MTP devices (BGO #571023)
1394 2009-02-10 Gabriel Burt <gabriel.burt@gmail.com>
1396 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Patch from William
1397 Pettersson catching exceptions thrown when trying to get the battery level
1400 2009-02-10 Cody Russell <bratsche@gnome.org>
1402 * src/Extensions/Banshee.NotificationArea/Notifications/Notification.cs:
1403 When adding a new action, first check that the notification daemon supports
1404 actions. (BGO #571177)
1406 2009-02-09 Gabriel Burt <gabriel.burt@gmail.com>
1408 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
1409 Remove illogical setting of IsImporting.
1411 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
1412 * src/Extensions/Banshee.Lastfm/Resources/ActiveSourceUI.xml:
1413 * src/Extensions/Banshee.InternetRadio/Resources/ActiveSourceUI.xml:
1414 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
1415 Set source actions to propagate to child playlists, and show Add Station
1416 action in the Media menu when selected (BGO #539019)
1418 * src/Extensions/Banshee.Podcasting/Resources/ActiveSourceUI.xml:
1419 * src/Extensions/Banshee.Podcasting/Resources/GlobalUI.xml: Only show
1420 Subscribe to Podcast action when the Podcasts source (or a child) is
1423 2009-02-09 Gabriel Burt <gabriel.burt@gmail.com>
1425 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
1426 Check for a very small change in the remaining width in the column size
1427 calculation to avoid an infinite loop.
1429 2009-02-08 Bertrand Lorentz <bertrand.lorentz@gmail.com>
1431 * src/Libraries/Migo/Migo.Syndication/Rfc822DateTime.cs: patch from
1432 Christian Krause fixing the timezone handling (BGO #570721).
1434 * src/Libraries/Migo/Migo.Syndication/Tests/XmlTests.cs: Update the
1435 tests for the above fix.
1437 2009-02-08 Bertrand Lorentz <bertrand.lorentz@gmail.com>
1439 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Patch from
1440 John Millikin fixing the export of a playlist that was never browsed
1443 2009-02-05 Gabriel Burt <gabriel.burt@gmail.com>
1445 * configure.ac: Require Mono 1.9.1 - C# 3.0 here we come!
1447 2009-02-04 Gabriel Burt <gabriel.burt@gmail.com>
1449 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs:
1450 * src/Core/Banshee.Core/Banshee.Collection/ITrackInfo.cs:
1451 * src/Core/Banshee.Core/Banshee.Configuration.Schema/LibrarySchema.cs:
1452 * src/Core/Banshee.Core/Banshee.Base/FileNamePattern.cs: Patch from John
1453 Millikin adding support for %album_artist% as a variable for file/folder
1454 name patterns. This also changes the existing pattern code to treat
1455 %artist% as album_artist, so that compilation albums will be stored in a
1456 single directory now (BGO #570298)
1458 2009-02-03 Gabriel Burt <gabriel.burt@gmail.com>
1460 * src/Libraries/Makefile.am:
1461 * src/Libraries/Mono.Data.Sqlite/Makefile.am:
1462 * src/Libraries/Mono.Data.Sqlite/Mono.Data.Sqlite/*: Add copy of
1463 Mono.Data.Sqlite from Mono svn (revision 120995), with a patch from John
1464 Millikin that fixes its support for custom functions.
1466 * src/Libraries/Mono.Data.Sqlite/bug-470042_mds-custom-functions_v2.patch:
1467 John's patch as applied to the M.D.S source.
1469 * build/build.environment.mk:
1470 * build/pkg-config/banshee-1-hyena.pc.in:
1472 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteArrayDataReader.cs:
1473 Adjust to build/work with the bundled Mono.Data.Sqlite
1475 2009-02-03 Bertrand Lorentz <bertrand.lorentz@gmail.com>
1477 * configure.ac: Patch from Diego E. Pettenò removing the call to
1478 AC_CANONICAL_SYSTEM (BGO #566460).
1480 2009-02-03 Gabriel Burt <gabriel.burt@gmail.com>
1482 This patch fixes issues with adding tracks to a MTP device, the symptoms
1483 of which are Banshee freezing and files not getting added (BGO #567093)
1485 * Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Do a better job of
1486 locking various MTP functions.
1488 * Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpTrackInfo.cs: Fix bug where we
1489 set the filesize of the Mtp.Track to the TrackInfo's FileSize, when it
1490 should be set to the file size of the passed in track URI (which might be
1491 different than track.Uri if it was transcoded).
1493 * Libraries/Mtp/Mtp/Error.cs: Style fix.
1495 * Libraries/Mtp/Mtp/Track.cs: Treat any m4* extension as mp4.
1497 2009-02-03 Bertrand Lorentz <bertrand.lorentz@gmail.com>
1499 * src/Core/Banshee.ThickClient/Banshee.Playlist.Gui/PlaylistExportDialog.cs:
1500 Patch from John Millikin to escape the suggested filename when exporting
1501 a playlist (BGO #457390).
1503 2009-02-03 Gabriel Burt <gabriel.burt@gmail.com>
1505 * src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs:
1506 * src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs: Patch from Andrés G.
1507 Aragoneses, moving the removal of DAP playlists from being called on each
1508 LibrarySync (eg once for Music, Video, etc) to the overall DapSync, fixing
1509 bug where playlists didn't sync to DAPs because they were deleted when the
1510 PodcastSource synced (BGO #560970)
1512 2009-02-03 Gabriel Burt <gabriel.burt@gmail.com>
1514 * libbanshee/banshee-player.c:
1515 * src/Core/Banshee.Widgets/Banshee.Widgets/SeekSlider.cs: Slightly
1516 modified patch from Moritz Schallaböck that makes CanSeek always false if
1517 the duration is zero, and that imroves the seek slider by letting you
1518 scroll-wheel over it or left-click to jump (BGO #565795)
1520 2009-02-02 Bertrand Lorentz <bertrand.lorentz@gmail.com>
1522 * src/Libraries/Lastfm/Lastfm.Data/DataEntry.cs: Patch from John Millikin
1523 to unescape URLs returned by Last.fm (BGO #563076).
1525 2009-02-02 Gabriel Burt <gabriel.burt@gmail.com>
1527 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
1528 Fix bug I just introduced to TogglePlaying where if Paused we wouldn't
1529 start playing again when called (BGO #570051).
1531 2009-02-02 Gabriel Burt <gabriel.burt@gmail.com>
1533 * src/Core/Banshee.Services/Banshee.ServiceStack/DbIteratorJob.cs: Fix
1536 2009-02-02 Gabriel Burt <gabriel.burt@gmail.com>
1538 * src/Extensions/Banshee.Bpm/Banshee.Bpm/BpmDetectJob.cs: Subclass from
1539 DbIteratorJob, making this class quite simple, and fixing a bug with
1540 getting stuck in an infinite loop processing a given item.
1542 * src/Extensions/Banshee.Bpm/Banshee.Bpm/BpmService.cs: Use new RunAsync
1543 method instead of Start.
1545 2009-02-02 Gabriel Burt <gabriel.burt@gmail.com>
1547 * src/Core/Banshee.Services/Makefile.am:
1548 * src/Core/Banshee.Services/Banshee.ServiceStack/DbIteratorJob.cs: New
1549 subclass of UserJob for use by tasks that need to process N items from the
1550 database one at a time; eg BPM detection, cover art download, etc.
1552 2009-02-02 Gabriel Burt <gabriel.burt@gmail.com>
1554 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TaskStatusButton.cs:
1555 Show only background UserJobs in the task status button.
1557 2009-01-31 Bertrand Lorentz <bertrand.lorentz@gmail.com>
1559 * src/Extensions/Banshee.Bookmarks/Banshee.Bookmarks/BookmarksService.cs:
1560 Explicitly convert integers coming from the DB, as Mono.Data.Sqlite
1561 returns them as Int64 (BGO #569966).
1563 2009-01-30 Gabriel Burt <gabriel.burt@gmail.com>
1565 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Show the
1566 pause/stop button when Loading/Loaded.
1568 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs:
1569 Handle Loading player state, set Live property on the position label, and
1570 use the position label's enum state property instead of a handful of bools
1572 * src/Core/Banshee.Services/Banshee.Streaming/RadioTrackInfo.cs: Start
1573 playing internet radio playlists in a separate thread to avoid blocking
1574 the UI (BGO #548040, BNC #376532). Handle the case where the user
1575 presses stop or switches to a different track while we're
1576 downloading/processing the playlist file (previously we would have started
1577 playing once ready, even if the user had already moved on). Also, fix
1578 bug where errors reported by the MediaEngine (GStreamer) weren't shown to
1581 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngine.cs: If the
1582 engine is in PlayerState.Contacting, don't Close/stop since this is a
1583 state we set in managed land for loading internet radio tracks.
1585 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
1586 Add Start/EndSynthesizeContacting internal methods for use by
1587 RadioTrackInfo - basically a hack until we move the playlist loading logic
1588 from RadioTrackInfo to the PlayerENgine to get UI bits updated
1589 appropriately. Fix IsPlaying to include Contacting/Loading/Loaded, so
1590 that TogglePlaying will Pause if in any of those states (not just if in
1591 the Playing state), and Play only when in Ready, Idle, or Paused.
1593 * src/Core/Banshee.Widgets/Banshee.Widgets/StreamPositionLabel.cs: Use an
1594 enum to track the player state instead of a handful of bools. Show the
1595 "Contacting..." label when inthe Loading state (for now - will change to
1596 Loading... in a separate patch).
1598 * src/Core/Banshee.Widgets/Banshee.Widgets/SeekSlider.cs: If the new Value
1599 is more than the Duration, set the Duration to MaxValue so that the slider
1600 stays at the left side of the Range, avoiding the glitchy-looking UI going
1601 from Idle (where the slider is all the way left) to playing radio (where
1602 it was all the way right).
1604 2009-01-29 Gabriel Burt <gabriel.burt@gmail.com>
1606 * src/Libraries/Mtp/Mtp/File.cs:
1607 * src/Libraries/Mtp/Mtp/Playlist.cs:
1608 * src/Libraries/Mtp/Mtp/Track.cs: Fix up the libmtp8 support which was
1609 crashing on loading MTP devices due to playlists (BGO #542117, BNC #470722)
1611 2009-01-29 Gabriel Burt <gabriel.burt@gmail.com>
1613 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Dialog/PodcastFeedPropertiesDialog.cs:
1614 Add ability to edit podcasts' names in their properties dialog
1616 2009-01-29 Gabriel Burt <gabriel.burt@gmail.com>
1618 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Patch from
1619 Christoph Burgdorf making it so you have to actually click on the status
1620 bar text to change it - clicking on the bar but not on the text no longer
1621 changes it (BGO #568891)
1623 2009-01-27 Gabriel Burt <gabriel.burt@gmail.com>
1625 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
1626 Set CanDeleteTracks to false until we actually implement DeleteTrack.
1628 2009-01-27 Gabriel Burt <gabriel.burt@gmail.com>
1630 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
1631 Fix crash on delete from FSQ (BNC #467377)
1633 2009-01-27 Gabriel Burt <gabriel.burt@gmail.com>
1635 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteArrayDataReader.cs:
1636 Convert ArrayList to List<T>.
1638 2009-01-27 Gabriel Burt <gabriel.burt@gmail.com>
1640 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
1641 * src/Core/Banshee.Services/Banshee.Services.csproj:
1642 * src/Core/Banshee.Services/Banshee.Database/QueuedSqliteDatabase.cs:
1643 * src/Libraries/Hyena/Makefile.am:
1644 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteUtils.cs:
1645 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteArrayDataReader.cs:
1646 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs:
1647 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs:
1648 * docs/Hyena/en/Hyena.Data.Sqlite/ExecutingEventArgs.xml:
1649 * build/pkg-config/banshee-1-hyena.pc.in:
1650 * build/build.environment.mk:
1651 * configure.ac: Patch from John Millikin transitioning us from
1652 Mono.Data.SqliteClient to Mono.Data.Sqlite (BGO #568787). He solved the
1653 threading issue I found when I tried about a year ago; SqliteClient read
1654 the entire result into an array before handing it back, so we just do that
1655 with the M.D.Sqlite results. This should be all we need to start using
1656 prepared SQL statements and custom extension functions in Sqlite.
1658 2009-01-27 Gabriel Burt <gabriel.burt@gmail.com>
1661 * src/Extensions/Banshee.Bpm/Banshee.Bpm.csproj:
1662 * src/Extensions/Banshee.Bpm/Makefile.am: Add Banshee.Bpm properly
1665 2009-01-27 Gabriel Burt <gabriel.burt@gmail.com>
1667 * src/Extensions/Banshee.Bpm/Banshee.Bpm.addin.xml: Put the track editor
1668 modifier in a <Module> and specify that it depends on Banshee.ThickClient.
1670 2009-01-27 Gabriel Burt <gabriel.burt@gmail.com>
1672 * .gitignore: Add *.userprefs
1674 2009-01-27 Gabriel Burt <gabriel.burt@gmail.com>
1676 * configure.ac: Check for .git in addition to .svn to determine whether to
1677 set release variable.
1679 2009-01-27 Gabriel Burt <gabriel.burt@gmail.com>
1681 * libbanshee/Makefile.am:
1682 * libbanshee/libbanshee.cproj:
1683 * src/Backends/Banshee.GStreamer/Banshee.GStreamer.csproj:
1684 * src/Core/Banshee.Services/Banshee.Services.csproj:
1685 * src/Core/Banshee.ThickClient/Banshee.ThickClient.csproj:
1686 * src/Core/Banshee.ThickClient/Makefile.am:
1687 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd.csproj:
1688 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.csproj: Sync with
1691 2009-01-26 Gabriel Burt <gabriel.burt@gmail.com>
1693 * src/Core/Banshee.CollectionIndexer/Banshee.Collection.Indexer.RemoteHelper/IndexerClient.cs:
1694 Fix bug with getting into a loop, constantly trying to reconnect to an
1695 indexer while in the middle of connecting to it.
1697 2009-01-25 Gabriel Burt <gabriel.burt@gmail.com>
1699 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Fix a
1702 2009-01-25 Gabriel Burt <gabriel.burt@gmail.com>
1704 * Core/Banshee.ThickClient/Makefile.am:
1705 * Core/Banshee.ThickClient/Banshee.Gui.Widgets/TaskStatusButton.cs: New
1706 button that is insensitive if there are no background UserJobs registered,
1707 and that animates slowly and lists them in a tooltip when there are.
1709 * Clients/Nereid/Nereid/PlayerInterface.cs:
1710 * Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Add
1711 a TaskStatusButton to the the bottom left corner, in the status bar.
1713 * Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs: Set
1714 IsBackground = true.
1716 * Extensions/Banshee.Bpm/Banshee.Bpm/BpmEntry.cs: Remove using Mono.Addins
1718 2009-01-25 Gabriel Burt <gabriel.burt@gmail.com>
1720 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
1721 Fix issue with album art and the album/artist/title overlapping in the
1722 TrackEditor for tracks w/ long album names.
1724 2009-01-25 Gabriel Burt <gabriel.burt@gmail.com>
1726 * Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs:
1727 * Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
1728 * Core/Banshee.Services/Banshee.Collection/FilterListModel.cs:
1729 * Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
1730 * Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
1731 * Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs:
1732 * Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs:
1733 * Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs:
1734 * Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Fix the
1735 Begin/Commit/RollbackTransaction methods in HyenaSqliteConnection. Use
1736 transactions when importing media, loading DAAP shares, and reloading
1739 2009-01-25 Gabriel Burt <gabriel.burt@gmail.com>
1741 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
1742 Don't do any checks about whether the user is a subscriber or not before
1743 adding a station to their list. If they try to access a list they're not
1744 authorized to, they'll get that message, and we avoid false negatives.
1746 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs: Add
1747 another default station for songs tagged 'Creative Commons'
1749 2009-01-25 Gabriel Burt <gabriel.burt@gmail.com>
1751 * src/Extensions/Banshee.Podcasting/Makefile.am:
1752 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastEpisodePage.cs:
1753 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.addin.xml: Add new
1754 information tab to the track editor/properties, only shown for podcast
1755 episodes, that shows the description, author, published date, etc.
1757 2009-01-25 Gabriel Burt <gabriel.burt@gmail.com>
1759 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastActions.cs:
1760 Make unsubscribe, download episodes, and refresh options work even if
1761 multiple podcasts (feeds) selected
1763 2009-01-25 Gabriel Burt <gabriel.burt@gmail.com>
1765 * libbanshee/Makefile.am:
1766 * libbanshee/banshee-bpmdetector.c:
1767 * build/build.environment.mk:
1769 * src/Extensions/Banshee.Bpm/Banshee.Bpm.addin.xml:
1770 * src/Extensions/Banshee.Bpm/Banshee.Bpm.csproj:
1771 * src/Extensions/Banshee.Bpm/Banshee.Bpm/BpmDetectJob.cs:
1772 * src/Extensions/Banshee.Bpm/Banshee.Bpm/BpmEntry.cs:
1773 * src/Extensions/Banshee.Bpm/Banshee.Bpm/BpmService.cs:
1774 * src/Extensions/Banshee.Bpm/Banshee.Bpm/BpmTapAdapter.cs:
1775 * src/Extensions/Banshee.Bpm/Banshee.Bpm/BpmTrackEditorModifier.cs:
1776 * src/Extensions/Banshee.Bpm/Makefile.am:
1777 * src/Extensions/Makefile.am: New extension that adds a preference (disabled
1778 by default) to automatically detect the BPM for all songs, and modified
1779 the track editor dialog's BPM entry, adding a button to auto detect the
1780 BPM, a button to play the song being edited, and a button to tap out the
1781 BPM manually. This feature uses the GStreamer bpmdetect element.
1783 * src/Backends/Banshee.GStreamer/Banshee.GStreamer.addin.xml:
1784 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/BpmDetector.cs:
1785 * src/Backends/Banshee.GStreamer/Makefile.am:
1786 * src/Core/Banshee.Services/Makefile.am:
1787 * src/Core/Banshee.Services/Banshee.Services.addin.xml:
1788 * src/Core/Banshee.Services/Banshee.MediaEngine/IBpmDetector.cs: Support
1789 for various backends to provide bpm detection.
1791 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs:
1792 * src/Core/Banshee.Services/Banshee.ServiceStack/IUserJob.cs:
1793 * src/Core/Banshee.Services/Banshee.ServiceStack/UserJob.cs: Add
1794 IsBackground property, and if set, don't show such jobs as normal job
1797 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/FieldPage.cs:
1798 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/ITrackEditorModifier.cs:
1799 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
1800 * src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml:
1801 * src/Core/Banshee.ThickClient/Makefile.am: Make the track editor more
1802 extensible and modifiable, including the ability to remove fields.
1804 2009-01-25 Gabriel Burt <gabriel.burt@gmail.com>
1805 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellCreativeCommons.cs:
1806 Double using, broke the build.
1808 2009-01-25 Gabriel Burt <gabriel.burt@gmail.com>
1810 * Banshee.Services/Banshee.Query/BansheeQuery.cs:
1811 * Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
1812 Add LicenseUri as a search and smart playlist field and as a column.
1814 * Banshee.ThickClient/Makefile.am:
1815 * Banshee.ThickClient/ThemeIcons/16x16/emblems/creative-commons-by.png:
1816 * Banshee.ThickClient/ThemeIcons/16x16/emblems/creative-commons-nc.png:
1817 * Banshee.ThickClient/ThemeIcons/16x16/emblems/creative-commons-nd.png:
1818 * Banshee.ThickClient/ThemeIcons/16x16/emblems/creative-commons-pd.png:
1819 * Banshee.ThickClient/ThemeIcons/16x16/emblems/creative-commons-sa.png:
1820 * Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellCreativeCommons.cs:
1821 New cell that detects Creative Commons licenses in the LicenseUri field
1822 and render them as images.
1824 2009-01-25 Gabriel Burt <gabriel.burt@gmail.com>
1826 * src/Libraries/Hyena.Gui/Hyena.Widgets/SmoothScrolledWindow.cs: Improve
1827 the smooth scrolling by stopping in a nearly constant amount of
1828 time, and avoiding several small (1px) movements at the end of slowing
1829 down by making the minimum velocity 2px per cycle
1831 2009-01-25 Gabriel Burt <gabriel.burt@gmail.com>
1833 * .gitignore: New file, for those using git-svn at home and to prepare for
1834 GNOME's git migration.
1836 2009-01-25 Gabriel Burt <gabriel.burt@gmail.com>
1838 * src/Extensions/Banshee.Daap/Daap/Client.cs:
1839 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapProxyWebServer.cs:
1840 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs:
1841 * src/Core/Banshee.Services/Banshee.Base/ThreadAssist.cs:
1842 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
1843 * src/Core/Banshee.Core/Banshee.Kernel/Scheduler.cs:
1844 * src/Libraries/Migo/Migo.TaskCore/TaskGroup.cs: Name threads so
1845 kill -s QUIT thread dumps are easier to grok.
1847 2009-01-25 Bertrand Lorentz <bertrand.lorentz@gmail.com>
1849 * src/Backends/Banshee.NowPlaying.X11/libbnpx11/bacon-resize.h: Patch
1850 from Przemysław Grzegorczyk to clean up gtk includes to use only toplevel
1851 headers (BGO #565027).
1853 2009-01-25 Gabriel Burt <gabriel.burt@gmail.com>
1855 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/OverlayWindow.cs:
1856 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapPropertiesDialog.cs:
1857 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/BansheeDialog.cs:
1858 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CellEditEntry.cs:
1859 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs:
1860 * src/Core/Banshee.Services/Banshee.Hardware/IVolume.cs:
1861 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs:
1862 * src/Backends/Banshee.Hal/Banshee.HalBackend/CdromDevice.cs:
1863 * src/Backends/Banshee.Hal/Banshee.HalBackend/UsbDevice.cs:
1864 * src/Backends/Banshee.Hal/Banshee.HalBackend/DiskDevice.cs:
1865 * src/Libraries/Hyena/Hyena/Log.cs:
1866 * src/Libraries/Hyena.Gui/Hyena.Widgets/SegmentedBar.cs: Fix compilation
1867 issues when building with Mono 2.2
1869 2009-01-25 Gabriel Burt <gabriel.burt@gmail.com>
1871 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs:
1872 Enable smooth (kinetic) scrolling of track/artist/album etc lists (all but
1873 source list) by default. Can be disabled by passing --no-smooth-scroll.
1874 Please test and give feedback. (BGO #461393)
1876 2009-01-25 Bertrand Lorentz <bertrand.lorentz@gmail.com>
1878 * libbanshee/banshee-player-video.c: Move a typedef so that it builds
1881 2009-01-24 Aaron Bockover <abock@gnome.org>
1883 * src/Extensions/Banshee.NowPlaying.Clutter/Clutter/Actor.cs:
1884 * src/Extensions/Banshee.NowPlaying.Clutter/Banshee.NowPlaying.Clutter/NowPlayingInterface.cs:
1885 More stuff just for fun
1887 2009-01-24 Aaron Bockover <abock@gnome.org>
1889 * src/Extensions/Banshee.NowPlaying.Clutter/Clutter/Actor.cs: Added
1890 RotationX, RotationY, RotationZ properties just for fun
1892 * src/Extensions/Banshee.NowPlaying.Clutter/Banshee.NowPlaying.Clutter/NowPlayingInterface.cs:
1893 Add sliders to change rotation angles, because it is fun
1895 2009-01-24 Aaron Bockover <abock@gnome.org>
1897 Second pass, working video display and sizing, not hacky at all, just
1898 pure awesome on the way. Super high performance video.
1900 * src/Extensions/Banshee.NowPlaying.Clutter/Banshee.NowPlaying.Clutter/NowPlayingSource.cs:
1901 Bare source for the new clutter now playing extension
1903 * src/Extensions/Banshee.NowPlaying.Clutter/Banshee.NowPlaying.Clutter/NowPlayingInterface.cs:
1904 Basic clutter UI for rendering the video texture from the clutter sink
1905 in the media pipeline; simple embed + stage + texture and size/position
1908 * src/Extensions/Banshee.NowPlaying.Clutter/Clutter/Group.cs:
1909 * src/Extensions/Banshee.NowPlaying.Clutter/Clutter/Color.cs:
1910 * src/Extensions/Banshee.NowPlaying.Clutter/Clutter/Texture.cs:
1911 * src/Extensions/Banshee.NowPlaying.Clutter/Clutter/Stage.cs:
1912 * src/Extensions/Banshee.NowPlaying.Clutter/Clutter/Actor.cs:
1913 * src/Extensions/Banshee.NowPlaying.Clutter/Clutter.Gtk/Embed.cs:
1914 Very basic and simple Clutter bindings; just enough for what I need now.
1915 These will go away as I work on clutter-sharp and make it a dependency
1916 later. I just wanted to get off the ground quickly.
1918 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingContents.cs:
1919 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
1920 Move the VideoDisplayContextType detection to the source, throw if it is
1921 not valid so the source does not appear
1923 * libbanshee/banshee-player-vis.c: Fix a double-free bug
1925 2009-01-24 Aaron Bockover <abock@gnome.org>
1927 First hacky pass at Clutter integration; nothing to see, and I probably
1928 broke some things. trunk is going to be sketchy for a bit...
1930 * src/Core/Banshee.Services/Banshee.MediaEngine/VideoDisplayContextType.cs:
1931 Enum of context types pipelines might support for video (e.g. xoverlay,
1932 clutter, cairo, etc.)
1934 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs:
1935 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingContents.cs:
1936 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/IVideoDisplay.cs:
1937 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/XOverlayVideoDisplay.cs:
1938 Updated to support the video context API changes in the player engine
1940 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs: Temporary
1941 clutter initialization, to be moved into the clutter extension
1943 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
1944 Fix a small string.format bug
1946 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngine.cs:
1947 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
1948 Instead of a simple SupportsVideo bool, replace with
1949 VideoDisplayContextType, and change the VideoWindow property to
1950 VideoDisplayContext with both a getter and setter, the meaning of which
1951 depends on VideoDisplayContextType
1953 * src/Core/Banshee.Services/Banshee.MediaEngine/NullPlayerEngine.cs:
1954 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
1955 Implement changes to API above
1957 * libbanshee/banshee-player-video.c: Implement inital clutter support,
1958 and the backend implementation for the new video context API above,
1959 providing both xoverlay (GDK) and clutter contexts
1961 * libbanshee/clutter-gst-shaders.h:
1962 * libbanshee/clutter-gst-video-sink.h:
1963 * libbanshee/clutter-gst-video-sink.c: Clutter GStreamer integration
1964 from the clutter-gst package; currently I don't want to take the dep
1965 as changes might need to be made
1967 * libbanshee/banshee-player-private.h: Add the clutter texture if we
1968 are building with clutter support
1970 * build/m4/banshee/libbanshee.m4: Check for clutter (optional)
1972 * configure.ac: Clean up the configure summary, make it nicer and more
1975 * build/m4/banshee/dap-karma.m4: Small fix
1977 2009-01-23 Gabriel Burt <gabriel.burt@gmail.com>
1979 * src/Extensions/Makefile.am:
1980 * src/Extensions/Banshee.PlayerMigration/Banshee.PlayerMigration.addin.xml:
1981 * src/Extensions/Banshee.PlayerMigration/Makefile.am:
1982 * src/Core/Banshee.Services/Banshee.Services.addin.xml:
1983 * src/Core/Banshee.Services/Banshee.Library/ImportSourceManager.cs:
1984 * src/Core/Banshee.Services/Makefile.am:
1985 * src/Core/Banshee.Services/Banshee.PlayerMigration/RhythmboxPlayerImportSource.cs:
1986 * src/Core/Banshee.Services/Banshee.PlayerMigration/AmarokPlayerImportSource.cs:
1987 * build/build.environment.mk:
1988 * configure.ac: Move the Rhythmbox and Amarok migrators into a non-Core
1989 extension, enabled by default of course.
1991 2009-01-23 Gabriel Burt <gabriel.burt@gmail.com>
1993 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
1994 Move UpdateProgress out of ImportTrack method to avoid triggering the
1995 Scanning.. user job when we're directly importing.
1997 * src/Core/Banshee.Services/Banshee.Services.addin.xml:
1998 * src/Core/Banshee.Services/Banshee.Library/ImportSourceManager.cs:
1999 * src/Core/Banshee.Services/Makefile.am:
2000 * src/Core/Banshee.Services/Banshee.PlayerMigration/RhythmboxPlayerImportSource.cs:
2001 * src/Core/Banshee.Services/Banshee.PlayerMigration/AmarokPlayerImportSource.cs:
2002 Patch from Paul Lange adding back Rhythmbox import support, and making the
2003 migrators into extensions (though still in Core/) fixes (BGO #554511)
2005 2009-01-23 Gabriel Burt <gabriel.burt@gmail.com>
2007 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Patch from Félix Velasco
2008 removing unnecessary lock that was causing some hangs (BGO #559479)
2010 2009-01-23 Gabriel Burt <gabriel.burt@gmail.com>
2012 * src/Libraries/Migo/Migo.Syndication/FeedUpdateTask.cs: Fix bug with
2013 IfModifiedSince header that prevented subscribing to some feeds.
2015 2009-01-23 Aaron Bockover <abock@gnome.org>
2017 * data/desktop-files/update-desktop-file.sh:
2018 * data/desktop-files/banshee-1-audiocd.desktop.in.in:
2019 * data/desktop-files/banshee-1-media-player.desktop.in.in: Ensure the
2020 MimeType field in the desktop files has a trailing ; which is apperently
2021 required by the spec, or at least RPMLINT seems to think so
2023 2009-01-21 Bertrand Lorentz <bertrand.lorentz@gmail.com>
2025 * src/Clients/Muinshee/Muinshee/BaseDialog.cs: Patch from Wouter Bolsterlee
2026 to improve the labels on two buttons (BGO #557866).
2028 2009-01-21 Bertrand Lorentz <bertrand.lorentz@gmail.com>
2030 * src/Clients/Booter/Booter/Entry.cs: Patch from Daniel Siegel to add
2031 an option missing from the help output (BGO #554713).
2033 2009-01-21 Bertrand Lorentz <bertrand.lorentz@gmail.com>
2035 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs:
2036 Change the count query to avoid an infinite loop (BGO #548131).
2038 2009-01-21 Bertrand Lorentz <bertrand.lorentz@gmail.com>
2040 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
2041 Patch from David Spreen making sure podcasts are copied to the Podcasts
2042 folder on mass-storage devices. Otherwise they are indistinguishable
2043 from Music (BGO #561786).
2045 2009-01-21 Bertrand Lorentz <bertrand.lorentz@gmail.com>
2047 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageDevice.cs:
2048 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
2049 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Make sure that folder depth
2050 defaults to -1 if it's not set, and transfer cover art to the DAP in this
2053 2009-01-21 Bertrand Lorentz <bertrand.lorentz@gmail.com>
2055 * src/Libraries/Hyena/Hyena/StringUtil.cs: Make a regex a static field,
2056 for a small performance improvement (BGO #560234).
2058 2009-01-21 Bertrand Lorentz <bertrand.lorentz@gmail.com>
2060 * docs/monodoc.mk: Fix parallel build for docs (BGO #559917).
2062 2009-01-21 Bertrand Lorentz <bertrand.lorentz@gmail.com>
2064 * build/icon-theme-installer: Also update the icon cache during
2065 "make uninstall" (BGO #561461).
2067 2009-01-21 Bertrand Lorentz <bertrand.lorentz@gmail.com>
2069 * build/m4/shamrock/programs.m4: Properly detect when a program is not
2070 found (BGO #562185).
2072 2009-01-20 Aaron Bockover <abock@gnome.org>
2074 Banshee 1.4.2 Released
2076 2009-01-20 Aaron Bockover <abock@gnome.org>
2078 * configure.ac: Bump to 1.4.2, set vendor to svn or tarball automatically
2082 2009-01-20 Aaron Bockover <abock@gnome.org>
2084 * src/AssemblyInfo.cs.in:
2085 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/AboutDialog.cs:
2086 Updated Copyright strings for 2009
2088 2009-01-17 Gabriel Burt <gabriel.burt@gmail.com>
2090 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellTrackNumber.cs:
2091 Patch from Christoph Burgdorf to right align this (BGO #553322)
2093 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellPositiveInt.cs:
2094 Apply the same fix for all int-based columns (bpm, play/skip count, etc)
2096 2009-01-13 Gabriel Burt <gabriel.burt@gmail.com>
2098 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/RangeEntry.cs:
2099 Allow setting the track/disc number/counts to > 99 (up to 999 now).
2101 2009-01-13 Gabriel Burt <gabriel.burt@gmail.com>
2103 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexerService.cs:
2104 Fix bug in logic of whether to raise a collection changed event. We
2105 should have been ignoring all changes unless to a field other than
2106 LastPlayed/Skipped or Play/SkipCount but weren't (BGO #567552)
2108 * src/Core/Banshee.CollectionIndexer/Banshee.Collection.Indexer.RemoteHelper/IndexerClient.cs:
2109 * src/Core/Banshee.CollectionIndexer/Banshee.Collection.Indexer.RemoteHelper/SimpleIndexerClient.cs:
2110 Add IndexWhenCollectionChanged property to allow disabling the default
2111 behavior of retriggering a reindex on every collection change event.
2113 2009-01-13 Gabriel Burt <gabriel.burt@gmail.com>
2115 * src/Core/Banshee.Services/Banshee.Metadata/MetadataServiceJob.cs: Change
2116 the timeout to 10s to alleviate long waits from not-responding servers
2119 2009-01-13 Gabriel Burt <gabriel.burt@gmail.com>
2121 * src/Dap/Banshee.Dap.Karma/Banshee.Dap.Karma/KarmaSource.cs: Patch from
2122 Bob Copeland improving Karma detection and adding OnTracksAdded call (BGO
2125 2009-01-13 Bertrand Lorentz <bertrand.lorentz@gmail.com>
2127 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.csproj:
2128 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.csproj:
2129 * src/Core/Banshee.Services/Banshee.Services.csproj:
2130 * src/Backends/Banshee.Gnome/Banshee.Gnome.csproj:
2131 * src/Backends/Banshee.GStreamer/Banshee.GStreamer.csproj: Various fixes and
2134 * src/Libraries/Lastfm/Lastfm.csproj:
2135 * src/Libraries/Lastfm.Gui/Lastfm.Gui.csproj: Enable Makefile integration.
2137 * src/Libraries/Lastfm/Makefile.am:
2138 * src/Libraries/Lastfm.Gui/Makefile.am: Whitespace changes and re-ordering,
2139 to keep MonoDevelop happy, now that Makefile integration is enabled for these
2142 2009-01-12 Aaron Bockover <abock@gnome.org>
2144 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerWindow.cs:
2145 Patch to fix unlocalised text on Equalizer (BNC #447606)
2147 2009-01-11 Gabriel Burt <gabriel.burt@gmail.com>
2149 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
2150 Use SafeUri to unescape and get the file://-less path if possible, fixes
2151 bug with Firefox launching us with a file:// playlist URI (BNC #456120)
2153 2009-11-01 Eoin Hennessy <eoin@randomrules.org>
2154 * build/osx/targets/bundle-30-gstreamer.targets: Re-add gst-plugins-ugly
2155 to OSX build dependecies. The m3parse element is required for mp3 playback
2156 with qtwrapper. We don't build *any* other elements from -ugly.
2158 2009-01-11 Gabriel Burt <gabriel.burt@gmail.com>
2160 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs: Fix recently
2161 introduced bug that hung Banshee when Last.fm submitted Now Playing
2162 information (BNC #465215)
2164 2009-01-11 Aaron Bockover <abock@gnome.org>
2166 This commit addresses BNC #461677, allowing device commands to be sent
2167 to a new or existing process. Device commands allow Banshee to perform
2168 actions against a device, such as activating the source in the UI or
2169 starting playback of an Audio CD. Two .desktop files exist for Nautilus/GIO
2170 to use to activate device commands on Banshee.
2172 * src/Core/Banshee.Services/Banshee.Hardware/DeviceCommand.cs: Simple
2173 structure that parses device action arguments such as --device-activate=x
2174 or --device-activate-play=y
2176 * src/Core/Banshee.Services/Banshee.Hardware/HardwareManager.cs: Provide
2177 a DeviceCommand event which is raised whenever a DeviceCommand argument
2178 described above is passed; this provides a simple facility for services
2179 to listen to actions to be applied against devices (e.g. the play CD
2180 action from Nautilus)
2182 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdService.cs:
2183 Listen to the HW manager's DeviceCommand event and handle cdda actions
2185 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Listen to the HW
2186 manager's DeviceCommand and pass them off to children DapSources at the
2187 right time for actual handling
2189 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs:
2190 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
2191 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs:
2192 Added/implemented CanHandleDeviceCommand so the DapService can know if
2193 a DeviceCommand action applies to the DAP
2195 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
2196 Fix a race where services may try to play a stream before the player
2197 engine has entered the READY state; this happens for example when Banshee
2198 is started with a --device-play or --device-activate-play command that
2199 may be handled before the player engine READYs
2201 2009-01-11 Aaron Bockover <abock@gnome.org>
2203 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapService.cs: Add null checks
2204 around the source_map and its children when disposing since it won't be
2205 initialized if dispose is called before delayed initialize (BNC #465159)
2207 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: As
2208 an extra precaution, wrap all service disposals in an exception handling
2209 block and just report the exception in the log
2211 2009-01-11 Aaron Bockover <abock@gnome.org>
2213 * src/Clients/Booter/banshee-1.in: Use XDG_CONFIG_HOME instead of an
2214 explicit ~/.config; do not allow --redirect-log if another banshee-1
2215 process is running (this overwrites the original log); and allow for
2216 a special file ~/.config/banshee-1/always-debug that if present always
2217 will turn on debug mode, useful for when launched from a desktop file/GUI
2219 2009-01-11 Aaron Bockover <abock@gnome.org>
2221 * src/Clients/Booter/banshee-1.in: Output the exec line when
2222 the log is being redirected
2224 2009-01-11 Aaron Bockover <abock@gnome.org>
2226 ATTENTION PACKAGERS: This is a VERY important commit; please read this
2227 ChangeLog message as it applies to YOU :). Conforming to this will
2228 help with bug reports.
2230 * configure.ac: Accept --with-vendor-build-id=<foo> for packagers to use.
2231 This string should always be set by packagers and detail the distro
2232 name and version (e.g. openSUSE 11.1), and the repository origin, such
2233 as 'Banshee Team PPA'; for example, the %distribution macro is used in
2234 the openSUSE Build Service, which expands to something like this:
2235 'home:gabrielburt:branches:Banshee / openSUSE_Factory'; also the
2236 build/configure time is stored along with the host OS and CPU
2238 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs: Print all
2239 build metadata at startup so it hits the log file, should be very helpful
2240 for bug reports, especially when debugging against patched builds
2242 * src/AssemblyInfo.cs.in: Store build metadata from configure in assembly
2243 attributes (vendor, build time, host os/cpu)
2245 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Added
2246 APIs for accessing the build metadata
2248 2009-01-10 Aaron Bockover <abock@gnome.org>
2250 * libbanshee/banshee-ripper.c: Second pass at the mime type detection
2251 without typefind, better mime type prioritization, and use the new
2252 BANSHEE_GST_ITERATOR_ITERATE macro instead of the bulky functions I
2253 wrote last night (BGO #558526, BNC #464889)
2255 * libbanshee/banshee-gst.h: Implement BANSHEE_GST_ITERATOR_ITERATE,
2256 a macro that handles the typical implementation of walking a GstIterator
2258 2009-01-10 Gabriel Burt <gabriel.burt@gmail.com>
2260 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
2261 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/ItmsPodcast.cs:
2262 * src/Extensions/Banshee.Podcasting/Makefile.am: Add support for itms://
2263 podcast links that you see on many podcast websites (BNC #465149).
2264 I think setting Banshee as the app Firefox (etc) uses when they are
2265 clicked has to be done manually, unfortunately
2267 * src/Core/Banshee.Services/Banshee.Web/HttpRequest.cs: Transparently
2268 support gzip'd responses, add ResponseBody property.
2270 2009-01-10 Aaron Bockover <abock@gnome.org>
2272 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Dialog/PodcastSubscribeDialog.cs:
2273 * src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileConfigurationDialog.cs:
2274 Call PackStart (w, b, b, u) instead of the deprecated default (BGO #567154)
2276 2009-01-09 Aaron Bockover <abock@gnome.org>
2278 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/AudioCdRipper.cs:
2279 Handle the new mimetype callback and set it on the track (BGO #558526,
2282 * libbanshee/banshee-ripper.c: Implemented support for the typefind
2283 element in the pipeline after the encoder to query a proper mime type
2284 for the encoded and muxed content
2286 * libbanshee/banshee-gst.h:
2287 * libbanshee/banshee-gst.c: Factored out a generic callback invoking
2288 version of gst_bin_iterate_recurse and gst_bin_iterate_all_by_interface
2289 to avoid duplicating a lot of iterator boilerplate code
2291 2009-01-09 Gabriel Burt <gabriel.burt@gmail.com>
2293 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
2294 If passed a playlist file from /tmp, try to load/play it as a radio
2295 station (BNC #456120). Also, clear/delete playlists when Cleared.
2297 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs: Avoid
2298 bug where duplicate playlists were created.
2300 * src/Core/Banshee.Core/Banshee.Base/Paths.cs: Add SystemTempDir property.
2302 2009-01-09 Aaron Bockover <abock@gnome.org>
2304 * src/Core/Banshee.Services/Banshee.Streaming/RadioTrackInfo.cs: Added
2305 Open/OpenPlay helper methods that handle the typical case of simply
2306 opening a stream/playlist, connecting to error/event handling, and
2309 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Use the
2310 new RadioTrackInfo.OpenPlay method, moved the original code into that
2311 new API implementation; no functional change
2313 2009-01-08 Aaron Bockover <abock@gnome.org>
2315 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
2316 Implement IImportSource so the disc shows up in the Import Media dialog,
2317 fixing a functional regression from legacy 0.13.x (BNC #457918)
2319 2009-01-08 Aaron Bockover <abock@gnome.org>
2321 * src/Core/Banshee.Core/Banshee.Base/Localization.cs: Look for xml:lang
2322 nodes with lang codes in the form of xx_YY not xx-YY; intltool should be
2323 using xx-YY per xml:lang convention, but we'll bend for now (BNC #449788)
2325 2009-01-07 Aaron Bockover <abock@gnome.org>
2327 * build/m4/banshee/libbanshee.m4: If the gtk+-2.0 target check fails,
2328 explicitly check for gtk+-2.0 as an entire module to show the standard
2329 missing devel package error message from pkg-config
2331 2009-01-07 Gabriel Burt <gabriel.burt@gmail.com>
2333 * data/desktop-files/*: Make banshee-1-subscription.desktop, handling RSS,
2334 OPML, and Miro's OPML subscription mimetypes.
2336 2009-01-07 Gabriel Burt <gabriel.burt@gmail.com>
2338 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
2339 * src/Core/Banshee.Services/Banshee.Collection/RescanPipeline.cs: Avoid
2340 dealing with Podcast files at all (BGO #552976).
2342 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs: Add another
2343 TrackInfoMerge override, avoid a NRE.
2345 2009-01-07 Gabriel Burt <gabriel.burt@gmail.com>
2347 * src/Core/Banshee.Services/Banshee.Collection/RescanPipeline.cs: Fix
2348 issue with the Rescan tool where it popped up/removed lots and lots of
2349 progress bars (UserJobs) during a given import, which caused a ton of
2350 unnecessary CPU usage (BGO #552561).
2352 2009-01-07 Gabriel Burt <gabriel.burt@gmail.com>
2354 * src/Libraries/Migo/Migo.Net/AsyncWebClient.cs: Patch from Benjamín
2355 Valero Espinosa fixing bug with not handling the XML encoding attribute
2356 properly; RSS feeds in non-UTF-8 should now parse correctly (BGO #538224)
2358 2009-01-01 Gabriel Burt <gabriel.burt@gmail.com>
2360 * src/Libraries/Hyena.Gui/Hyena.Gui/GtkUtilities.cs: Add both upper and
2361 lowercase versions of file extensions to the file chooser filter, so that
2362 my.MP3 will appear in the Local Files import dialog (BGO #566224).
2364 2008-12-29 Gabriel Burt <gabriel.burt@gmail.com>
2366 * src/Libraries/Migo/Migo.Syndication/RssParser.cs: If RFC 822 datetime
2367 parsing fails, try falling back to parsing the pubDate etc with
2368 DateTime.TryParse (BGO #561381)
2370 2008-12-29 Gabriel Burt <gabriel.burt@gmail.com>
2372 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseQueryFilterModel.cs:
2373 Update to new QueryField api - will probably need some work when we
2374 re-enable other filters (genre browser, etc).
2376 * src/Libraries/Hyena/Hyena.Query/QueryField.cs: Based on patch from
2377 Félix Velasco, fix case-sensitivity bug with genre and other string
2378 matching (BGO #555120)
2380 2008-12-29 Gabriel Burt <gabriel.burt@gmail.com>
2382 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs: Patch from John
2383 Millikin fixing bug encoding/scrobbling non-ASCII info (BGO #539963)
2385 2008-12-29 Gabriel Burt <gabriel.burt@gmail.com>
2387 * src/Libraries/Hyena.Gui/Hyena.Widgets/ImageButton.cs: Patch from Wouter
2388 Bolsterlee fixing mnemonic support (BGO #557880)
2390 2008-12-29 Gabriel Burt <gabriel.burt@gmail.com>
2392 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackInfo.cs:
2393 Fix bug with the published date of a playing podcast episode not getting
2394 loaded/displayed properly (BGO #565863)
2396 2008-12-29 Gabriel Burt <gabriel.burt@gmail.com>
2398 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
2399 Patch from John Millikin fixing issue with an album sometimes being listed
2400 twice, once as a compilation album and once not (BGO #557313)
2402 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs: Add some notes
2405 2008-12-29 Gabriel Burt <gabriel.burt@gmail.com>
2407 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/BasicTrackDetailsPage.cs:
2408 Patch from Ivan Zlatev, fixing bug where the first track's TrackCount
2409 value wasn't set properly when using the automagic-button (BGO #561083)
2411 2008-12-26 Eoin Hennessy <eoin@randomrules.org>
2413 * build/osx/targets/bundle-30-gstreamer.targets: We can't ship anything from
2414 gst-plugins-ugly, so remove it from dependencies.
2416 2008-12-26 Aaron Bockover <abock@gnome.org>
2418 * src/Core/Banshee.Services/Banshee.Services.addins: Remove /tmp from
2419 the list of paths to scan for addins (BGO #556656)
2421 2008-12-19 Gabriel Burt <gabriel.burt@gmail.com>
2423 * src/Core/Banshee.Services/Banshee.Collection/SelectAllSelection.cs: Fix
2424 a bug with determining if a selection (of podcasts, etc) was 'all'; this
2425 prevented users who had only one subscription from deleting it (BGO
2428 2008-12-19 Gabriel Burt <gabriel.burt@gmail.com>
2430 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapService.cs: Delay the
2431 initialization of the DAAP plugin for 3 seconds in an attempt to avoid the
2432 lock-related freezes (BNC #450125)
2434 2008-12-19 Gabriel Burt <gabriel.burt@gmail.com>
2436 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs: Fix
2437 crasher bug with using Banshee in a language that has a non-ASCII
2438 character in "Audio CD" (BGO #565059).
2440 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
2443 2008-12-19 Gabriel Burt <gabriel.burt@gmail.com>
2445 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackListModel.cs:
2446 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs:
2447 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs:
2448 * src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs:
2449 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
2450 Fix crash that happened toward the end of syncing a DAP device, caused by
2451 not including in the FROM clause all the tables needed for the WHERE
2452 conditions of podcast-related playlists (BGO #558662)
2454 2008-12-02 Eoin Hennessy <eoin@randomrules.org>
2456 * build/osx/targets/bundle-30-gstreamer.targets: Added gst-plugins-ugly to
2457 osx dependency targets. The mp3parse element is necessary for duration queries
2458 to work on mp3 audio pipelines.
2460 * build/osx/targets/bundle-10-xiph-libs.target: Readded FLAC support to
2463 2008-12-04 Gabriel Burt <gabriel.burt@gmail.com>
2465 * src/Backends/Banshee.Hal/Banshee.HalBackend/DeviceMediaCapabilities.cs:
2466 Fix bug that prevents 'portable_audio_player.cover_art_file_type' property
2467 from being used (BGO #563290)
2469 2008-12-04 Gabriel Burt <gabriel.burt@gmail.com>
2471 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs:
2472 Use Pack instead of Add when adding items to Panes, so that the min-size
2473 of children is respected and they can't be practically hidden - fixes bug
2474 with podcasts list being zero height and therefore not visible on small
2475 screens (BGO #560675)
2477 2008-11-24 Aaron Bockover <abock@gnome.org>
2479 * src/Clients/Booter/banshee-1.in: Fixed quoting in wrapper script so
2480 filenames with spaces work; especially important since Dolphin/Konqueror do
2481 not use URIs for local file paths even though %U is specified in the
2482 .desktop file (BNC #440883)
2484 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
2485 * src/Libraries/Hyena.Gui/Hyena.Gui/GtkUtilities.cs: Moved ForeachWidget
2486 method into GtkUtilities so it can be reused by third party extensions,
2487 which is particularly useful (BGO #562151)
2489 2008-11-21 Aaron Bockover <abock@gnome.org>
2491 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/DefaultPreferenceWidgets.cs:
2492 Create the muisc directory before setting it on the FileChooserButton
2493 to prevent GTK from wigging out and then setting the directory to
2494 $HOME, causing the preference to save; if the music directory we create
2495 here ends up not being chosen by the user, try to remove it (if it is
2496 empty, which it should be since we created it) (BNC #432754)
2498 2008-11-21 Aaron Bockover <abock@gnome.org>
2500 * data/banshee-1.desktop.in.in:
2501 * data/mimetypes.txt: Remove Real Audio/Video mime types (BNC #440615)
2503 2008-11-18 Gabriel Burt <gabriel.burt@gmail.com>
2505 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
2506 Patch from Brandon Perry fixing warning that mono svn raises (BGO #561392)
2508 2008-11-17 Gabriel Burt <gabriel.burt@gmail.com>
2510 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerWindow.cs:
2511 Patch from Erik Schmidt adding support for hitting Esc to close the
2512 equalizer dialog (BGO #552818).
2514 2008-11-12 Gabriel Burt <gabriel.burt@gmail.com>
2516 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
2517 Patch from Benjamín Valero Espinosa fixing bug that prevented the last
2518 tracks in a folder from being deleted (BGO #560550).
2520 2008-11-10 Aaron Bockover <abock@gnome.org>
2522 Banshee 1.4.1 Released
2524 2008-11-10 Aaron Bockover <abock@gnome.org>
2527 * src/AssemblyInfo.cs.in:
2528 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Added a
2529 third version concept, since we need the assembly version to stay the
2530 same to reflect the stable API version
2532 2008-11-10 Aaron Bockover <abock@gnome.org>
2534 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/AndroidDevice.cs:
2535 Return the device name simply as what's in the VendorProductInfo
2538 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage.addin.xml:
2539 Change to Android G1 Phone, detaching from T-Mobile
2541 2008-11-10 Aaron Bockover <abock@gnome.org>
2543 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapPropertiesDisplay.cs: Extend
2544 Gtk.Alignment and render the frame manually so content can be
2547 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapContent.cs: Reworked content
2548 layout to be more visually appealing and space optimizing
2550 * src/Dap/Banshee.Dap.MassStorage/ThemeIcons/16x16/categories/amazon-mp3-source.png:
2551 * src/Dap/Banshee.Dap.MassStorage/ThemeIcons/22x22/categories/amazon-mp3-source.png:
2552 Super hot new store icon from jimmac
2554 2008-11-10 Aaron Bockover <abock@gnome.org>
2556 * src/Dap/Banshee.Dap.MassStorage/ThemeIcons/32x32/devices/phone-htc-g1-white.png:
2557 * src/Dap/Banshee.Dap.MassStorage/ThemeIcons/16x16/devices/phone-htc-g1-white.png:
2558 * src/Dap/Banshee.Dap.MassStorage/ThemeIcons/22x22/devices/phone-htc-g1-white.png:
2559 * src/Dap/Banshee.Dap.MassStorage/ThemeIcons/48x48/devices/phone-htc-g1-white.png:
2560 * src/Dap/Banshee.Dap.MassStorage/ThemeIcons/128x128/devices/phone-htc-g1-white.png:
2561 Awesome G1 icons from jimmac
2563 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Make FallbackIcon public
2564 and static so other DapSources can use it
2566 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/AndroidDevice.cs:
2567 Use jimmac's awesome G1 icons
2569 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
2570 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageDevice.cs:
2571 Allow devices to override the source icon; set the G1 source
2573 2008-11-10 Aaron Bockover <abock@gnome.org>
2575 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageDevice.cs:
2576 Don't use var because gmcs 1.2.5 sucks more than I thought it did
2578 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/DeviceMapper.cs:
2581 2008-11-10 Aaron Bockover <abock@gnome.org>
2583 * src/Core/Banshee.Services/Banshee.Hardware/VendorProductDeviceNode.cs:
2584 Custom Mono.Addins extension node that allows targeting device class
2585 definitions as extensions
2587 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage.addin.xml:
2588 Defined a MassStorageDevice extension point and custom node; added
2589 the T-Mobile G1 devices as extensions using new node support
2591 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/DeviceMapper.cs:
2592 Use Mono.Addins and the new extension node to load custom devices, so
2593 other devices can be supported in the future without requiring
2594 modifications to Banshee
2596 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/AndroidDevice.cs:
2597 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageDevice.cs:
2598 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/CustomMassStorageDevice.cs:
2599 Updated API to ensure everything works well with Mono.Addins'
2600 TypeExtensionNode instantiation
2602 2008-11-09 Eoin Hennessy <eoin@randomrules.org>
2604 * src/Backends/Banshee.Osx/Banshee.OsxBackend/OsxBackend.cs: Fixed issue
2605 with dock events being ignored due to change in ige-mac-integration api.
2606 Disabled quitting via dock item menu until BGO #560108 is fixed.
2608 2008-11-09 Sandy Armstrong <sanfordarmstrong@gmail.com>
2610 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/DeviceMapper.cs:
2611 Add support for T-Mobile G1 with USB Debugging enabled (product_id
2612 changes to 0x0c02). Fixes BGO #560096.
2614 2008-11-10 Ivan N. Zlatev <contact@i-nz.net>
2616 * src/Clients/Booter/Booter/Entry.cs:
2617 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
2618 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
2619 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
2620 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
2621 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
2622 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
2623 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
2624 * src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs:
2625 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs:
2626 * src/Backends/Banshee.Hal/Banshee.HalBackend/Device.cs:
2627 * src/Libraries/MusicBrainz/MusicBrainz/LocalDisc.cs:
2628 * src/Libraries/Migo/Migo.Syndication/FeedEnclosure.cs: Fix missing ()
2629 in ?? operator usage. Fixes compilation with gmcs HEAD (BGO #559616).
2631 2008-11-10 Bertrand Lorentz <bertrand.lorentz@gmail.com>
2633 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/FileChooserDialog.cs:
2634 Patch from Cosmin Banu to prevent a crash when importing a file from
2635 recent items (BGO #559823).
2637 2008-11-09 Alan McGovern <alan.mcgovern@gmail.com>
2639 * src/Extensions/Banshee.Torrent/Banshee.Torrent/TorrentService.cs: If the
2640 service is not already running when banshee calls it, we need to ping it a
2641 second time to see if it auto-started.
2643 2008-11-09 Alan McGovern <alan.mcgovern@gmail.com>
2645 * src/Extensions/Banshee.Torrent/Banshee.Torrent/TorrentService.cs:
2646 * src/Extensions/Banshee.Torrent/Banshee.Torrent/TorrentFileDownloadTask.cs:
2647 Update to work with the latest monotorrent.dbus
2649 2008-11-09 Bertrand Lorentz <bertrand.lorentz@gmail.com>
2651 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageDevice.cs:
2652 Patch from Florent Thoumie to fix compilation with mono 1.2.5 and 1.2.6
2655 2008-11-08 Gabriel Burt <gabriel.burt@gmail.com>
2657 * src/Extensions/Banshee.Torrent/Banshee.Torrent/TorrentService.cs: Add
2660 * src/Extensions/Banshee.Torrent/Makefile.am:
2661 * build/m4/banshee/torrent.m4: Install and uninstall the MonoTorrent
2664 2008-11-07 Eoin Hennessy <eoin@randomrules.org>
2666 * build/osx/build.env: Added CXX_FLAGS to build env so that C++ gstreamer
2667 plugins are compiled with -mmacosx-version-min. Was the cause of various
2668 crashes on OSX 10.4.
2670 2008-11-07 Gabriel Burt <gabriel.burt@gmail.com>
2672 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/StatisticsPage.cs:
2673 Fix the build, broken by the last commit.
2675 2008-11-07 Alexandre Prokoudine <alexandre.prokoudine@gmail.org>
2677 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/StatisticsPage.cs:
2678 Somebody forgot to mark this message for translation, and there are even
2681 2008-11-07 Aaron Bockover <abock@gnome.org>
2683 Banshee 1.4.0.1 Released
2685 2008-11-07 Aaron Bockover <abock@gnome.org>
2687 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/AndroidDevice.cs:
2688 Ensure a proper folder depth and path layout
2690 * src/Dap/Banshee.Dap/Banshee.Dap/MediaGroupSource.cs: Removed some
2691 overhead do to reworking of the PurchasedMusicActions
2693 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
2694 See if the device provides its own track path and use it if so,
2695 otherwise create one
2697 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs: Do not
2698 use number formatting on what will always be integers; copy and paste
2701 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/PurchasedMusicActions.cs: Fixed
2702 bug where only one device per instance would show up due to the UI
2703 actions already being registered
2705 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageDevice.cs:
2706 Allow the device to provide a preferred path layout
2708 2008-11-07 Aaron Bockover <abock@gnome.org>
2710 Banshee 1.4.0 Released
2712 2008-11-07 Aaron Bockover <abock@gnome.org>
2714 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/PurchasedMusicActions.cs: UI
2715 actions for IPurchasedMusicSource
2717 * src/Dap/Banshee.Dap/Resources/PurchasedMusicSourceUI.xml: UI for
2718 importing purchased music
2720 * src/Dap/Banshee.Dap/Banshee.Dap/IPurchasedMusicSource.cs: Interface
2721 for advertising that the purchased music UI should be connected
2723 * src/Dap/Banshee.Dap/Banshee.Dap/MediaGroupSource.cs: If self
2724 implements IPurchasedMusicSource, connect that UI
2726 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/AndroidDevice.cs:
2727 Implement IPurchasedMusicSource
2729 2008-11-07 Aaron Bockover <abock@gnome.org>
2731 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/AndroidDevice.cs:
2732 Implemented special support for grouping tracks purchased from the
2733 Amazon MP3 store on the G1 into their own source; also do not allow
2734 deleting these tracks in the main Music source on the device; they
2735 can only be deleted from the Purchased Music source
2737 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageDevice.cs:
2738 Implemented SourceInitialize and DeleteTrackHook methods
2740 * src/Dap/Banshee.Dap/Banshee.Dap/VideoGroupSource.cs:
2741 * src/Dap/Banshee.Dap/Banshee.Dap/PodcastGroupSource.cs: Set AutoHide to
2742 true so these sources will only show up if there is content in them
2744 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
2745 Call SourceInitialize on the MassStorageDevice if we have one and
2746 after the source itself is initialized; call DeleteTrackHook on the
2747 MassStorageDevice if we have one and return false if the hook returns
2748 false, effectively voiding the track deletion from both the disk and
2751 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Make
2752 DeleteTrack return bool; in DeleteTrackList, cache the track against
2753 which DeleteTrack returns false in a skip list and when the cache
2754 iteration is complete, remove any skip list tracks from the cache
2755 list before executing the database purge against the cache list.
2758 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Do not add the video and
2759 podcasts group sources since they are now AutoHide and will manage
2762 * src/Dap/Banshee.Dap/Banshee.Dap/MediaGroupSource.cs: Implemented an
2763 AutoHide feature that will only show items when the feature is on if
2764 there are actually items in the source
2766 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs:
2767 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs:
2768 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs:
2769 * src/Dap/Banshee.Dap.Karma/Banshee.Dap.Karma/KarmaSource.cs: Updated to
2770 reflect API change in PrimarySource
2772 * src/Core/Banshee.Services/Banshee.Collection.Database/CachedList.cs:
2773 Implement a Remove method that allows trimming the cache
2775 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Implemented
2776 ContainsChildSource method
2778 2008-11-06 Aaron Bockover <abock@gnome.org>
2780 This commit provides my first pass at allowing for custom USB mass storage
2781 device profiles. It allows writing customized classes to special case
2782 certain devices that are just USB mass storage where extra features and
2783 polish are desired. As an example, basic out of the box support for the
2784 T-Mobile G1/Android Phone is implemented. This means the G1 should work
2785 out of the box with no .is_audio_player necessary or any changes to HAL
2787 It supports reading/syncing music purchased through the Amazon MP3 store
2788 on the G1 and syncing cover art along with music.
2790 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageDevice.cs:
2791 Moved the is_audio_player reader into new base device properties class
2793 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/KeyValueParser.cs:
2794 Lots of fixes for parsing the key/value file for is_audio_player
2796 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/CustomMassStorageDevice.cs:
2797 MassStorageDevice class that custom device support classes should derive
2799 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/AndroidDevice.cs:
2800 An implementation of a custom device for the T-Mobile G1/Android phone
2802 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/DeviceMapper.cs:
2803 Given a USB Device, find out what kind of device profile to create,
2804 checking a table of custom supported devices (e.g. Android devices), and
2805 falling back to the base MassStorageDevice that supports reading
2808 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
2809 Use the new MassStorageDevice class for reading customized properties
2810 that are not part of DeviceMediaCapabilities (e.g. from HAL); also when
2811 deleting tracks, check to see if the directory will become empty after
2812 removing the track, and if so, also remove the cover art file if one
2815 * src/Core/Banshee.Services/Banshee.Hardware/IUsbDevice.cs: New interface
2816 for USB specific device properties
2818 * src/Core/Banshee.Services/Banshee.Hardware/IDevice.cs: Defined
2819 ResolveRootUsbDevice which is to return the top level USB device
2822 * src/Core/Banshee.Services/Banshee.Hardware/VendorProductInfo.cs:
2823 Struct to define USB devices through vendor/product IDs
2825 * src/Backends/Banshee.Hal/Banshee.HalBackend/Device.cs:
2826 * src/Backends/Banshee.Hal/Banshee.HalBackend/UsbDevice.cs: Implement the
2827 new IUsbDevice support against HAL
2829 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/PodSleuthDevice.cs: Proxy
2830 the ResolveRootUsbDevice method now defined on IDevice
2832 2008-11-05 Eoin Hennessy <eoin@randomrules.org>
2834 * build/osx/targets/gst-plugins-bad-qtwrapper-fixes.patch:
2835 Added a patch containing a number of fixes for qtwrapper issues in
2836 gst-plugins-bad 0.10.9 backported from current cvs. Makes playback on
2837 OSX considerably more stable.
2839 2008-11-05 Bertrand Lorentz <bertrand.lorentz@gmail.com>
2841 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
2842 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/AboutDialog.cs: Patch
2843 from Maxim Ermilov to make the about dialog not modal (BGO #558050).
2845 2008-11-04 Aaron Bockover <abock@gnome.org>
2847 * configure.ac: Automatically --enable-release if there is
2848 no .svn directory (this is for you, packagers)
2850 * src/Libraries/Hyena.Gui/Hyena.Gui.dll.config: linux->osx
2852 2008-11-04 Aaron Bockover <abock@gnome.org>
2854 * build/build.rules.mk:
2855 * configure.ac: Do not run the DllImport verification when
2856 configured as a release build
2858 2008-11-04 Aaron Bockover <abock@gnome.org>
2860 * build/Makefile.am:
2861 * build/DllMapVerifier.cs:
2862 * build/dll-map-makefile-verifier:
2863 * build/build.rules.mk: Wrote a DllImport and config file map verifier
2864 tool that analyzes source code and the build to ensure that any DllImport
2865 reference in the code must have a map in the config file or an explicit
2866 ignore in the build; also ensures that if a config file exists, it is
2867 included in module_SCRIPTS so it gets installed in the system
2869 * src/Clients/Booter/Makefile.am:
2870 * src/Clients/Booter/Banshee.exe.config:
2871 * src/Clients/Booter/Booter/Entry.cs:
2872 * src/Backends/Banshee.Unix/Banshee.Unix.dll.config:
2873 * src/Backends/Banshee.Unix/Makefile.am:
2874 * src/Libraries/Hyena.Gui/Hyena.Gui.dll.config: Fixed up more DLL maps
2876 2008-10-31 Sandy Armstrong <sanfordarmstrong@gmail.com>
2878 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
2879 Remove unneeded "using System.Linq;" that was breaking the build on
2880 older Mono installations.
2882 2008-10-31 Bertrand Lorentz <bertrand.lorentz@gmail.com>
2884 * src/Core/Banshee.Core/Banshee.Base/SafeUri.cs:
2885 * src/Core/Banshee.Core/Banshee.Base/Localization.cs:
2886 * src/Backends/Banshee.Unix/Banshee.IO.Unix/Directory.cs:
2887 * src/Libraries/Hyena.Gui/Hyena.Gui.dll.config:
2888 * src/Libraries/Hyena.Gui/Hyena.Gui/PangoCairoHelper.cs: Fix a
2889 DllNotFoundException by making the DllImport statements match the dllmap
2890 in the .config files (BGO #557868).
2892 2008-10-29 Gabriel Burt <gabriel.burt@gmail.com>
2894 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Use a method instead of an
2895 anonymous delegate to handle a ButtonPress event, fixing a strange crash
2896 that I think is probably an issue in Mono (BGO #556573).
2898 2008-10-27 Aaron Bockover <abock@gnome.org>
2900 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/FieldPage.cs:
2901 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/HelpPage.cs:
2902 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/ITrackEditorPage.cs:
2903 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/StatisticsPage.cs:
2904 Removed Changed, not needed
2906 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
2907 Add EnqueueTrack, generalize the other Enqueue methods to use EnqueueId
2909 2008-10-27 Gabriel Burt <gabriel.burt@gmail.com>
2911 * libbanshee/libbanshee.cproj:
2912 * *.csproj: Add custom make and make run commands for build/execute
2914 * Banshee.sln: Remove Torrent and MediaWeb projects from the build
2916 * build/build.rules.mk: Add run target that does make run in the top dir
2918 2008-10-26 Aaron Bockover <abock@gnome.org>
2920 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/EditorTrackInfo.cs:
2921 Implemented a GenerateDiff method and DiffCount property returning the
2922 number of changed fields on the track; this ensures the confirm changes
2923 dialog only shows up when something actually changes; before the dialog
2924 was based on some hacked GUI change tracking, which could easily be fooled
2926 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/FieldPage.cs:
2927 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
2928 Updated to use the new track diffing logic
2930 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/BasicTrackDetailsPage.cs:
2931 Implemented the auto-order range closure for track number/count
2933 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/RangeEntry.cs:
2934 Implemented an auto-order UI action (optional)
2936 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/PageNavigationEntry.cs:
2937 Make the navigatable text entry generic since we need to use it for
2938 the track artist if we are editing a compilation album
2940 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/AlbumArtistEntry.cs:
2941 Control the two navigation entries
2943 * src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml: Removed
2944 the help page for now since it only has a picture of jcastro
2946 2008-10-25 Gabriel Burt <gabriel.burt@gmail.com>
2948 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
2949 Patch from Cosmin Banu to prevent NRE (BGO #557867).
2951 2008-10-25 Wouter Bolsterlee <wbolster@svn.gnome.org>
2953 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/BasicTrackDetailsPage.cs:
2954 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/StatisticsPage.cs:
2955 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs:
2956 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapActions.cs:
2958 Added/updated translator comments.
2960 2008-10-25 Wouter Bolsterlee <wbolster@svn.gnome.org>
2962 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs:
2963 Corrected translator comments.
2965 2008-10-25 Aaron Bockover <abock@gnome.org>
2967 Banshee 1.3.3 Released
2969 2008-10-24 Aaron Bockover <abock@gnome.org>
2971 * Makefile.am: Patch from patch-master-organizer Bertrand Lorentz
2972 to allow localized uninstalled instances ala 'make run'; his make foo
2973 is strong (BGO #393046)
2975 2008-10-24 Aaron Bockover <abock@gnome.org>
2977 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/IPlayQueue.cs:
2978 DBus doesn't allow overriding methods, so remove the convenience/default
2980 2008-10-23 Gabriel Burt <gabriel.burt@gmail.com>
2982 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
2983 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/IPlayQueue.cs: Patch
2984 from Alex Launi and myself adding the ability to prepend a track to the
2985 Play Queue (BGO #557526).
2987 2008-10-22 Gabriel Burt <gabriel.burt@gmail.com>
2989 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
2990 Fix bug with Play Queue stopping after every song (BGO #557386).
2992 2008-10-22 Aaron Bockover <abock@gnome.org>
2994 Patch from Eoin Hennessy <eoin@randomrules.org> (BGO #557190)
2996 * src/Backends/Banshee.OSX: Added OSX backend. Consists of a service
2997 that uses ige-mac-integration-sharp to bind the gtk menu to the
2998 global menu, make menus more osx-like etc.. and a hardware manager,
2999 which rigth now, doesn't do anything
3001 * src/Extensions/Banshee.NotificationArea/Makefile.am: Disable the
3002 NotificationArea extension on OSX as the 'close-to-tray' behaviour it adds
3003 doesn't really make sense on OSX.
3005 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
3006 Swapping the rendering order of source icon and title fixes a
3007 rendering glitch on OSX where the icon for a source's first child is
3010 2008-10-22 Gabriel Burt <gabriel.burt@gmail.com>
3012 * src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml: Comment out the
3013 DefaultApplicationHelper extension.
3015 * src/Backends/Banshee.Gnome/Makefile.am: Remove the commented out
3016 DefaultApplicationHelper.cs line.
3018 * gstreamer/equalizer/gstiirequalizer.c: Patch from Sebastian Dröge, see
3021 2008-10-22 Aaron Bockover <abock@gnome.org>
3023 This commit fixes a number of OS X build issues and eliminates all
3024 dependencies on macports. It is now possible to build Banshee simply by
3025 installing Xcode and the Mono 2.0 SDK
3027 * build/osx/build.env: No longer require macports to bootstrap the
3030 * build/osx/oss-00-base-libs.targets: New targets, including intltool and
3031 gettext so we can fully host the dependency build environment; no longer
3032 do we require pieces from macports
3034 * build/osx/build-deps.sh: Use curl instead of wget (provided by macports)
3036 * build/m4/shamrock/i18n.m4:
3038 * autogen.sh: Use only intltool, not a mix of gettext and intltool, which
3039 we've used for quite some time and I'm not sure why
3041 2008-10-21 Gabriel Burt <gabriel.burt@gmail.com>
3043 * src/Backends/Banshee.Gnome/Makefile.am: Remove the
3044 DefaultApplicationHelper from the build because it needs more work;
3045 it should probably be using GIO/g_app_info to set itself as the default,
3046 and it shouldn't cause the "Want to set Banshee as the default?" dialog to
3047 appear on distros where it's already the default.
3049 2008-10-21 Aaron Bockover <abock@gnome.org>
3051 This is round one of Eoin's core fixes for OS X support. This commit
3052 yields an almost running Banshee. Getting very close. (BGO #557190)
3054 * src/Extensions/Banshee.MultimediaKeys/Makefile.am: Only enable if
3057 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Don't initialize DAP
3058 service without a HardwareManager instance. Necessary on OS X until we
3059 have a backend implemented
3061 * src/Core/Banshee.Widgets/Banshee.Widgets/VolumeButton.cs:
3062 * src/Core/Banshee.Core/Banshee.Base/SafeUri.cs:
3063 * src/Core/Banshee.Core/Banshee.Base/Localization.cs:
3064 * src/Backends/Banshee.Unix/Banshee.IO.Unix/Directory.cs:
3065 * src/Libraries/Hyena.Gui/Hyena.Gui/CairoExtensions.cs:
3066 * src/Libraries/Hyena.Gui/Hyena.Gui/PangoCairoHelper.cs:
3067 * src/Libraries/Hyena.Gui/Hyena.Gui/CompositeUtils.cs:
3068 * src/Libraries/Hyena.Gui/Hyena.Gui/PixbufImageSurface.cs: Fixed up all
3069 DllImport attributes to import directly against the Win32 target, to be
3070 remapped to proper libraries on linux or osx through the newly fixed
3071 dll map config files
3073 * src/Core/Banshee.Widgets/Banshee.Widgets.dll.config:
3074 * src/Core/Banshee.Core/Banshee.Core.dll.config:
3075 * src/Libraries/Hyena.Gui/Hyena.Gui.dll.config: Made sure all dll maps
3076 will work on Win32 without a .config, map these fixed up names to proper
3077 .so or .dylib targets depending on whether the os is linux or osx
3079 * src/Core/Banshee.Core/Makefile.am: Include the new .config file
3081 * build/m4/banshee/osx.m4: OS X specific check
3083 * build/m4/banshee/dap-njb.m4: Removed, obsolete
3085 * build/osx/build.env: Fix up ACLOCAL_FLAGS
3087 * build/osx/autogen.sh: Pass --enable-osx
3089 * build/osx/oss-40-managed-libs.targets: Added ige-mac-integration-sharp,
3090 removed mono-addins since that's part of the Mono 2.0 SDK
3092 * configure.ac: Added --enable-osx configure option, currently just
3093 makes sure we have ige-mac-integration-sharp. It should also check that we
3096 2008-10-19 Gabriel Burt <gabriel.burt@gmail.com>
3098 * configure.ac: Fix typo, text => test.
3100 2008-10-19 Aaron Bockover <abock@gnome.org>
3102 * build/osx/collect-deps.sh: Script to collect all the privately built
3103 dependencies for bundling
3105 * build/osx/build-deps.sh: Call collect (har har har)
3107 2008-10-19 Aaron Bockover <abock@gnome.org>
3109 * build/m4/banshee/libbanshee.m4: Require either the x11 or quartz backend
3110 in GDK depending on the target from GTK (based on Eoin's patch)
3112 * configure.ac: Show what graphics backend we'll be building against
3114 * build/osx/autogen.sh: Pass --disable-boo, and always restore the orignal
3115 configure.ac after the script runs
3117 * build/osx/build-deps.sh: Pull in ndesk-dbus, ndesk-dbus-glib, taglib-sharp
3118 and mono-addins as bundle dependencies
3120 2008-10-19 Aaron Bockover <abock@gnome.org>
3122 This commit adds preliminary build scripts/environment/directions for
3123 building Banshee on OS X, based heavily on Eoin's great work on porting
3124 Banshee to OS X. Banshee does not actually build yet on OS X with this
3125 commit, so don't try. This is phase one of merging Eoin's great work
3128 * build/osx/*: Scripts and an awesome README for building on OS X
3130 * autogen.osx.sh: Helper to call into the real OS X autogen wrapper
3132 2008-10-13 Aaron Bockover <abock@gnome.org>
3134 * configure.ac: Support --disable-gnome, should make building on OS X
3135 a lot nicer; also support --enable-release, which sets the RELEASE
3136 define in gmcs and also turns off -warnaserror; pass --enable-release
3137 when we run distcheck
3139 * build/build.rules.mk: Use the new GMCS_FLAGS generated by configure
3141 * src/Backends/Banshee.Gnome/Makefile.am:
3142 * build/Makefile.am: Respect GCONF_SCHEMAS_INSTALL and ENABLE_GNOME
3144 * src/Core/Banshee.Core/Resources/translators.xml: Updated
3146 2008-10-12 Aaron Bockover <abock@gnome.org>
3148 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Made ArtworkId
3149 exportable for the collection indexer
3151 2008-10-11 Aaron Bockover <abock@gnome.org>
3153 Banshee 1.3.2 Released
3155 2008-10-11 Aaron Bockover <abock@gnome.org>
3157 * src/Core/Banshee.CollectionIndexer/Banshee.Collection.Indexer.RemoteHelper/SimpleIndexerClient.cs:
3158 Implement virtual hook functions (OnStarted, OnBeginUpdateIndex,
3159 OnEndUpdateIndex); only call OnShutDownWhileIndexing if indeed we were
3160 shutdown while indexing
3162 * build/pkg-config/banshee-1-collection-indexer.pc.in: A separate
3163 pkg-config file for the standalone and bundleable collection indexer
3168 2008-10-10 Gabriel Burt <gabriel.burt@gmail.com>
3170 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
3171 Don't accept input from any source.
3173 2008-10-09 Aaron Bockover <abock@gnome.org>
3175 * src/Clients/Beroe/Beroe/IndexerClient.cs:
3176 * src/Clients/Beroe/Beroe/RemoteClient.cs: Remove the client from the
3179 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexer.cs:
3180 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexer.cs:
3181 Fix standalone API issues
3183 * src/Core/Banshee.CollectionIndexer/Hyena/ConsoleCrayon.cs:
3184 * src/Core/Banshee.CollectionIndexer/Hyena/Log.cs:
3185 * src/Core/Banshee.CollectionIndexer/Hyena/DateTimeUtil.cs: Synced from
3188 * src/Core/Banshee.CollectionIndexer/Demo/RemoteClient.cs: Moved the
3189 demo indexer client into its own assembly with simple build
3191 * src/Core/Banshee.CollectionIndexer/update-includes: Script to sync
3192 the stuff from hyena and the indexer dbus interfaces that we need
3194 2008-10-09 Aaron Bockover <abock@gnome.org>
3196 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexerService.cs:
3197 Update to reflect clensing of the interfaces
3199 * src/Core/Banshee.CollectionIndexer/Banshee.Collection.Indexer.RemoteHelper:
3200 Moved the collection indexer remote helper into a standalone assembly
3201 suitable for including in other projects
3203 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexer.cs:
3204 Fix indexing bug, was using the wrong index for fetching items from
3207 * src/Core/Banshee.Services/Banshee.Collection.Indexer/IIndexerClient.cs:
3208 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexer.cs:
3209 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexerService.cs:
3210 Ensure the interfaces are fully standalone and do not depend on any
3215 * build/build.environment.mk:
3216 * src/Core/Banshee.CollectionIndexer/Makefile.am:
3217 * src/Core/Banshee.CollectionIndexer/Banshee.CollectionIndexer.csproj:
3218 Build stuff for moving the collection indexer helper API into its own
3219 light weight and standalone assembly
3221 2008-10-09 Gabriel Burt <gabriel.burt@gmail.com>
3223 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
3224 Keep track of the track that was playing (if any) before the play queue
3225 took over so we can return playback to the song after it (BGO #547213).
3227 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
3228 Add a public PriorTrack property that outside code can use to make the
3229 QueryLinear code grab the next track after the one set, instead of the one
3230 after the 'CurrentTrack' (eg the last one played). Used to return
3231 playback to the right spot in a source after the queue is finished.
3233 2008-10-09 Gabriel Burt <gabriel.burt@gmail.com>
3235 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
3236 When finished playing from the play queue, don't play from the prior
3237 source if it wasn't playing when the play queue took over. Partially
3240 2008-10-09 Gabriel Burt <gabriel.burt@gmail.com>
3242 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
3243 Clarify the logging we do when a track editor page fails to initialize -
3244 it's not necessarily b/c it doesn't implement ITrackEditorPage.
3246 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/AlbumArtistEntry.cs:
3247 Fix regression where the basic editor page wouldn't load when editing a
3250 2008-10-08 Gabriel Burt <gabriel.burt@gmail.com>
3252 This patch refactors the Podcast code so that it can have playlists and
3255 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastImageFetchJob.cs:
3256 Don't assume the PodcastSource is the only podcast-containing source since
3257 we now have playlists too.
3259 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
3260 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Add and use new
3261 Source#GetProperty convenience method.
3263 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs:
3264 Support propagation of ActiveSource properties, so that podcast playlists
3265 can have the same actions as the Podcasts source.
3267 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Change
3268 Add to accept params.
3270 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/Column.cs: Get rid of cruft, and
3271 take the Id for a column from the sub-property if it exists, otherwise
3272 from the Property (as before).
3274 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastItemView.cs:
3275 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackInfo.cs:
3276 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
3277 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellPodcastStatusIndicator.cs:
3278 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastActions.cs:
3279 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Dialog/PodcastPropertiesDialog.cs:
3280 PodcastTrackInfo no longer subclasses from DatabaseTrackInfo - instead its
3281 the ExternalObject to the TrackInfos that are under the PodcastSource.
3282 Change code accessing the PodcastTrackInfo propeties to get to them via
3283 the PodcastTrackInfo.From (track_info) helper.
3285 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellPodcast.cs:
3286 Don't dispose images after rendering them the first time.
3288 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastSourceContents.cs:
3289 Allow other DatabaseSources (eg PlaylistSources) to be used in this view.
3291 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastSource.cs:
3292 Allow playlists, set Artwork and ExternalObject handlers, clean up, change
3293 to reflect PodcastTrackInfo changes, etc.
3295 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackListModel.cs:
3296 Subclass only to set add some default conditions/FROM tables, but no
3297 longer is a model for/returns PodcastTrackInfo objects.
3299 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastFeedModel.cs:
3300 Change the reload fragment to work with playlists.
3302 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
3303 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
3304 New (overridable) DatabaseSource API for creating the TrackModel and
3305 default Filters for a DatabaseSource. Child DatabaseSource objects use
3306 their parent's Create methods so that they get any customizations they
3307 might have (like Podcasts pulling in other tables/conditions).
3309 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
3310 Override ArtworkId and ExternalObject to use the PrimarySource's handlers,
3311 if any, to return these values. Allows us to customize the ArtworkId for
3312 podcast episodes to be "podcast-$podcasttitle", for instance.
3314 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
3315 Allow overriding the default string of table names to select from.
3317 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Don't
3318 accept DnD input from the Play Queue (or any parentless
3321 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Add
3322 ExternalObject and ArtworkId delegates that will change the default
3323 behavior for tracks within this source.
3325 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Add a static
3326 PlaybackFinished event that is fired after play/skip counts are
3327 incremented. Used by PodcastTrackInfo to set the Item as not new once
3328 it's been played. Add a default (returning null) implementation of
3329 ExternalObject property.
3331 * src/Libraries/Hyena/Hyena.Query/RelativeTimeSpanQueryValue.cs: Call
3332 DetermineFactor in the static helper so that the factor is set
3333 appropriately; wasn't called anymore after my recent fix to remember the
3334 unit the user entered.
3336 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCell.cs: Allow setting a
3337 sub-property, either with SubProperty = or by setting Property to a value
3338 containing a period. So setting Property to "Foo.Bar" would call the Bar
3339 getter on the object returning from the Foo getter (called on the object
3340 bound to the cell, usually a DatabaseTrackInfo in Banshee). This lets us
3341 have columns based on properties of, say, the TrackInfo#ExternalObject,
3342 which we do for Podcasts for Description, PublishedDate, etc.
3344 * src/Libraries/Hyena/Hyena.Collections/Selection.cs: Expose the
3345 RangeCollection in a protected getter.
3347 * src/Core/Banshee.Services/Banshee.Collection/SelectAllSelection.cs: Fix
3348 bug where we considered any selection of Count 2 that contained the 1st
3351 2008-10-08 Aaron Bockover <abock@gnome.org>
3353 * src/Clients/Beroe/Beroe/RemoteClient.cs: Updated for
3354 SimpleIndexerClient API changes
3356 2008-10-08 Aaron Bockover <abock@gnome.org>
3358 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexerService.cs:
3359 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexerService.cs:
3360 Make time a long, since it's time_t
3362 * src/Core/Banshee.Services/Banshee.Collection.Indexer.RemoteHelper/SimpleIndexerClient.cs:
3363 Support getting available export fields, and setting which fields you
3364 want exported to you; abstract the HasCollectionChanged by adding
3365 CollectionCount and CollectionLastModified abstract members that make
3366 the API a little less confusing
3368 2008-10-08 Aaron Bockover <abock@gnome.org>
3370 * src/Clients/Beroe/Beroe/RemoteClient.cs: Whitespace; stupid MD
3372 * src/Core/Banshee.Services/Banshee.Collection.Indexer.RemoteHelper/SimpleIndexerClient.cs:
3373 More abstraction to make remote clients easier, but I'm mainly just
3374 playing around and seeing what sticks right now
3376 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexer.cs:
3377 Add a lame temporary debug line
3379 * src/Core/Banshee.Services/Banshee.Collection.Indexer.RemoteHelper/IndexerClient.cs:
3380 Fix some raciness; I completely forgot that the remote Index call was
3383 2008-10-08 Aaron Bockover <abock@gnome.org>
3385 * src/Core/Banshee.Services/Banshee.Collection.Indexer.RemoteHelper/SimpleIndexerClient.cs:
3386 Pulled out the implementation from the Beroe remote client example
3387 into a further encapsulation
3389 * src/Clients/Beroe/Beroe/RemoteClient.cs: Now extend the new
3392 2008-10-08 Aaron Bockover <abock@gnome.org>
3394 * src/Clients/Beroe/Beroe/RemoteClient.cs: Check for Shutdown when
3395 processing the index
3397 2008-10-08 Aaron Bockover <abock@gnome.org>
3399 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
3400 Only click sync buttons when they are sensitive
3402 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/BasicTrackDetailsPage.cs:
3403 Save the field slot for the track artist and pass it to the album
3406 * src/Libraries/Hyena.Gui/Hyena.Widgets/PulsingButton.cs: Stop pulsing
3407 when the widget goes to the insensitive state
3409 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/FieldPage.cs:
3410 Return the FieldSlot when adding a field
3412 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/AlbumArtistEntry.cs:
3413 When the compilation button is checked, disable the sync button for
3414 the track artist; that is, if a selection sets album
3415 artist/compilation, track artist will no longer sync, since that
3418 2008-10-08 Aaron Bockover <abock@gnome.org>
3420 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TextEntry.cs:
3421 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/GenreEntry.cs:
3422 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/EditorEditableUndoAdapter.cs:
3423 Updated to use the now generic EditableUndoAdapter
3425 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TextViewEntry.cs:
3426 Use the new TextViewEditable, implement ICanUndo
3428 * src/Libraries/Hyena.Gui/Hyena.Gui/EditableUndoAdapter.cs:
3429 * src/Libraries/Hyena.Gui/Hyena.Gui/EditableEraseAction.cs:
3430 * src/Libraries/Hyena.Gui/Hyena.Gui/EditableInsertAction.cs: Make
3431 generic, adapting widgets implementing Gtk.Editable instead of only
3434 * src/Libraries/Hyena/Hyena/IUndoAction.cs: Whitespace
3436 * src/Libraries/Hyena.Gui/Hyena.Widgets/TextViewEditable.cs: A
3437 Gtk.TextView that implements Gtk.Editable
3439 2008-10-08 Aaron Bockover <abock@gnome.org>
3441 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/LargeTrackInfoDisplay.cs:
3442 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ClassicTrackInfoDisplay.cs:
3443 Like I fixed for the ListView yesterday, do not recreate the pango
3444 layouts on each expose; this is a slight perf improvement, but mostly,
3445 it stops a huge leak (BGO #555365). Thanks to Michael Monreal for
3446 helping to track this one down!
3448 * src/Libraries/Hyena.Gui/Hyena.Gui/CairoExtensions.cs: Always create a
3449 new layout and return it instead of accepting it as a ref parameter;
3450 dispose the context after we request it from PangoCairoHelper
3452 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
3453 Updated to reflect API change of CairoExtensions.CreateLayout
3455 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
3456 Added a virtual OnThemeChanged to simplify things for sub classes so
3457 they don't have to worry about awkward logic often necessary with
3460 2008-10-08 Aaron Bockover <abock@gnome.org>
3462 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexer.cs:
3463 Add a missing lock, which was causing a crash+race
3465 * src/Clients/Beroe/Beroe/RemoteClient.cs: Add missing call to Index so
3466 we actually can get results from the server
3468 2008-10-06 Aaron Bockover <abock@gnome.org>
3470 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
3471 Do not re-create the layout on every expose; this fixes a pretty bad leak
3472 and possibly speeds up rendering
3474 2008-10-06 Gabriel Burt <gabriel.burt@gmail.com>
3476 * src/Core/Banshee.ThickClient/Banshee.Query.Gui/RatingQueryValueEntry.cs:
3477 Always show stars in the Rating widget shown in the smart playlist editor.
3479 2008-10-06 Gabriel Burt <gabriel.burt@gmail.com>
3481 * src/Libraries/Hyena/Hyena.csproj: Ref System.Xml
3483 * src/Libraries/Hyena/Hyena.Query/FileSizeQueryValue.cs:
3484 * src/Libraries/Hyena/Hyena.Query/RelativeTimeSpanQueryValue.cs:
3485 * src/Libraries/Hyena/Hyena.Query/TimeSpanQueryValue.cs: Persist and read
3486 the factor to/from XML, so we remember if the user chose '45 days' and
3487 no longer turn it into 1.5 months the next time they edit a smart
3488 playlist (BGO #545887).
3490 2008-10-06 Aaron Bockover <abock@gnome.org>
3492 This commit finishes the port to using Cairo surface in almost all places
3493 where we do rendering, and adds a surface cache system for improving
3494 performance in some places.
3496 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs:
3497 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellPodcast.cs:
3498 Use the new surface methods from artwork manager to directly render
3499 surfaces as stored in the LRU cache
3501 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs:
3502 Implement a surface caching system that should help improve the rendering
3503 speed of the album browser. Tuned to never grow beyond 1MB of image data
3506 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkRenderer.cs:
3507 Accept surfaces as input instead of pixbufs. Yay.
3509 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
3510 Port the beast to use cairo image surfaces directly intead of pixbufs,
3511 get rid of the surface cache hack
3513 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/LargeTrackInfoDisplay.cs:
3514 Updated to reflect the surface changes in base class, cache the scene
3515 surfaces to avoid re-rendering on each pass (was cached before, but using
3516 a different mechanism)
3518 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ClassicTrackInfoDisplay.cs:
3519 * src/Clients/Muinshee/Muinshee/MuinsheeTrackInfoDisplay.cs:
3520 Updated to reflect surface changes in the base class
3522 * src/Libraries/Hyena/Hyena.Collections/LruCache.cs: Implement a somewhat
3523 lame generic LRU cache collection
3525 * src/Libraries/Hyena.Gui/Hyena.Gui/PixbufImageSurface.cs: Add a new
3526 ctor that disposes the input pixbuf when done with it, nice for
3527 inlining pixbuf->surface without temporary variables or leaking
3529 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
3530 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs:
3531 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
3532 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSourceContents.cs:
3533 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
3534 Updated to reflect API rename in the artwork manager
3536 2008-10-06 Gabriel Burt <gabriel.burt@gmail.com>
3538 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationType.cs:
3539 Support for creating a station in the station dialog from a lastfm:// URL,
3540 based on a patch from Russ Smith, slightly modified by myself (BGO
3543 2008-10-06 Gabriel Burt <gabriel.burt@gmail.com>
3545 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/GenreEntry.cs:
3546 Comment out Gtk+ 2.12 property (EntryCompletion#InlineSelection).
3548 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TextEntry.cs: Add
3549 another ctor to enable autocomplete.
3551 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/BasicTrackDetailsPage.cs:
3552 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/AlbumArtistEntry.cs:
3553 Use new TextEntry ctor to enable autocomplete for artist, album, and album
3554 artist (BGO #526014).
3556 2008-10-06 Gabriel Burt <gabriel.burt@gmail.com>
3558 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/GenreEntry.cs:
3559 Implement IEditorField so that changes are noticed and saved (BGO
3560 #553555). Also create/set an EntryCompletion so that autocomplete works.
3562 2008-10-06 Gabriel Burt <gabriel.burt@gmail.com>
3564 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
3565 Change way in which we mark the album or artist as changed (and therefore
3566 know to save it) to account for splitting the load-from-db properties out
3567 from the public properties used by the editor etc. Fixes issue with the
3568 artist info not getting saved in the editor (BGO #555111).
3570 2008-10-06 Gabriel Burt <gabriel.burt@gmail.com>
3572 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs: When
3573 cancelled make the UserJob go away immediately (BGO #555197).
3575 2008-10-05 Gabriel Burt <gabriel.burt@gmail.com>
3577 * src/Clients/Nereid/Nereid/ViewContainer.cs: Change "All Columns" in the
3578 search menu to "Artist, Album, or Title" since it does in fact only search
3579 those columns, not all of them (BGO #555122).
3581 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Apply the same
3582 fix as before, suggested by Benoit Boissinot, if the disc_count is zero,
3583 don't do the trick where we return the DiscNumber
3585 2008-10-03 Aaron Bockover <abock@gnome.org>
3587 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs:
3588 Implement Surface lookup methods
3590 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/LargeTrackInfoDisplay.cs:
3591 Use PixbufImageSurface
3593 * src/Libraries/Hyena.Gui/Hyena.Gui/CairoExtensions.cs: Use Paint instead
3594 of Rectangle+Fill, slight perf improvement
3596 * src/Libraries/Hyena.Gui/Hyena.Gui/PixbufImageSurface.cs: A new Cairo
3597 ImageSurface that directly blits pixel data from a GdkPixbuf; better than
3598 using Gdk.CairoHelper since this does not require a context (direct
3599 pixbuf->surface instead of pixbuf->(internal surface)->context->
3602 2008-10-03 Gabriel Burt <gabriel.burt@gmail.com>
3604 This patch adds support for importing all white-listed file formats, even
3605 if TagLib# can't process them. That includes mov, flv, mkv, divx, and
3608 * src/Core/Banshee.ThickClient/Banshee.Library.Gui/FileImportSource.cs:
3609 Update to use new ExtensionSet class.
3611 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
3612 Use ExtensionSet class, move the IsWhiteListedFile check to the actual
3613 ImportTrack method because its public and we don't want API-consumers to
3614 be able to bypass the whitelist check.
3616 * src/Core/Banshee.Services/Banshee.Metadata.Embedded/EmbeddedQueryJob.cs:
3617 * src/Core/Banshee.Core/Banshee.Streaming/SaveTrackMetadataJob.cs:
3618 StreamTagger.ProcessUri will return null now if TagLib# can't process a
3619 file, instead of throwing an exception. Adjust users of that method
3622 * src/Core/Banshee.Core/Makefile.am:
3623 * src/Core/Banshee.Core/Banshee.Core.csproj:
3624 * src/Core/Banshee.Core/Banshee.IO/ExtensionSet.cs: New simple class that
3625 takes an array of strings/extensions and can tell you if a give file
3626 has one of the extensions in the set.
3628 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs: Catch TagLib#'s
3629 exceptions in ProcessUri and return null. Change MergeTrackInfo to accept
3630 a null TagLib.File argument, and use a ExtensionSet of several video
3631 extensions that might not work in taglib#, so we can properly mark such
3634 * src/Libraries/Hyena.Gui/Hyena.Gui/GtkUtilities.cs: Change GetFileFilter
3635 helper to take an IEnumerable<string> intead of a string array.
3637 2008-10-03 Gabriel Burt <gabriel.burt@gmail.com>
3639 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/ExtraTrackDetailsPage.cs:
3640 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/BasicTrackDetailsPage.cs:
3641 Use ValueAsInt instead of casting Value.
3643 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/RangeEntry.cs:
3644 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/SpinButtonEntry.cs:
3645 Instead of listening for the Changed event on SpinButtons, listen for the
3646 ValueChanged. Fixes issue with not saving any spin-entry values unless
3647 you clicked the up/down arrows (BGO #552698).
3649 2008-10-03 Gabriel Burt <gabriel.burt@gmail.com>
3651 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
3652 Add TODO about writing metadata to the DAP file to make sure its
3653 MetadataHash will match that of the in-Library track when we load the DAP
3656 2008-10-03 Gabriel Burt <gabriel.burt@gmail.com>
3658 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs: Add TODO to use
3659 transactions when loading tracks and use slightly better TrackCount method
3660 instead of accessing Tracks.Count twice.
3662 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapTrackInfo.cs: Set BitRate
3665 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Add
3666 thoughts on how to fix the transaction bug so we can bring back the
3667 transaction methods. Not going to do it now, too fundamental of a change
3670 2008-10-03 Gabriel Burt <gabriel.burt@gmail.com>
3672 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodTrackInfo.cs: Optimize
3673 cover art setting so that we only create a Pixbuf of the track's cover art
3674 if it's not already set.
3676 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/BasicTrackDetailsPage.cs:
3677 Reconnect the height of the year label to the height of the album artist
3678 label, and make the minimum for the year entry 0 not 1000 so that for
3679 tracks without a year set, it shows up as 0 not 1000.
3681 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/AlbumArtistEntry.cs:
3682 Expose the LabelWidget (the checkbox, actually) so the year label's height
3685 2008-10-02 Gabriel Burt <gabriel.burt@gmail.com>
3687 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/FieldPage.cs: Don't
3688 assume a slot has a Label or a LabelClosure.
3690 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/BasicTrackDetailsPage.cs:
3691 Instead of creating the Is Compilation checkbox here and setting that as
3692 the label for Album Artist, move it and its logic into a dedicated
3693 AlbumArtistEntry widget. Net effect is you can now sync the Is
3694 Compilation checkbox and the Album Artist value via the single sync
3697 * src/Core/Banshee.ThickClient/Makefile.am:
3698 * src/Core/Banshee.ThickClient/Banshee.ThickClient.csproj:
3699 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/AlbumArtistEntry.cs:
3700 New editor widget that has a checkbox and a text entry. Add tooltips to
3701 the checkbox and entry to explain what these values are.
3703 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
3704 Add *Field properties for actually loading/saving field values from/to the
3705 database - avoiding the checks and such that happen when you use the
3706 AlbumTitle et al setters. Based on patch from Benoit Boissinot, remove
3707 the restrictions on setting the AlbumArtist based on IsCompilation to avoid
3708 race condition with whether the IsCompilation bool was set true before
3709 trying to set the AlbumArtist value (BGO #554723).
3711 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Also based on
3712 the same patch from Benoit, is IsCompilation is false, in the AlbumArtist
3713 getter always return ArtistName, otherwise return the value of the album
3714 artist or Various Artists if its not set.
3716 2008-10-02 Gabriel Burt <gabriel.burt@gmail.com>
3718 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Patch from Benoit
3719 Boissinot. If the track_count is zero, don't do the trick where we return
3720 the TrackNumber (BGO #554720).
3722 2008-10-02 Gabriel Burt <gabriel.burt@gmail.com>
3724 * src/Libraries/Migo/Migo.Syndication/FeedUpdateTask.cs:
3725 * src/Libraries/Migo/Migo.TaskCore/Migo.TaskCore.Collections/TaskList.cs:
3728 2008-10-01 Gabriel Burt <gabriel.burt@gmail.com>
3730 This commit fixes jump-to-playing for podcasts and radio, avoids some
3731 hangs when loading playlists from the command line or Media menu.
3733 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
3734 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
3735 * src/Core/Banshee.Services/Banshee.PlaybackController/ICanonicalPlaybackController.cs:
3736 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
3737 * src/Core/Banshee.Services/Banshee.PlaybackController/IBasicPlaybackController.cs:
3738 Change the Next/Previos/First methods to return a bool saying whether they
3739 handled the action. So sources can implement IBasicPlaybackController and
3740 return false if they want the normal controller to handle that action.
3742 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
3743 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
3744 Make sure playlist parsing (which could involved network access) is done
3745 not on the GUI thread.
3747 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastImageFetchJob.cs:
3748 Reload the whole source when done fetching podcast artwork.
3750 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastSourceContents.cs:
3751 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSourceContents.cs:
3752 Implement ITrackModelSourceContents so jump-to-playing track works for
3755 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
3756 Implement IBasicPlaybackController, and play the next/previous stream
3757 within the station (if any) when Next/Previous are called.
3759 * src/Core/Banshee.Services/Banshee.Playlists.Formats/PlaylistParser.cs:
3760 Add AssertNotInMainThread to help identify places we call this from the
3763 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
3764 In IndexOf method, if the track is a RadioTrackInfo, lookup the IndexOf
3765 its parent track, since RadioTrackInfo is a wrapper.
3767 * src/Core/Banshee.Services/Banshee.Streaming/RadioTrackInfo.cs: Add
3768 PlayPreviousStream method, and return whether able to play next/previous
3769 in those methods, so we can fall back on the normal playback controller if
3772 2008-10-01 Gabriel Burt <gabriel.burt@gmail.com>
3774 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Use
3775 track.ArtworkId instead of explicitly calling CreateArtistAlbumId.
3777 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs:
3778 Remove unused override.
3780 * src/Core/Banshee.Services/Banshee.Metadata/MetadataService.cs: Don't
3781 lookup a track if its ArtworkId is null.
3783 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
3784 Don't set the AlbumArtist value if IsCompilation is false.
3786 * src/Core/Banshee.Core/Banshee.Base/CoverArtSpec.cs: Set null ArtworkId
3787 if either the artist or album is unknown (BGO #549320).
3789 2008-10-01 Gabriel Burt <gabriel.burt@gmail.com>
3791 * src/Core/Banshee.Services/Banshee.Metadata/MetadataServiceJob.cs: Factor
3792 out the save-to-temp-file-then-move logic into a method, SaveAtomically,
3793 that takes any input Stream and saves it to a file with that save
3796 * src/Core/Banshee.Services/Banshee.Metadata.Embedded/EmbeddedQueryJob.cs:
3797 If the file is already a JPG, save it directly as a JPG but using the new
3798 SaveAtomically method. If it's not a JPG, save it with .cover extension
3801 * src/Core/Banshee.Services/Banshee.Metadata.FileSystem/FileSystemQueryJob.cs:
3802 Look for PNG and BMP files too (BGO #547841), and save as .cover if not
3803 JPG, and use SaveAtomically method to avoid race. Also, increase to 30
3804 the threshold number of files in a folder above which we don't take any
3807 2008-10-01 Gabriel Burt <gabriel.burt@gmail.com>
3809 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
3810 * src/Core/Banshee.ThickClient/Banshee.Gui/BaseClientWindow.cs: Add stupid
3811 protected IntPtr ctors.
3813 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Set the transcoder
3814 ErrorHandler and add an entry to the ErrorSource when there is a transcode
3817 * src/Core/Banshee.Services/Banshee.MediaEngine/TranscoderService.cs:
3818 Instead of popping up a dialog with a transode error and cancelling all
3819 other queued transcodes, simply call the error handler for the track and
3822 2008-09-30 Gabriel Burt <gabriel.burt@gmail.com>
3824 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs:
3825 We allow putting files with extension .cover in the ~/.cache/album-art
3826 folder, which means we should, on a later pass, cover them to jpeg if
3827 necessary. That code path was broken, which also broke embedded cover art
3828 fetching because it always names the files it fetches with a .cover
3829 extension (BGO #388162).
3831 2008-09-30 Gabriel Burt <gabriel.burt@gmail.com>
3833 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
3834 Every 10 minutes refresh any podcasts that haven't been updated in over an
3837 2008-09-30 Gabriel Burt <gabriel.burt@gmail.com>
3839 * src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs: Ensure that the Sync happens
3840 not on the main thread. If you changed the Automatic Sync option, it
3841 woudl trigger a sync immediately, but that sync was happening on the GUI
3844 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapActions.cs: DapSync takes care of
3845 threading now, remove SpawnFromMain call here.
3847 * src/Core/Banshee.Services/Banshee.Base/ThreadAssist.cs: Add helper
3848 method AssertNotInMainThread useful for debugging.
3850 2008-09-29 Gabriel Burt <gabriel.burt@gmail.com>
3852 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Add SupportsVideo and
3853 SupportsPodcast bools with protected setters so subclasses can turn off
3854 the Video and Podcast child sources.
3856 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Only enable
3857 video support (syncing and the child source) for devices that support it.
3858 Also don't sync playlists to iPod shuffle devices. Give feedback about
3859 out-of-space errors.
3861 * src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs: Don't show/sync video if not
3862 supported. Sync Music library first. Improve/fix auto-syncing when you
3863 change your libraries it should work better now.
3865 * src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs: Delete playlists if
3866 they end up having no tracks when put on the device.
3868 2008-09-29 Gabriel Burt <gabriel.burt@gmail.com>
3870 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/XmlColumnController.cs:
3871 Allow setting the LongTitle in the xml.
3873 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastSource.cs:
3874 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
3875 * src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs:
3876 Override the long-title too so that the column names in the context menu
3877 are changed appropriately.
3879 2008-09-29 Aaron Bockover <abock@gnome.org>
3881 * src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileComboBox.cs:
3882 Ensure that if there's a mimetype restriction filter and no profiles
3883 exist to match that filter that the combo box becomes insensitive and
3884 displays 'no profiles'
3886 * src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileComboBoxConfigurable.cs:
3887 Do not show the profile description box if the combo is insensitive
3889 * src/Core/Banshee.Services/Banshee.MediaProfiles/MediaProfileManager.cs:
3890 When loading profile configurations, re-run the mimetype check to ensure
3891 that the profile is actually valid for the request
3893 2008-09-29 Gabriel Burt <gabriel.burt@gmail.com>
3895 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/ExtraTrackDetailsPage.cs:
3896 Set some properties on the BPM spin entry - 3 chars max, 0 decimal digits,
3897 and numeric = true. Also, it shouldn't be syncable.
3899 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Comment out
3900 Gtk# 2.12-dependent features; only used in commented out tooltip code
3903 2008-09-29 Aaron Bockover <abock@gnome.org>
3905 * src/Clients/Beroe/Beroe/IndexerClient.cs: Log when the client has started
3907 * src/Clients/Beroe/Beroe/RemoteClient.cs: Stubbed out some more
3908 example client indexer stuff
3910 * src/Core/Banshee.Services/Banshee.Collection.Indexer.RemoteHelper/IndexerClient.cs:
3911 Add a helper method for creating indexers; fix a small race bug
3913 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellLocation.cs:
3914 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
3915 Added a new location cell to show local paths as paths and not URIs
3917 2008-09-29 Gabriel Burt <gabriel.burt@gmail.com>
3919 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
3920 Ignore 0169 warning.
3922 2008-09-29 Gabriel Burt <gabriel.burt@gmail.com>
3924 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackInfo.cs:
3925 Remove a bunch of old, commented-out code.
3927 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellRating.cs:
3928 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/IInteractiveCell.cs: Whitespace
3930 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
3931 Factor some useful bits out of ProxyEventToCell that can be reused for
3934 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView.cs: Implement
3935 tooltips for ListView for ellipsized ColumnCellText cells, but comment it
3936 out for now because there is a segfault bug in Gtk+ or Gtk# that rears its
3937 head once in a while.
3939 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Add public
3940 UpdateText method and IsEllipsized and Text properties.
3942 2008-09-26 Gabriel Burt <gabriel.burt@gmail.com>
3944 * src/Core/Banshee.Widgets/Banshee.Widgets/SeekSlider.cs: We were calling
3945 base.OnButtonPressEvent instead of base.OnButtonReleaseEvent in our
3946 ButtonReleaseEvent override -- whoops! Somehow this used to work with
3947 older Gtk#s, but no longer; anyway, fixed (BGO #536397).
3949 2008-09-25 Gabriel Burt <gabriel.burt@gmail.com>
3951 This patch adds a Description column to podcasts.
3953 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
3954 Fix newline removing migration (remove \r\n first then \n), and add a new
3955 migration to initialize the new Item.StrippedDescription property.
3957 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastSource.cs:
3958 Add a Description column that is stripped of HTML and newlines and
3959 HtmlDecoded (BGO #503481).
3961 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackInfo.cs:
3962 Add a Description property, proxying the item.StrippedDescription.
3964 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackListModel.cs:
3965 Handle sorting by description.
3967 * src/Libraries/Hyena/Hyena/Tests/StringUtilTests.cs: Test the new
3970 * src/Libraries/Hyena/Hyena/StringUtil.cs: Add RemoveHtml method, very
3971 simple, removes anything that looks like a tag, eg <*>.
3973 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnHeaderCellText.cs:
3974 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Move the
3975 clipping to the ColumnCellText itself so that all text columns get
3976 properly clipped (was an issue for very long descriptions).
3978 * src/Libraries/Migo/Migo.csproj: Reference System.Web.
3980 * src/Libraries/Migo/Migo.Syndication/FeedItem.cs: Add StrippedDescription
3981 property and UpdateStrippedDescription that handles removing the HTML and
3984 * src/Libraries/Migo/Migo.Syndication/RssParser.cs: Call
3985 StringUtil.RemoveNewlines here when setting item and feed
3988 * src/Libraries/Migo/Migo.Syndication/Feed.cs: The RemoveNewlines call is
3989 now done in RssParser.
3991 2008-09-25 Gabriel Burt <gabriel.burt@gmail.com>
3993 * src/Libraries/Mtp/Mtp/MtpDevice.cs: Prevent NRE (BGO #552428).
3995 2008-09-25 Gabriel Burt <gabriel.burt@gmail.com>
3997 * src/Extensions/Banshee.Podcasting/Makefile.am:
3998 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.csproj:
3999 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellYesNo.cs:
4000 New cell for bools that renders yes/no.
4002 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastSource.cs:
4003 Get rid of old combined status column, and add downloaded and new columns
4006 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackListModel.cs:
4007 Implement sorting for IsNew/IsDownloaded.
4009 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Whitespace.
4011 2008-09-25 Marek Habersack <mhabersack@novell.com>
4013 * src/Libraries/Migo/Migo.Syndication/MigoModelProvider.cs: newer
4014 versions of gmcs enforce ordering of 'where' constraints from less
4015 concrete to more concrete types (i.e. interface constraints must
4018 2008-09-25 Gabriel Burt <gabriel.burt@gmail.com>
4020 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Don't sync on
4021 eject if the device IsReadOnly, and consider the device to be readonly if
4022 the database isn't supported.
4024 2008-09-24 Gabriel Burt <gabriel.burt@gmail.com>
4026 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
4027 Run UPDATE queries against CoreTracks and PodcastItems to remove any
4030 * src/Libraries/Hyena/Hyena/Tests/StringUtilTests.cs:
4031 * src/Libraries/Hyena/Hyena/StringUtil.cs: Add and test new method for
4032 removing all newlines from a string.
4034 * src/Libraries/Migo/Migo.Syndication/Feed.cs: Remove newlines from title
4035 and description when setting them (BGO #550008).
4037 2008-09-24 Gabriel Burt <gabriel.burt@gmail.com>
4039 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
4042 2008-09-24 Gabriel Burt <gabriel.burt@gmail.com>
4044 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
4045 Fix NRE (BGO #553665) when editing audio cd tracks.
4047 2008-09-24 Bertrand Lorentz <bertrand.lorentz@gmail.com>
4049 * src/Extensions/Banshee.Sample/Banshee.Sample/SampleSource.cs: Update
4050 the sample extension so that it compiles again (BGO #551860).
4052 2008-09-24 Gabriel Burt <gabriel.burt@gmail.com>
4054 * src/Backends/Banshee.Hal/Banshee.HalBackend/DeviceMediaCapabilities.cs:
4055 Catch exceptions thrown by managed dbus (BGO #551311).
4057 2008-09-24 Gabriel Burt <gabriel.burt@gmail.com>
4059 * src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs: Call OnUpdated when the
4060 auto-sync pref changes too.
4062 2008-09-24 Gabriel Burt <gabriel.burt@gmail.com>
4064 * src/Libraries/Hyena/Hyena/StringUtil.cs: Use the invariant culture to
4065 avoid invalid gconf keys (BGO #548144).
4067 2008-09-24 Gabriel Burt <gabriel.burt@gmail.com>
4069 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
4070 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Make F11 work to
4071 fullscreen/unfullscreen Banshee too (BGO #553440).
4073 2008-09-24 Gabriel Burt <gabriel.burt@gmail.com>
4075 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Instead of
4076 calling QueueSync after every added or deleted track call it only in
4077 OnTracksAdded/Deleted and when not syncing. Should fix bug with 'Syncing
4078 iPod' showing up every 10 songs (BGO #552543). Shorten the timeout till
4079 the actual sync since we no longer rely on it being long enough we'll
4080 add/remove a song and push it back before it goes off. Could probably get
4081 rid of it altogther.
4083 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Add
4084 AcceptsUserInputFromSource method that returns the same value as
4085 AcceptsInputFromSource.
4087 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Override
4088 AccepsUserInputFromSource to base && CanAddTracks - which is set to false
4089 if the user shouldn't be able to drag tracks from a source to this one, if
4090 the destination is readonly, or a not-manually-managed dap, say.
4092 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs: Fix bug with sync
4093 not working because AcceptsInputFromSource was returning false because
4094 sync was enabled; added another AcceptsUserInputFromSource that is used
4095 to turn on/off DnD from SourceView etc and that returns false still.
4097 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Make sure the file we're
4098 talking about transferring is exists.
4100 * src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs: Remove some logging.
4102 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs: Don't
4103 hide the Status label iff it's ever been set to non-null/empty to avoid
4104 the height of the tile changing rapidly in some cases.
4106 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
4107 Use new AccepsUserInputFromSource method.
4109 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
4110 Avoid NRE that was caught but spewed a lot of logging.
4112 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Style fixes,
4113 and don't set the AddTrackJob status to empty between tracks because that
4114 causes a strange height-change flicker.
4116 2008-09-24 Gabriel Burt <gabriel.burt@gmail.com>
4118 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
4119 * src/Clients/Nereid/Nereid/ViewContainer.cs: Change the order of some
4120 hides so that the footer widget is hidden before changing the main source
4123 * src/Libraries/Hyena.Gui/Hyena.Widgets/RoundedFrame.cs: Fix bug with
4124 SizeRequest handler that caused the DapInfoBar and the Recommendations
4125 pane to not show up.
4127 2008-09-24 Gabriel Burt <gabriel.burt@gmail.com>
4129 * src/Core/Banshee.ThickClient/Banshee.Gui/BaseClientWindow.cs: Add a
4130 SetVisible method to allow explicitly setting the state, as opposed to
4131 relying on the Toggle logic, which breaks alt-f4 closing because
4132 apparently the window !IsActive when that's pressed (BNC #257350).
4134 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
4135 Call SetVisible (false) explicitly from the CloseWindow method.
4137 2008-09-23 Gabriel Burt <gabriel.burt@gmail.com>
4139 * src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs: Update the sensitivities of
4140 the library sync prefs when the Manual Sync pref changes, and raise
4141 Updated when that happens too so that the Sync action is immediately
4142 hidden/shown (BGO #552654).
4144 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/WidgetFactory.cs:
4145 Fix listening to changes on the Preference and setting the sensitivity and
4146 visibility of the widgets.
4148 2008-09-23 Aaron Bockover <abock@gnome.org>
4150 * src/Libraries/Hyena.Gui/Hyena.Gui/GtkUtilities.cs: Do nothing if the
4153 2008-09-23 Aaron Bockover <abock@gnome.org>
4155 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
4156 Removed the old Style override that didn't even work and caused theme
4159 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
4160 Use the new and working AdaptGtkRcStyle utility
4162 * src/Libraries/Hyena.Gui/Hyena.Gui/GtkUtilities.cs: Implement
4163 AdaptGtkRcStyle utility to look up colors through GtkRc and adapt
4164 them to a given widget
4166 2008-09-23 Aaron Bockover <abock@gnome.org>
4168 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
4169 Implement IPlayQueue
4171 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/IPlayQueue.cs:
4172 Basic interface for adding files that are already in the library to the
4175 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Implement
4176 IDBusExportable and automatically register and unregister sources on the
4177 bus that implement IDBusExportable as well
4179 2008-09-23 Gabriel Burt <gabriel.burt@gmail.com>
4181 * src/Libraries/Mtp/Mtp/Folder.cs:
4182 * src/Libraries/Mtp/Mtp/Album.cs:
4183 * src/Libraries/Mtp/Mtp/Track.cs: Patch from Salah Coronya adding support
4184 for libmtp >= 0.3.0 (aka libmtp8). Modified by myself to #if/else the
4185 patch out if building against older versions of libmtp - so still
4186 compatible with libmtp >= 0.2.0 (BGO #542117).
4188 * src/Libraries/Mtp/Makefile.am: Set the define appropriately based on the
4189 version of libmtp we're building against.
4191 * build/m4/banshee/dap-mtp.m4: Allow libmtp >= 0.30.
4193 * build/build.rules.mk: Pass the BUILD_DEFINES variable to the actual
4194 build command, so assemblies can define things to #if around.
4196 2008-09-23 Gabriel Burt <gabriel.burt@gmail.com>
4198 * src/Core/Banshee.Services/Banshee.Metadata.FileSystem/FileSystemQueryJob.cs:
4199 Log a message when we ignore cover art in folders b/c too many files in
4202 2008-09-23 Aaron Bockover <abock@gnome.org>
4204 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
4205 Add a method for raising the reloaded event, NotifyUpdated
4207 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
4208 Call NotifyUpdated on the model, not OnUpdated on the source; fixes the
4209 redrawing when locking/unlocking tracks for playback during the rip
4211 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs: Do not
4212 show the rip speed factor (e.g. 15x) until it has settled to an appropriate
4213 value, somewhere between 1x and 200x
4215 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/AudioCdRipper.cs: Load
4216 either the Vorbis or FLAC audio profiles if there is no configured rip
4217 profile and set the active profile in this case; this fixes the bug where
4218 ripping a CD is not possible unless the user first chooses/changes the
4219 ripping profile in the preferences dialog (BGO #528621)
4221 2008-09-22 Aaron Bockover <abock@gnome.org>
4223 Banshee 1.3.1 Released
4225 2008-09-22 Aaron Bockover <abock@gnome.org>
4227 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
4228 Compute the PCM file size for each track, set it on AudioCdTrackInfo,
4229 and aggregate these values into a disc size
4231 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
4232 Implement IFileSizeAggregator and report the disc size
4234 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/EditorTrackInfo.cs:
4235 Only dump the taglib read exception if the URI scheme is file
4237 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
4238 Show either an Editor or Properties title based on the editor mode
4240 2008-09-22 Gabriel Burt <gabriel.burt@gmail.com>
4242 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
4243 Override HasViewable/EditableTrackProperties to true so can finally edit
4244 audio CD track information again before ripping (BGO #532467).
4246 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Don't require
4247 the source to have a DatabaseTrackListModel to view/edit props
4249 2008-09-22 Aaron Bockover <abock@gnome.org>
4251 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
4252 Only draw the header separator if the column can be resized, or a previous
4253 header separator has already been drawn - this allows leading columns
4254 to appear as one column
4256 2008-09-22 Aaron Bockover <abock@gnome.org>
4258 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
4259 Disable viewing read only properties
4261 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
4262 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
4263 Support read only and editable property items
4265 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Added
4266 HasViewableTrackProperties and HasEditableTrackProperties items, defaulting
4269 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Override
4270 the new properties above to be true
4272 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Renamed
4275 2008-09-20 Gabriel Burt <gabriel.burt@gmail.com>
4277 * src/Extensions/Banshee.MediaWeb/Banshee.MediaWeb/MediaWebSource.cs:
4278 * src/Extensions/Banshee.MediaWeb/Banshee.MediaWeb/MediaWebView.cs: Add
4279 debugging, and send to hulu not miroguide.com b/c the later doensn't work
4280 atm due to SSL certs.
4282 * configure.ac: Echo any manually-enabled unstable/unfinished features.
4284 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/DownloadManager/DownloadUserJob.cs:
4285 Currently transferring => Transferring
4287 2008-09-19 Gabriel Burt <gabriel.burt@gmail.com>
4289 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
4290 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
4291 Fix bug I introduced the other day with not being able to DnD more than
4292 one track because all but the pointed-to track would get unselected when
4293 you tried to drag (BGO #552715).
4295 2008-09-19 Bertrand Lorentz <bertrand.lorentz@gmail.com>
4297 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Patch from
4298 Michael Monreal to make the help menu HIG compliant (BGO #552700).
4300 2008-09-18 Aaron Bockover <abock@gnome.org>
4302 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs: Use
4303 the foreground selected color from the menu item, not the label
4305 2008-09-18 Gabriel Burt <gabriel.burt@gmail.com>
4307 * src/Core/Banshee.ThickClient/Banshee.ThickClient.csproj:
4308 * src/Core/Banshee.ThickClient/Makefile.am:
4309 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellTrackAndCount.cs:
4310 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellDiscAndCount.cs:
4311 New classes for N of M columns for track/disc #/count.
4313 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
4314 Make the track # column have no title in its header, and get rid of the
4315 disc/track count and disc # columns, replacing them with two new ones from
4318 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Rename
4319 DiscField to DiscNumberField, and sort the disc sort-key similar to how
4322 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/Column.cs: Allow setting the Id.
4324 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Allow setting
4325 the min/max strings directly. Used by two new columns to avoid creating
4326 TrackInfo objects just to set the min/max strings.
4328 2008-09-18 Aaron Bockover <abock@gnome.org>
4330 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
4331 Fix math for choosing the number of rows to influence the number of
4332 columns for aesthetic column menu
4334 2008-09-18 Aaron Bockover <abock@gnome.org>
4336 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
4337 Force the foreground color of embedded menu labels in the prelight state
4338 to use the foreground color from the selected state (BGO #524897)
4340 2008-09-18 Gabriel Burt <gabriel.burt@gmail.com>
4342 * src/Libraries/Hyena/Hyena.Data/ColumnDescription.cs: Add a LongTitle
4345 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
4346 Use the QueryField.ShortLabel in the ColumnDescription for the Title, and
4347 set the LongTitle to the field's Label property.
4349 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs: Use
4350 the LongTitle in the menus.
4352 2008-09-18 Gabriel Burt <gabriel.burt@gmail.com>
4354 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellPublished.cs:
4355 Use the new SetMinMaxStrings method in ColumnCellText to define the
4356 min/max widths for these columns.
4358 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellUnheard.cs:
4359 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellDownloadStatus.cs:
4360 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellQueryText.cs:
4361 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellDateTime.cs:
4362 Update to new ColumnCellText API, replacing the Text property with a
4363 GetText method so we can get the text for any arbitrary object (the
4364 min/max strings, for example) instead of just the bound object.
4366 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Add ShortLabels
4367 for a few fields, and make sorting by Grouping the same as sorting by
4370 * src/Libraries/Hyena/Hyena.Query/QueryField.cs: Add a ShortLabel property
4371 that default to the value of Label.
4373 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/XmlColumnController.cs:
4374 Only set the min/max widths if they were actually specified in the XML.
4376 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellFileSize.cs:
4377 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellTrackNumber.cs:
4378 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellPositiveInt.cs:
4379 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellDuration.cs:
4380 Use the new SetMinMaxStrings method and change to the new GetText method.
4382 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
4383 Set the Uri column to ellipsize in the middle of the string, and change
4384 the ColumnCellPositiveInt columns to use its new ctor to specify the
4385 min/max number of digits (eg always 4 for Year). Use the QueryFields'
4386 ShortLabel property for the column Title.
4388 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnHeaderCellText.cs: Add
4389 static GetArrowWidth method and get rid of MinWidth property.
4391 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ISizeRequestCell.cs: Replace
4392 GetSize method with GetWidthRange.
4394 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/Column.cs: Add CalculateWidths
4395 method that is passed a Pango.Layout so we can calculate an accurate
4396 Min/Max width for a column
4398 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/IHeaderCell.cs: Get rid of
4401 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs: Call
4402 column.CalculateWidths before accessing the Min/MaxWidth properties. When
4403 resizing a column, don't let it be resized bigger than the MaxWidth.
4405 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
4406 Handle escape key to stop column moving/DnD. Reorder conditional to avoid
4407 iterating over all columns to see if there is a resizable column at the x
4408 position every time MotionEvent is fired - no need to do that unless the
4409 motion was inside the header.
4411 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Replace Text
4412 property that returned the BoundObject with a GetText method that takes
4413 any object. Add protected SetMinMaxStrings method that subclasses can
4414 use to specify objects, which are converted to strings using GetText and
4415 then their width retrieved using the Pango.Layout passed to GetWidthRange.
4417 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellRating.cs: Set the Xpad
4418 to 0 - there previously was too much padding on the left/right. And
4419 replace GetSize and GetWidthRange.
4421 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellCheckBox.cs: Replace
4422 GetSize with GetWidthRange.
4424 2008-09-18 Aaron Bockover <abock@gnome.org>
4426 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
4427 Break the column menu into multiple columns so it's easier to read and
4428 navigate, hopefully avoiding crappy menu scrolling in GTK; make the
4429 hide menu item have an icon and italicize the column name
4431 2008-09-18 Aaron Bockover <abock@gnome.org>
4433 * src/Core/Banshee.Widgets/Banshee.Widgets/LinkLabel.cs: Implement
4434 proper size allocation and requisitioning, read the focus style properties
4435 from a GtkCheckButton on style set, and properly render the checkbutton
4436 focus style; fixes spacing/padding/theme issues with focus (was the
4437 button style before, at the wrong offset/padding)
4439 2008-09-18 Gabriel Burt <gabriel.burt@gmail.com>
4441 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
4442 Fix bug with not resetting the SkipTaskBar/Pager properties when the
4443 fullscreen window is hidden (BGO #546866).
4445 2008-09-18 Gabriel Burt <gabriel.burt@gmail.com>
4447 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/LargeTrackInfoDisplay.cs:
4448 Fix System.ArgumentOutOfRangeException (BGO #552820).
4450 2008-09-17 Aaron Bockover <abock@gnome.org>
4452 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Removed
4453 commented out invocation of the old editor
4455 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs:
4456 Removed the old editor implementation
4458 * src/Core/Banshee.ThickClient/Resources/banshee-dialogs.glade: Removed
4459 the old track editor and the obsolete/legacy burner options dialogs
4461 2008-09-17 Aaron Bockover <abock@gnome.org>
4463 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
4464 Iterate over all ICanUndo's and disconnect/connect the adapters when
4465 loading new tracks; factored out the ForeachSyncButton methods into
4466 a generic ForeachWidget method taking a generic closure
4468 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/EditorEntryUndoAdapter.cs:
4469 Implement a one-to-many adapter for entry undo adapters; this allows entry
4470 undo adapters to be adapted on a per-track basis to each editor field
4472 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/ICanUndo.cs:
4473 Interface for fields that support undo/redo
4475 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/GenreEntry.cs:
4476 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TitleEntry.cs:
4477 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TextEntry.cs:
4478 Implement ICanUndo by way of EditorEntryUndoAdapter
4480 * src/Libraries/Hyena.Gui/Hyena.Gui/EntryUndoAdapter.cs: Added
4481 Connect and Disconnect methods so multiple adapters can listen on the
4484 2008-09-17 Aaron Bockover <abock@gnome.org>
4486 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/FieldPage.cs:
4487 Set the Changed property on the current track in the Changed event
4489 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/EditorTrackInfo.cs:
4490 Added a Changed property
4492 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
4493 Implemented saving finally, it should work. Test it. File bugs. Made the
4494 message in the confirm cancel dialog slicker by showing the number of
4495 changed out of the total tracks
4497 2008-09-17 Aaron Bockover <abock@gnome.org>
4499 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellDuration.cs:
4500 Use the new static override in DurationStatusFormatters
4502 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/FieldPage.cs:
4503 Implement Changed event, raise when fields actually change
4505 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/ITrackEditorPage.cs:
4508 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/HelpPage.cs:
4509 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/StatisticsPage.cs:
4510 Implement Change event, do not raise, because um, nothing is editable here
4512 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
4513 Open a confirmation dialog when the user tries to cancel and has made
4516 * src/Core/Banshee.Services/Banshee.Sources/DurationStatusFormatters.cs:
4517 Added a new duration formatter, ApproximateVerboseFormatter and added
4518 overrides that do not require a StringBuilder
4520 * src/Core/Banshee.Widgets/Banshee.Widgets/HigMessageDialog.cs: Expose
4521 MessageLabel so it can be edited after the fact
4523 2008-09-17 Aaron Bockover <abock@gnome.org>
4525 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
4526 Added logic to make focus and prelight play nice when doing the pulsing
4528 2008-09-16 Aaron Bockover <abock@gnome.org>
4530 * src/Libraries/Hyena.Gui/Hyena.Gui.Theatrics/Pulsator.cs: Added a
4533 2008-09-16 Aaron Bockover <abock@gnome.org>
4535 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
4536 When the mouse is over the sync all button, tell all the other sync
4537 buttons to start pulsing
4539 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/SyncButton.cs:
4540 Extend PulsingButton instead of Button
4542 * src/Libraries/Hyena.Gui/Hyena.Widgets/PulsingButton.cs: New button that
4545 * src/Libraries/Hyena.Gui/Hyena.Gui.Theatrics/Tests/ChoreographerTests.cs:
4546 Unit tests for the choreographer compositions
4548 * src/Libraries/Hyena.Gui/Hyena.Gui.Theatrics/Choreographer.cs: Factored
4549 out the scaling and pixel rounded from the core compose functions into
4552 * src/Libraries/Hyena.Gui/Hyena.Gui.Theatrics/Pulsator.cs: Small Actor<T>
4553 wrapper that implements pulsing logic
4555 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs:
4556 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedWidget.cs:
4557 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedBox.cs: Updated for
4558 API changes in Choreographer
4560 2008-09-16 Gabriel Burt <gabriel.burt@gmail.com>
4562 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/Models/ListModel.cs:
4563 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/Models/FilterableListModel.cs:
4564 Comment out unused classes; should probably be removed.
4566 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapPlaylistSource.cs:
4567 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
4568 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs:
4569 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs:
4570 * src/Dap/Banshee.Dap/Banshee.Dap/MediaGroupSource.cs:
4571 * src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs:
4572 * src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs:
4573 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
4574 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
4575 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs:
4576 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
4577 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
4578 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs:
4579 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
4580 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
4581 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
4582 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistDefinition.cs:
4583 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
4584 Update to use new DatabaseSource ctor that takes a PrimarySource, not its DbId.
4586 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
4587 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
4588 Use new ctor, and explicitly set TrackModel.CanReorder to true.
4590 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/PersistentColumnController.cs:
4591 Persist on a per-source basis the sort column/direction (BGO #524656).
4593 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/BaseTrackListView.cs:
4594 Set IsEverReordereable to true; but whether the TrackList is actually
4595 reorderable also depends on the IsReorderable property, which is set
4596 automatically if the SortColumn's SortType is None (BGO #551969).
4598 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
4599 Added logic to ignore Sort requests if we already are sorted by the
4600 current key/direction. Also, return true/false based on whether a new
4601 sort was applied (and therefore the model should be Reloaded). Move the
4602 logic that iterates through None/Asc/Desc and that sets the initial
4603 direction to Asc when sorting by a different column into the ListView.
4605 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Rename
4606 ConfigurationId property to ParentConfigurationId, and add a new
4607 ConfigurationId property that is actually unique to this source.
4609 * src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs:
4610 * src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs:
4611 * src/Libraries/Hyena/Hyena.Data/IListModel.cs:
4612 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListViewTestModule.cs:
4613 Add CanReorder property.
4615 * src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs: Remove
4616 some more columns from the default (music) column list, and set a default
4619 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GConfConfigurationClient.cs:
4620 Replace / chars in the namespace with _ for .-separated keys.
4622 * src/Libraries/Hyena/Hyena.Data/ISortable.cs: Change Sort to return bool.
4624 * src/Libraries/Hyena/Hyena.Data/ISortableColumn.cs: Add Id getter.
4626 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnController.cs: Add
4627 SortColumn property, used to get access to the currently-sorted-by column.
4629 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_DragAndDrop.cs:
4630 Replace Reorderable property into IsReorderable and IsEverReorderable,
4631 both of which must be set to true for the ListView to turn be a drag
4632 source/drop dest (overridable as before w/ the Force* properties).
4634 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
4635 Reorderable renamed to IsReorderable.
4637 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
4638 Moved the logic for iterating through None/Asc/Desc here from
4639 DatabaseTrackListModel.cs.
4641 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs: When
4642 setting the ListView's model, update the sort column, since it is
4643 remembered on a per-source basis now.
4645 2008-09-15 Gabriel Burt <gabriel.burt@gmail.com>
4647 * src/Core/Banshee.ThickClient/Banshee.Gui/BaseClientWindow.cs: Change the
4648 ToggleVisibility method to Present the window if the window is minimized,
4649 hidden in the tray, or simply not the focused window. Iff it is the
4650 active window, hide it (BGO #551916).
4652 2008-09-15 Gabriel Burt <gabriel.burt@gmail.com>
4654 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
4655 Allow shrinking selections with the shift-key pressed (BGO #535561).
4657 2008-09-15 Aaron Bockover <abock@gnome.org>
4659 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Use the
4660 new editor, even though I still haven't finished implementing save
4662 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/FieldPage.cs:
4663 Support setting a tooltip on the sync buttons
4665 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/StatisticsPage.cs:
4668 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
4669 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/BasicTrackDetailsPage.cs:
4670 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/ExtraTrackDetailsPage.cs:
4673 2008-09-15 Gabriel Burt <gabriel.burt@gmail.com>
4675 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs: Bring
4676 back logic that scrolls to the first selected item when the view is
4677 refreshed unless it's already in the view (BGO #551970).
4679 2008-09-15 Gabriel Burt <gabriel.burt@gmail.com>
4681 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastSourceContents.cs:
4682 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
4683 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs:
4684 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs:
4685 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
4686 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
4687 * src/Core/Banshee.Services/Banshee.Collection/IFilterListModel.cs:
4688 * src/Core/Banshee.Services/Banshee.Collection/FilterListModel.cs:
4689 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs: Fix
4690 issue with the ListViews getting scrolled to the top of the list every
4691 time you switched sources.
4693 2008-09-15 Gabriel Burt <gabriel.burt@gmail.com>
4695 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationEditor.cs:
4696 Apply the translation domain fix here too.
4698 * src/Core/Banshee.Core/Banshee.I18n/Catalog.cs: Add a note about the
4699 hardcoded "banshee" for if/when we use this class.
4701 2008-09-15 Bertrand Lorentz <bertrand.lorentz@gmail.com>
4703 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/GladeWindow.cs: Set
4704 the proper translation domain when loading glade XML files (BGO #536268).
4706 2008-09-15 Aaron Bockover <abock@gnome.org>
4708 * src/Clients/Beroe/Beroe/IndexerClient.cs: Call ForceShutdown on the
4709 collection indexer service after 2.5 seconds to kick off anyone that
4710 did not respect the CleanupAndShutdown signal
4712 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexerService.cs:
4713 Implemented a ForceShutdown method
4715 2008-09-15 Aaron Bockover <abock@gnome.org>
4717 * src/Clients/Beroe/Beroe/RemoteClient.cs: Turn debugging on
4719 * src/Core/Banshee.Services/Banshee.Collection.Indexer.RemoteHelper/IndexerClient.cs:
4722 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexerService.cs:
4723 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexer.cs:
4724 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexerService.cs:
4725 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexer.cs:
4726 Moved internal interfaces from the DBus interface to the implementations
4728 2008-09-15 Gabriel Burt <gabriel.burt@gmail.com>
4730 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapContent.cs:
4731 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapPropertiesDisplay.cs:
4732 * src/Libraries/Hyena.Gui/Hyena.Widgets/RoundedFrame.cs: Add protected
4733 IntPtr ctor to avoid GLib.MissingIntPtrCtorException I don't honestly
4734 understand (BGO #552169).
4736 2008-09-15 Aaron Bockover <abock@gnome.org>
4738 * src/Clients/Beroe/Beroe/IndexerClient.cs: Support a --client option to
4739 run the fake indexer client
4741 * src/Clients/Beroe/Beroe/RemoteClient.cs: An example client indexer
4742 that doesn't really do anything
4744 * src/Core/Banshee.Services/Banshee.Collection.Indexer.RemoteHelper/IndexerClient.cs:
4745 First pass at a wrapper implementing the proper logic for interacting
4746 with the Banshee indexer and respecting the boot sequence and client
4749 2008-09-12 Gabriel Burt <gabriel.burt@gmail.com>
4751 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
4754 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GConfConfigurationClient.cs:
4755 Replace all whitespace with underscores to prevent an invalid key/crash.
4757 2008-09-12 Gabriel Burt <gabriel.burt@gmail.com>
4759 * src/Extensions/Banshee.PlayQueue/Makefile.am:
4760 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue.csproj:
4761 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
4762 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueActions.cs:
4763 Separate out the PlayQueue actions into their own subclass of
4764 BansheeActionGroup, so they are disposed of properly when the plugin is,
4765 etc (BGO #552005). Also, don't show Add to Play Queue action when in the
4766 play queue iteslf (BGO #551672).
4768 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Check
4769 whether the action group is already registered before [un]registering.
4771 2008-09-12 Gabriel Burt <gabriel.burt@gmail.com>
4773 * src/Extensions/Banshee.RemoteAudio/Banshee.RemoteAudio/RemoteAudioService.cs:
4774 Avoid NRE when disposing if the network isn't connected.
4776 2008-09-12 Aaron Bockover <abock@gnome.org>
4778 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexerService.cs:
4779 Remove unused variable
4781 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationService.cs:
4782 * src/Libraries/Hyena/Hyena.Collections/QueuePipelineElement.cs: Fixes to
4783 work around compiler bugs in gmcs 1.2.5
4785 2008-09-11 Aaron Bockover <abock@gnome.org>
4787 Banshee 1.3.0 Released
4789 2008-09-11 Aaron Bockover <abock@gnome.org>
4791 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexerService.cs:
4792 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexerService.cs:
4793 Split HasCollectionChanged method to HasCollectionCountChanged and
4794 HasCollectionLastModifiedChanged methods
4796 2008-09-11 Aaron Bockover <abock@gnome.org>
4798 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
4799 Implement playlist loading into the FSQ
4801 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs:
4802 Allow playlist importing to work against any PrimarySource
4804 * configure.ac: Disable the DEVEL_BUILD
4806 2008-09-11 Gabriel Burt <gabriel.burt@gmail.com>
4808 * build/m4/banshee/dap-ipod.m4: Bump ipod-sharp to 0.8.1
4810 2008-09-11 Gabriel Burt <gabriel.burt@gmail.com>
4812 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
4813 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Add
4814 Rescan action that triggers rescan of the Music Library folder.
4816 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
4817 Remove unnecessary DateAdded set.
4819 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
4820 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Add
4821 FileModifiedStamp and LastSyncedStamp properties.
4823 * src/Core/Banshee.Services/Makefile.am:
4824 * src/Core/Banshee.Services/Banshee.Services.csproj:
4825 * src/Core/Banshee.Services/Banshee.Collection/RescanPipeline.cs: New file
4826 that scans all files in a Library's BaseDirectory, importing new items,
4827 removing items no longer on disk, and identifying items that were renamed.
4829 * src/Libraries/Hyena/Hyena.Collections/QueuePipelineElement.cs:
4830 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs: Factor a
4831 lot of the counting of the ImportElement up into QueuePipelineElement.
4833 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
4834 Add the LastSynced and FileModified columns.
4836 * src/Core/Banshee.Core/Banshee.IO.SystemIO/File.cs:
4837 * src/Core/Banshee.Core/Banshee.IO/File.cs:
4838 * src/Core/Banshee.Core/Banshee.IO/IFile.cs:
4839 * src/Backends/Banshee.Unix/Banshee.IO.Unix/File.cs: Add GetModifiedTime
4842 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs: Set
4843 FileModified and LastSynced stamps.
4845 * src/Libraries/Hyena/Hyena.Collections/QueuePipeline.cs: Make sure no
4846 elements still have items left to process when considering if the pipeline
4849 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Add
4850 CreateFetchCommand method that returns a HyenaSqliteCommand useful for
4851 fetching items from a model with a custom condition/limit/order.
4853 2008-09-11 Aaron Bockover <abock@gnome.org>
4855 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/AboutDialog.cs: Do
4856 not display the two version strings if they are the same; Wiki->Website
4859 * configure.ac: Bump version to 1.3.0
4861 2008-09-11 Aaron Bockover <abock@gnome.org>
4863 * src/Clients/Beroe/Beroe/IndexerClient.cs: Call
4864 IndexerService.RegisterCleanupAndShutdown to notify any connected client
4865 using the indexer that it should release it and let the user use Banshee
4867 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexerService.cs:
4868 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexerService.cs:
4869 Added CleanupAndShutdown event for the DBus interface and a method
4870 for the client to trigger the raising of the event
4872 * src/generate-dbus-docs: Stupid script to dump DBus interfaces to an
4873 HTML blob that I can update on the web site:
4874 http://banshee-project.org/contribute/write-code/dbus-interfaces/
4876 2008-09-11 Aaron Bockover <abock@gnome.org>
4878 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexerService.cs:
4879 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexer.cs:
4880 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexerService.cs:
4881 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexer.cs:
4882 Use Hyena.Action instead of System.Action
4884 * src/Libraries/Hyena/Hyena/Delegates.cs: Implement Hyena.Action delegate
4886 2008-09-11 Aaron Bockover <abock@gnome.org>
4888 * src/Clients/Halie/Halie/Client.cs: Moved the indexer reboot hint to
4891 * src/Clients/Booter/Booter/Entry.cs: Finished implementing the new
4894 * src/Clients/Beroe/Beroe/IndexerClient.cs: DBus fixes
4896 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusConnection.cs:
4897 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs:
4898 Support registering and finding objects on multiple busses without
4899 horribly breaking API
4901 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexerService.cs:
4902 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexer.cs:
4903 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexerService.cs:
4904 * src/Core/Banshee.Services/Banshee.Collection.Indexer/IIndexerClient.cs:
4905 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexer.cs:
4906 Register the indexer stuff on a new bus so it can be activated without
4907 spawning the thick client: org.bansheeproject.CollectionIndexer
4911 * data/org.bansheeproject.CollectionIndexer.service.in: Add the new
4914 2008-09-11 Aaron Bockover <abock@gnome.org>
4916 * src/Clients/Booter: New client to take care of the booting of other
4917 clients based on the crazy boot sequence logic (to be added)
4919 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs: Moved
4920 the non-GUI related boot logic to the new Booter client
4922 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs:
4923 Call DBusConnection.Connect
4925 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusConnection.cs:
4926 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs:
4927 Refactored slightly to allow for the use of multiple busses
4929 * src/Clients/Halie/Halie/Client.cs:
4930 * src/Clients/Beroe/Beroe/IndexerClient.cs: Updated to reflect small API
4931 change in DBusConnection
4933 * build/build.environment.mk:
4935 * configure.ac: Add Booter
4937 2008-09-10 Aaron Bockover <abock@gnome.org>
4939 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexerService.cs:
4940 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexerService.cs:
4941 Fixed query, implemented Hello
4943 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexer.cs:
4944 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexer.cs:
4945 Use the Action delegate
4947 2008-09-10 Gabriel Burt <gabriel.burt@gmail.com>
4949 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/BaseTrackListView.cs:
4950 Add UriList as a DragDropSource and handle setting the data when such
4951 DragDataGet requests come in, meaning DnD to nautilus works again (BGO
4954 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Add a
4957 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_DragAndDrop.cs:
4958 Allow overriding the DnD Drag and SourceEntries.
4960 2008-09-10 Aaron Bockover <abock@gnome.org>
4962 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexerService.cs:
4963 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexerService.cs:
4964 Implemented HasCollectionChanged and a signal for listening to live
4965 collection changes; these facilities are useful for third parties to
4966 know whether or not they should actually create a new index
4968 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexer.cs:
4969 Use LibrarySource, not DatabaseSource
4971 2008-09-10 Aaron Bockover <abock@gnome.org>
4973 * src/Clients/Halie/Halie/Client.cs: If an IIndexerClient is located
4974 on the bus, tell that client to reboot with any command line arguments
4975 passed, and exit, deferring the invocation
4977 * src/Clients/Beroe/Beroe/IndexerClient.cs: Made a real client, expose
4978 as IIndexerClient on DBus, and support booting into a separate Banshee
4979 process if desired (i.e. someone opens an MP3 file in nautilus while the
4980 indexer client process is running, this still respects the users action)
4982 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs: If
4983 --indexer is passed, run the Beroe indexer client assembly
4985 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexerService.cs:
4986 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexerService.cs:
4987 Support shutting down
4989 * src/Core/Banshee.Services/Banshee.Collection.Indexer/IIndexerClient.cs:
4990 Interface for the indexer client with the RebootWhenFinished method
4992 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexer.cs:
4993 Print some debugging info, use TrackInfo.ExportVersion
4995 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Added
4998 2008-09-10 Aaron Bockover <abock@gnome.org>
5000 * src/Clients/Halie/Halie/Client.cs: Do not present the UI if the
5001 indexer argument is passed
5003 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs: Run
5004 Beroe if an indexer argument is present and Banshee is not already
5007 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexer.cs:
5008 Use TrackInfo.ExportVersion in the output
5010 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Added an
5013 2008-09-10 Aaron Bockover <abock@gnome.org>
5015 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexerService.cs:
5016 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexerService.cs:
5017 Implement GetAvailableExportFields method
5019 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexer.cs:
5020 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexer.cs:
5021 Implement SaveToXml; added SetExportFields; added SaveToXmlFinished event
5023 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Support exporting
5024 only certain fields; make GetExportableProperties public; since
5025 GetExportableProperties is now public, enforce type derivation; do not
5026 export 0 value fields
5028 2008-09-10 Bertrand Lorentz <bertrand.lorentz@gmail.com>
5030 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
5031 Patch from Andrés G. Aragoneses to allow emptying the artist and album
5032 fields (BGO #549414).
5034 2008-09-09 Gabriel Burt <gabriel.burt@gmail.com>
5036 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtService.cs:
5037 Patch from Bertrand Lorentz working around crasher caused by brokenness in
5038 DatabaseConfigurationClient with respect to dates (BGO #538354).
5040 2008-09-09 Gabriel Burt <gabriel.burt@gmail.com>
5042 * src/Core/Banshee.Services/Banshee.Playlists.Formats/PlaylistParser.cs:
5043 Patch from Eric Butler, fixed up HACKING-wise by myself, adding support
5044 for HTTP auth in URLs for Internet Radio stations (BGO #548044).
5046 2008-09-09 Gabriel Burt <gabriel.burt@gmail.com>
5048 * src/Core/Banshee.Core/Resources/contributors.xml: Add David.
5050 2008-09-09 Gabriel Burt <gabriel.burt@gmail.com>
5052 Patch from David Spreen adding cover art support to Mass Storage DAPs.
5054 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
5055 Add .is_audio_player options CoverArtSize, CoverArtFileName and CoverArtFileType
5056 where a size of -1 means disabled, 0 means 'just use the current size of specific
5057 cover' and x > 0 means resize cover to x by x pixels.
5058 Add code to transfer cover to mass storage device art in accordance with those
5059 values to AddTrackToDevice method.
5061 * src/Core/Banshee.Services/Banshee.Hardware/IDeviceMediaCapabilities.cs:
5062 Add CoverArtSize, CoverArtFileName and CoverArtFileType to IDeviceMediaCapabilities.
5064 * src/Backends/Banshee.Hal/Banshee.HalBackend/DeviceMediaCapabilities.cs:
5065 Add CoverArtSize, CoverArtFileName and CoverArtFileType to HAL backend.
5067 2008-09-09 Gabriel Burt <gabriel.burt@gmail.com>
5069 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs:
5070 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Fix bug with
5071 improperly getting the Uri of some tracks when fetching cover art (BGO
5074 2008-09-09 Aaron Bockover <abock@gnome.org>
5076 This commit implements the first pass at providing a mechanism for
5077 third party applications to query and index Banshee's collection in
5078 a safe way - both in process and over DBus. This is for you, GNOME Do.
5079 Still incomplete, but soon to be there. Lots already working. Yay.
5081 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexerService.cs:
5082 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexerService.cs:
5083 Factory service for creating indexers; accessible internally or over DBus
5085 * src/Core/Banshee.Services/Banshee.Collection.Indexer/ICollectionIndexer.cs:
5086 * src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexer.cs:
5087 Collection indexer implementation; allows snapshotting a track model
5088 and iterating over it to request tracks internally or over DBus; will
5089 be the object for third party applications to use to query/index Banshee's
5090 collection (GNOME Do, Beagle, Tangerine...)
5092 * src/Clients/Beroe/Beroe/Client.cs: A small standalone client that
5093 boots only enough services to run the collection indexer service so
5094 applications can read the collection even if Banshee may not already
5097 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Finish
5098 implementing the exportable reflector, cache reflection results for faster
5099 subsequent exports; support property aggregation and set linking through
5100 the type hirearchy so all properties marked as exportable are handled
5101 regardless of the defining type; used for exporting/serializing objects
5102 over DBus and for merging different track objects (track editor)
5104 * src/Core/Banshee.Services/Banshee.Sources/ITrackModelSource.cs:
5105 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
5106 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
5107 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
5108 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs:
5109 Implement/Added ITrackModelSource.Indexable property
5111 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
5112 Split the service manager initialization/registration chunks into separate
5113 methods so clients can have more control over which services they will
5116 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs:
5117 Call the new startup methods on the service manager in a new Initialize
5118 method that clients can use
5120 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs: Call
5121 Application.Initialize
5123 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusConnection.cs:
5124 Added GLib mainloop support for clients that may strictly do DBus (Beroe)
5126 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs:
5127 Implemented object unregistering
5129 * src/Core/Banshee.Services/Banshee.Collection.Database/CachedList.cs:
5130 Implement a method to snapshot the origin model into a cache model
5132 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
5133 Made UnfilteredQuery property public
5135 * src/Core/Banshee.Core/Banshee.Configuration/MemoryConfigurationClient.cs:
5136 Implemented a configuration client that stores everything to memory
5137 and does not persist
5139 * src/Core/Banshee.Services/Banshee.Configuration/DatabaseConfigurationClient.cs:
5140 Small fixes/optimization
5142 * src/Core/Banshee.Core/Banshee.Configuration/ConfigurationClient.cs:
5143 Make MemoryConfigurationClient the default client if Mono.Addins is
5144 not initialized, otherwise clients are loaded from extensions, and
5145 the XmlConfigurationClient is the fallback
5147 * src/Libraries/Hyena/Hyena/Timer.cs: Output the timer to stderr
5149 * src/Libraries/Hyena/Hyena.Query/QueryOrder.cs:
5150 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs:
5151 * src/Libraries/Migo/Migo.Syndication/Feed.cs:
5152 * build/build.rules.mk: Build fixes for gmcs 2.0
5154 2008-09-09 Gabriel Burt <gabriel.burt@gmail.com>
5156 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
5157 Don't set the active source to the FSQ until it's done importing and
5158 actually imported something. Prevents it from popping up when OPML files
5161 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
5162 Fix copyright header, handle OPML files passed in on the command line (or
5163 by Firefox from the Miro Guide, say).
5165 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/DefaultApplicationHelper.cs:
5168 * src/Libraries/Migo/Migo.Syndication/OpmlParser.cs: Patch from Brandan
5169 Lloyd, cleaned up and modified slightly by me, for actually parsing feed
5170 URLs out of OPML files.
5172 * data/banshee-1.desktop.in.in:
5173 * data/mimetypes.txt: Add x-miro/x-democracy mimetypes.
5175 2008-09-09 Bertrand Lorentz <bertrand.lorentz@gmail.com>
5177 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
5178 Fix a crash after executing "banshee-1 --stop" (BGO #550777).
5180 2008-09-09 Gabriel Burt <gabriel.burt@gmail.com>
5182 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs: When the
5183 client is started and if appropriate, pop up a dialog asking if the user
5184 wants to set Banshee as the default media player.
5186 * src/Core/Banshee.ThickClient/Makefile.am:
5187 * src/Core/Banshee.ThickClient/Banshee.ThickClient.csproj:
5188 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/DefaultApplicationHelperDialog.cs:
5189 New dialog asking the user if they want to set Banshee as the default, and
5190 with a checkbox to remember the decision.
5192 * src/Core/Banshee.Services/Banshee.Services.addin.xml: Add extension
5193 point for DefaultApplicationHelpers.
5195 * src/Core/Banshee.Services/Makefile.am:
5196 * src/Core/Banshee.Services/Banshee.Services.csproj:
5197 * src/Core/Banshee.Services/Banshee.Configuration/DefaultApplicationHelper.cs:
5198 New static class that loads DefaultApplicationHelper backends (only one
5199 for GNOME exists atm), provides a simple API, and contains the
5200 SchemaEntrys for remembering the users previous choice in the matter.
5202 * src/Core/Banshee.Widgets/Banshee.Widgets/HigMessageDialog.cs: Add
5203 a convenience method for adding a custom Button.
5205 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GConfConfigurationClient.cs:
5206 Handle the namespace already being absolute (starting in '/') by not
5207 prepending it with /app/banshee-1/.
5209 * src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml:
5210 * src/Backends/Banshee.Gnome/Banshee.Gnome.csproj:
5211 * src/Backends/Banshee.Gnome/Makefile.am:
5212 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/DefaultApplicationHelper.cs:
5213 GNOME specific backend to the DefaultApplicationHelper extension point.
5214 Sets Banshee as the default handler for several uri schems, for audio
5215 devices, cds, and media in general.
5217 2008-09-08 Gabriel Burt <gabriel.burt@gmail.com>
5219 * data/banshee-1.desktop.in.in: Patch from Pacho Ramos removing deprecated
5220 Encoding field and Application category (BGO #550449).
5222 2008-09-08 Gabriel Burt <gabriel.burt@gmail.com>
5224 * src/Libraries/Hyena.Gui/Hyena.Widgets/ImageButton.cs: Fill and expand
5225 the label so that it's centered (BGO #551436).
5227 2008-09-08 Gabriel Burt <gabriel.burt@gmail.com>
5229 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Fix threading
5230 issues with syncing playlists on eject/dispose.
5232 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Fix typo in comment
5234 2008-09-08 Gabriel Burt <gabriel.burt@gmail.com>
5236 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Don't add duplicate tracks
5239 * src/Libraries/Mtp/Mtp/AbstractTrackList.cs: Remove random WriteLine.
5241 2008-09-08 Gabriel Burt <gabriel.burt@gmail.com>
5243 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastActions.cs:
5244 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastSource.cs:
5245 Set the PlayCount of items to zero when marked new and 1 when marked read,
5246 and add PlayCount = 0 as a SyncCondition so that only new items are synced.
5248 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
5249 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs:
5250 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs:
5251 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Call SyncPlaylists when
5252 ejecting and Sync not enabled, because while tracks are transferred
5253 immeidately when you DnD them etc, playlists aren't saved.
5255 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapContent.cs: Remove the testing
5256 status label and hrule.
5258 2008-09-08 Gabriel Burt <gabriel.burt@gmail.com>
5260 * src/Core/Banshee.Services/Banshee.Networking/Network.cs: Have the
5261 disable-network-features preference take effect immediately.
5263 2008-09-08 Gabriel Burt <gabriel.burt@gmail.com>
5265 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
5266 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs:
5267 * src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs:
5268 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs:
5269 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
5270 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
5271 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
5272 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
5273 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
5274 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
5275 Fix things up so that when Sync is enabled for a device the user cannot
5276 DnD tracks or sources onto it, can't create playlists, can't modify
5277 playlists on the device, etc.
5279 2008-09-08 Bertrand Lorentz <bertrand.lorentz@gmail.com>
5281 * src/Core/Banshee.Services/Banshee.Playlists.Formats/AsxPlaylistFormat.cs:
5282 http URLs in ASX files are in fact mmsh URLs. Patch by Félix Velasco with
5283 a suggestion from Gabriel (BGO #545646).
5285 2008-09-08 Bertrand Lorentz <bertrand.lorentz@gmail.com>
5287 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs: Fix a crash
5288 triggered by DAAP errors (BGO #549192).
5290 2008-09-08 Bertrand Lorentz <bertrand.lorentz@gmail.com>
5292 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
5293 Handle relative paths as parameters on the command line (BGO #537600).
5295 2008-09-08 Bertrand Lorentz <bertrand.lorentz@gmail.com>
5297 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Fix
5298 an incorrect condition, so that DelayedInitialize is called on extensions
5299 that are enabled through the banshee UI (BGO #550555).
5301 2008-09-08 Bertrand Lorentz <bertrand.lorentz@gmail.com>
5303 * src/Backends/Banshee.NowPlaying.X11/libbnpx11/Makefile.am:
5304 * libbanshee/Makefile.am:
5305 * build/build.rules.mk: Some build fixes to allow parallel build with
5306 "make -j2" (BGO #546944).
5308 2008-09-07 Gabriel Burt <gabriel.burt@gmail.com>
5310 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Create GUI objects on the
5313 * src/Dap/Banshee.Dap/Makefile.am:
5314 * src/Dap/Banshee.Dap/Resources/ActiveSourceUI.xml:
5315 * src/Dap/Banshee.Dap/Resources/GlobalUI.xml: Move the Sync context menu
5318 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapContent.cs:
5319 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapActions.cs: Make the DapActions
5320 static and work for multiple DapSources, including updating properly when
5321 right-clicked on even if not the ActiveSource.
5323 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Add an event
5324 for when we update the actions, so that other action groups or code that
5325 needs to update them for right-click context menus can easily do that.
5327 2008-09-07 Gabriel Burt <gabriel.burt@gmail.com>
5329 * src/Clients/Muinshee/Resources/GlobalUI.xml:
5330 * src/Clients/Muinshee/Muinshee/PlayerInterface.cs: Add the Play
5331 Song/Album items to the Media menu, and add the AccelGroup to the main
5332 window so that s and a (and other accels) work.
5334 2008-09-07 Gabriel Burt <gabriel.burt@gmail.com>
5336 * src/Core/Banshee.ThickClient/Banshee.Gui/PersistentWindowController.cs:
5337 Don't set the events mask for the controlled window to all - not needed.
5339 2008-09-07 Gabriel Burt <gabriel.burt@gmail.com>
5341 * src/Core/Banshee.ThickClient/Banshee.Gui/PersistentWindowController.cs:
5342 Fix NRE (BGO #550918).
5344 2008-09-07 Gabriel Burt <gabriel.burt@gmail.com>
5346 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Add a
5347 StorageName property that defaults to 'Drive', and is used for the
5348 DeleteFromDrive action's label.
5350 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs: When the Name
5351 property is set, set the StorageName too, so that the DeleteFromDrive
5352 action's label is still 'Delete From iPod' etc.
5354 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Clarify a couple error
5357 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Don't
5358 inherit action Label and IconName overrides from sources' parents since
5359 that can lead to strange things. Fixes bug with the UnmapSourceAction's
5360 IconName being the eject icon for playlists under DapSources (BGO #549183)
5362 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Use the
5363 StorageName property on the PrimarySource to set the DeleteFromDrive
5366 2008-09-07 Gabriel Burt <gabriel.burt@gmail.com>
5368 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs: Fix NRE
5369 in icon code (BGO #551302).
5371 2008-09-06 Gabriel Burt <gabriel.burt@gmail.com>
5373 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Fix deadlock hang
5374 triggered by Last.fm (BGO #551175).
5376 2008-09-06 Gabriel Burt <gabriel.burt@gmail.com>
5378 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
5379 Fix from Bertrand Lorentz (also applied to new FirstIndexOf method by me)
5380 fixing race condition that caused the Next button to not work half the
5381 time when you had a filter active (BGO #544415).
5383 2008-09-06 Gabriel Burt <gabriel.burt@gmail.com>
5385 This commit adds playlist support to USB Mass Storage players, and fixes a
5386 bug that causes very slow initial loading of their tracks.
5388 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastFeedModel.cs:
5389 Fix model so that it's filtered by the filters before it.
5391 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
5392 Add playlist support, respecting the HAL
5393 portable_audio_player.playlist_format and playlist_path keys.
5395 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs:
5396 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Add helper
5397 AddYesNoDapProperty method and use it.
5399 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Call OnTracksAdded
5400 manually after loading the tracks off the device.
5402 * src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs: Don't reload the models when
5403 the dap isn't yet loaded, or when we're syncing.
5405 * src/Core/Banshee.Services/Banshee.Playlists.Formats/PlaylistFormatDescription.cs:
5406 * src/Core/Banshee.Services/Banshee.Playlists.Formats/M3uPlaylistFormat.cs:
5407 * src/Core/Banshee.Services/Banshee.Playlists.Formats/AsxPlaylistFormat.cs:
5408 * src/Core/Banshee.Services/Banshee.Playlists.Formats/PlsPlaylistFormat.cs:
5409 Add a MimeType property to the description objects.
5411 * src/Core/Banshee.Services/Banshee.Playlists.Formats/PlaylistFormatBase.cs:
5412 In the BaseUri setter, make sure it ends with a directory separator char,
5415 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs: Add a
5416 new Load method, factored out from the ImportPlaylist method.
5418 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
5419 ImportFinished renamed to Finished because uses the QueuePipeline event
5420 now. Allow setting the BaseUri in the Load/Import methods.
5422 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs: Fix
5423 painful bug caused by the pipelining of the importer. The track
5424 processing element would sometimes (often) have zero items left when the
5425 scanning element was still working, but we were raising ImportFinished
5426 when that happened, instead of waiting for all elements in the pipeline to
5427 be finished (BGO #548254).
5429 * src/Libraries/Hyena/Hyena.Collections/QueuePipelineElement.cs: Add a
5432 * src/Libraries/Hyena/Hyena.Collections/QueuePipeline.cs: Add a finished
5433 event, raised when all elements in the pipeline are finished.
5435 2008-09-05 Gabriel Burt <gabriel.burt@gmail.com>
5437 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/DownloadManager/DownloadUserJob.cs:
5438 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/DownloadManager/DownloadManagerInterface.cs:
5439 Slightly more useful job status, shows how many total downloads in the job
5441 * src/Libraries/Mtp/Mtp/Track.cs: Hack around .m4v issue.
5443 * build/m4/banshee/dap-mtp.m4:
5444 * NEWS: Don't allow libmtp8 for now, and clarify how packages need to
5445 require libmtp (to ensure users have the same version the package was
5448 2008-09-05 Gabriel Burt <gabriel.burt@gmail.com>
5450 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Create a
5451 HyenaSqliteCommand to reuse for adding tracks to playlists - should be
5454 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Load and save
5455 playlists on MTP devices.
5457 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpTrackInfo.cs: Save the
5458 Mtp.Track's ID in the ExternalID column, cleanup cruft.
5460 * src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs: Don't add empty
5461 playlists to devices.
5463 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Fix
5466 * src/Libraries/Mtp/Mtp/Folder.cs: Override ToString for debugging.
5468 * src/Libraries/Mtp/Mtp/Album.cs: Factor a lot of code that's useful for
5469 the Playlist class into AbstractTrackList, subclass from it.
5471 * src/Libraries/Mtp/Makefile.am:
5472 * src/Libraries/Mtp/Mtp/AbstractTrackList.cs: Factored out code from Album
5474 * src/Libraries/Mtp/Mtp/MtpDevice.cs: Add GetPlaylists () method.
5476 * src/Libraries/Mtp/Mtp/Playlist.cs: Subclass from AbstractTrackList,
5477 implement required methods, add to build.
5479 2008-09-05 Gabriel Burt <gabriel.burt@gmail.com>
5481 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackListModel.cs:
5482 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
5483 Make UpdateUnfilteredAggregates public so we can get an accurate count
5484 without doing a full reload.
5486 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Support
5487 getting an accurate count before having reloaded the track model via a new
5488 UpdateCounts method.
5490 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Handle loading
5491 playlists when the device is plugged in, and syncing them. Podcast
5492 playlists are still TODO - will require changes to ipod-sharp.
5494 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodTrackInfo.cs: Do a better,
5495 more complete job of syncing metadata between TrackInfos and IPod.Track.
5497 * src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs: Call SyncPlaylists on the
5498 dap source when syncing. Not a great API, but needed atm at least to tell
5499 the iPod support it needs to save the playlists even if (possibly) zero
5500 tracks were added/removed.
5502 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Remove playlists too when
5503 removing smart playlists. Remove warning about playlists.
5505 * src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs: Handle syncing all
5506 playlists from a library to the device.
5508 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
5509 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Fix bug
5510 where we listened for TracksChanged etc events on our PrimarySource even
5511 before we were saved/had an id (BGO #550921).
5513 * src/Core/Banshee.Core/Banshee.Collection/TrackMediaAttributes.cs: Add
5516 2008-09-04 Brad Taylor <brad@getcoded.net>
5518 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs:
5519 Fix the build under Mono 1.2.6. For some reason, it doesn't like the
5520 anonymous delegate that was here.
5522 2008-09-04 Aaron Bockover <abock@gnome.org>
5526 * src/Clients/Beroe: Stubbed new indexer client
5528 2008-09-04 Gabriel Burt <gabriel.burt@gmail.com>
5530 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Correct
5531 logged comment, and fix bug I just introduced with remember the expansion
5532 state of primary sources.
5534 2008-09-04 Gabriel Burt <gabriel.burt@gmail.com>
5536 * src/Core/Banshee.Services/Banshee.Metadata.Embedded/EmbeddedQueryJob.cs:
5537 * src/Core/Banshee.Services/Banshee.Metadata.FileSystem/FileSystemQueryJob.cs:
5538 Handle more gracefully the case that the directory or file is missing.
5540 2008-09-04 Gabriel Burt <gabriel.burt@gmail.com>
5542 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtService.cs:
5543 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationService.cs:
5544 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastActions.cs:
5545 * src/Extensions/Banshee.MiniMode/Banshee.MiniMode/SourceModel.cs:
5546 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapContainerSource.cs:
5547 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
5548 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
5549 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
5550 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
5551 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapContent.cs:
5552 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapActions.cs:
5553 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapInfoBar.cs:
5554 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs:
5555 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs:
5556 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
5557 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
5558 * src/Core/Banshee.ThickClient/Banshee.Library.Gui/ImportDialog.cs:
5559 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs:
5560 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs:
5561 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
5562 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:
5563 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs:
5564 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceComboBox.cs:
5565 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/Brasero.cs: Use
5566 ThreadAssist.ProxyToMain to ensure GUI actions happen on the main thread.
5568 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
5569 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
5570 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
5571 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
5572 Get rid of virtual TypeUniqueId property, replace with protected setter.
5574 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastSource.cs:
5575 Use the TypeUniqueId setter, and define SyncCondition and MediaType
5578 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackInfo.cs:
5579 Set the Podcast MediaType flag after loading the track info from file (if
5580 downloaded) to ensure it doesn't get unset.
5582 * src/Dap/Banshee.Dap.Mtp/Makefile.am:
5583 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/Tests/MtpDapTests.cs: Tests for
5584 converting from TrackInfo to Mtp.Track and back.
5586 * tests/Makefile.am: Add Banshee.Dap.Mtp to list of assemblies to test.
5588 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Be more careful
5589 about threading, add a GetFolderForTrack method to support Podcasts, and
5590 move the TrackInfo/Mtp.Track conversion into MtpTrackInfo.
5592 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpTrackInfo.cs: Try harder to
5593 set the MediaAttributes, and add an internal method for converting from
5594 TrackInfo to Mtp.Track.
5596 * src/Dap/Banshee.Dap/Makefile.am:
5597 * src/Dap/Banshee.Dap/Banshee.Dap/PodcastGroupSource.cs: New child of
5600 * src/Dap/Banshee.Dap/Banshee.Dap/VideoGroupSource.cs:
5601 * src/Dap/Banshee.Dap/Banshee.Dap/MusicGroupSource.cs: Set the condition
5602 based on the Music/VideoLibrary's AttributesCondition.
5604 * src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs: Implement IDisposable, fix
5605 up preferences, listen for libraries to change and auto-sync if
5606 appropriate, move the to_remove list into each DapLibrarySync so they
5607 don't clobber other libraries' items.
5609 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Add PodcastGroupSource,
5610 use new TypeUniqueId setter, and auto-sync when plugged in if appropriate.
5612 * src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs: Add to_remove smart
5613 playlist, and actually implement deleting the tracks from the DAP and
5614 adding the new ones.
5616 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/WidgetFactory.cs:
5617 If the ShowDescription property of the pref is true, then pack the widget
5618 into a VBox and put the description in a label below it.
5620 * src/Core/Banshee.ThickClient/Makefile.am:
5621 * src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileComboBoxConfigurable.cs:
5622 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/DescriptionLabel.cs:
5623 New class that shows text formatted and can be updated via a delegate,
5624 factored out from code in ProfileComboBoxConfigurable.
5626 * src/Core/Banshee.Services/Banshee.MediaProfiles/MediaProfileManager.cs:
5627 Add new GetProfileForExtension helper method.
5629 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
5630 Lazily initialize the provider.
5632 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
5633 Prevent NRE and handle empty strings in the AddCondition method.
5635 * src/Core/Banshee.Services/Banshee.Preferences/Root.cs:
5636 * src/Core/Banshee.Services/Banshee.Preferences/Collection.cs: Override
5637 Sensitive and Visible setters, setting the value for each child.
5639 * src/Core/Banshee.Services/Banshee.Preferences/SchemaPreference.cs:
5640 * src/Core/Banshee.Services/Banshee.Preferences/Preference.cs: Raise
5641 ValueChanged event when the value is changed.
5643 * src/Core/Banshee.Services/Banshee.Preferences/Section.cs: Return the
5644 SchemaPreference<T> object created in the Add (SchemaEntry<T>) helper.
5646 * src/Core/Banshee.Services/Banshee.Preferences/PreferenceBase.cs: Add
5647 ShowDescription property, and ValueChanged event.
5649 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
5650 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
5651 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
5652 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Use the new
5653 TypeUniqueId setter, and fix how DbId and AfterInitialize etc are called.
5655 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Add
5656 DeleteAllTracks method, refactor creation of expanded_schema, and
5657 ProxyToMain OnTracksAdded etc calls.
5659 * src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs: Use new
5660 TypeUniqueId setter and ProxyToMain for OnCleared and OnReloaded methods.
5662 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
5663 Set the Podcast MediaAttribute on all items in the Podcast primary source,
5664 since we had that bug in PodcastTrackInfo that's now fixed.
5666 * src/Core/Banshee.Services/Banshee.Library/LibraryLocationPreference.cs:
5667 Raise ValueChanged where appropriate.
5669 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs: Add
5670 SyncCondition, AttributesCondition, MediaTypes, and NotMediaTypes
5673 * src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs:
5674 * src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs: Set
5675 MediaTypes and NotMediaTypes to filter on audio/video/podcasts as
5678 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
5679 New AddCondition method for restricting a SmartPlaylist beyond the
5682 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Rename IsMedia to
5683 HasAttribute, and add SetAttributeIf (bool, attr) helper.
5685 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs: Only add new
5686 attributes in FindTrackMediaAttributes, don't remove current ones.
5688 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GConfConfigurationClient.cs:
5691 * src/Libraries/Mtp/Mtp/MtpDevice.cs: Make sure the folder is set, falling
5692 back to the MusicFolder if it's not.
5694 * src/Libraries/Mtp/Mtp/Track.cs: Add a Year helper property that sets the
5695 ReleaseDate appropriately, and add InFolder method.
5697 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Fix bug
5698 where VirtualColumns (values from tables other than the primary one)
5699 caused the join-condition with their table to be duplicated.
5701 * Makefile.am: Add make mdb helper, though I haven't really gotten it to
5704 2008-09-04 Bertrand Lorentz <bertrand.lorentz@gmail.com>
5706 * src/Libraries/Lastfm/Lastfm.Data/LastfmData.cs: Patch from Iain Lane to
5707 not validate characters in XML returned from Last.fm. The Last.fm API
5708 accepts (and returns) invalid characters sent to it (BGO #538206).
5710 2008-09-03 Gabriel Burt <gabriel.burt@gmail.com>
5712 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastSourceContents.cs:
5713 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/DownloadStatusFilterView.cs:
5714 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellDownloadStatus.cs:
5715 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastSource.cs:
5716 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/DownloadStatusFilterModel.cs:
5717 * src/Extensions/Banshee.Podcasting/Makefile.am:
5718 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.csproj: Add another
5719 filter for episode downloaded status.
5721 2008-09-03 Gabriel Burt <gabriel.burt@gmail.com>
5723 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs:
5724 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Add more
5725 properties that show up in the properties dialog.
5727 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp.csproj: Reference Mtp.
5729 * src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs: Fix typo.
5731 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapContent.cs: Subclass from
5732 DapPropertiesDiaplay and pack in the LargeIcon.
5734 2008-09-03 Gabriel Burt <gabriel.burt@gmail.com>
5736 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Add a bunch of
5737 properties (model, color, firmware, etc) to the properties dialog. When
5738 loading tracks, don't fail entirely if there is an exception on one.
5739 Improve how/when the name is retrieved off the device, and set as
5740 Activatable so the new Sync UI is visible.
5742 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
5743 Don't automatically save in the PlaybackError setter (BGO #539696).
5745 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Add a
5746 SavePlaybackError method that sets it and then saves it.
5748 * src/Core/Banshee.Services/Banshee.Streaming/RadioTrackInfo.cs:
5749 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
5750 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs: Use
5751 the new SavePlaybackError method.
5753 * configure.ac: Remove remote audio/moonlight from the echo since they're
5754 not yet finished/usable.
5756 2008-09-03 Aaron Bockover <abock@gnome.org>
5758 * libbanshee/banshee-player-pipeline.c: Disabled the visualization
5759 pipeline for now since it's a huge CPU hog
5761 2008-09-03 Aaron Bockover <abock@gnome.org>
5763 Converted project infrastructure from MonoDevelop 1.0 format (mds/mdp) to
5764 VisualStudio 2005 format (sln/csproj) to help in getting the managed
5765 code to build in Windows
5767 2008-09-03 Gabriel Burt <gabriel.burt@gmail.com>
5769 Merged branches/banshee/gburt/ -r4443:4452 to trunk (muinshee, working
5770 well but no easy way for end users to run it other than cli).
5772 2008-09-03 Aaron Bockover <abock@gnome.org>
5774 Merged branches/banshee/abock/@4403 to trunk (the hot new track editor,
5775 but it's still not complete and is disabled by default right now)
5777 2008-09-02 Aaron Bockover <abock@gnome.org>
5779 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/GtkTheme.cs: Change
5780 GetCairoTextMidColor to use AlphaBlend function (BGO #544840)
5782 * src/Libraries/Hyena.Gui/Hyena.Gui/CairoExtensions.cs: Implemented simple
5783 color alpha blending utility [P=(1-a)P_0 + aP_1]
5785 * src/Libraries/Hyena.Gui/Hyena.Gui/Contrast.cs: Add some color contrast
5786 utilities, copied from Tomboy and modified to work with Cairo colors
5788 2008-08-30 Aaron Bockover <abock@gnome.org>
5790 * src/Core/Banshee.Core/Resources/contributors.xml: Added his highness, Brad
5792 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/LargeTrackInfoDisplay.cs:
5793 Increase spacing to 30px
5795 2008-08-28 Brad Taylor <brad@getcoded.net>
5797 * src/Extensions/Banshee.RemoteAudio/Resources:
5798 * src/Extensions/Banshee.RemoteAudio/Resources/GlobalUI.xml:
5799 * src/Extensions/Banshee.RemoteAudio/Banshee.RemoteAudio.addin.xml:
5800 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
5801 * src/Extensions/Banshee.RemoteAudio/Banshee.RemoteAudio/RemoteAudioActions.cs:
5802 * src/Extensions/Banshee.RemoteAudio/Banshee.RemoteAudio/RemoteSpeakersComboBox.cs:
5803 * src/Extensions/Banshee.RemoteAudio/Banshee.RemoteAudio/RemoteSpeakersWidget.cs:
5804 Add UI to select a remote speaker.
5806 * src/Extensions/Banshee.RemoteAudio/Banshee.RemoteAudio/RemoteAudioService.cs:
5807 Thread safety and add debugging information.
5809 * src/Extensions/Banshee.RemoteAudio/Banshee.RemoteAudio/RemoteSpeaker.cs:
5810 Add a Name property that will hold the fuzzy name of the device.
5812 * src/Core/Banshee.Widgets/Banshee.Widgets/DictionaryComboBox.cs: Add a
5813 clear method, and handle setting ActiveValue to null to deselect.
5815 2008-08-28 Gabriel Burt <gabriel.burt@gmail.com>
5817 * src/Clients/Muinshee/Resources/GlobalUI.xml: Add missing file.
5819 2008-08-28 Gabriel Burt <gabriel.burt@gmail.com>
5821 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
5822 * src/Clients/Muinshee/Muinshee/PlayerInterface.cs:
5823 * src/Core/Banshee.ThickClient/Banshee.Gui/BaseClientWindow.cs: Move a lot
5824 of method up to BaseClientWindow from Nereid's PlayerInterface so can be
5825 used by Muinshee too.
5827 * src/Clients/Muinshee/Makefile.am:
5828 * src/Clients/Muinshee/Muinshee.mdp: Add and remove files.
5830 * src/Clients/Nereid/Nereid/Client.cs:
5831 * src/Clients/Muinshee/Muinshee/Client.cs:
5832 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs: Factor our a
5833 lot of common functionality into the parent class.
5835 * src/Clients/Muinshee/Muinshee/ViewContainer.cs: Deleted
5837 * src/Clients/Muinshee/Muinshee/MuinsheeActions.cs: Set disc icon on Play
5838 Album action, and launch the Dialogs when the actions are activated.
5840 * src/Clients/Muinshee/Muinshee/MuinsheeTrackInfoDisplay.cs:
5842 * src/Clients/Muinshee/Muinshee/AlbumDialog.cs:
5843 * src/Clients/Muinshee/Muinshee/SongDialog.cs:
5844 * src/Clients/Muinshee/Muinshee/BaseDialog.cs: Split dialog classes out,
5845 and implement query, queue, and play functionality.
5847 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellTrack.cs:
5848 Implement ITextCell.
5850 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/BaseTrackListView.cs:
5851 Factored out from TrackListView.
5853 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
5854 Inherit from BaseTrackListview.
5856 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TerseTrackListView.cs:
5857 Inherit from BaseTrackListview, getting us lots of goodies - DnD, context
5858 menu, o-to-play, and double-click to play.
5860 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackFilterListView.cs:
5861 Hide the header, and move RowActivated handler to virtual method.
5863 * src/Core/Banshee.ThickClient/Makefile.am:
5864 * src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp: Add new files.
5866 * src/Core/Banshee.ThickClient/Banshee.Gui/PersistentWindowController.cs:
5867 New class that can save and restore the size and/or position of a
5870 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
5871 Lazily load the missing pixbufs.
5873 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/BansheeDialog.cs: Add
5874 another convenience override.
5876 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs:
5879 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
5880 Add nifty IndexOfFirst (TrackInfo) class that uses the super-powers of
5883 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Make the
5884 CurrentStatusFormat public.
5886 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ITextCell.cs: New inteface that
5887 has a FontWeight property.
5889 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Implement
5892 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
5893 Instead of checking for ColumnCellText objects and setting their weight,
5894 do the same for all ITextCell instances.
5896 * src/Libraries/Hyena.Gui/Hyena.Gui.mdp:
5897 * src/Libraries/Hyena.Gui/Makefile.am:
5898 * src/Libraries/Hyena.Gui/Hyena.Widgets/ImageButton.cs: New convenience
5899 class for a Button that has an image and a label in it.
5901 * build/build.environment.mk: Add vars to enable linking against the
5904 * Makefile.am: Temporarily start Banshee with the Muine client. This
5905 needs to be reworked so that the previously used client is automatically
5908 2008-08-28 Gabriel Burt <gabriel.burt@gmail.com>
5910 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Fix bug
5911 by ensuring we get the UI resource file from the calling assembly.
5913 2008-08-28 Gabriel Burt <gabriel.burt@gmail.com>
5915 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Add
5916 Register and UnRegister methods that Add/Remove the ActionGroup from the
5917 InterfaceActionService.
5919 2008-08-27 Brad Taylor <brad@getcoded.net>
5922 * build/build.environment.mk:
5923 * src/Extensions/Makefile.am:
5924 * build/m4/banshee/remote-audio.m4:
5925 * src/Extensions/Banshee.RemoteAudio/: Begin support for Remote Audio (aka
5928 2008-08-27 Gabriel Burt <gabriel.burt@gmail.com>
5930 * src/Core/Banshee.Widgets/Banshee.Widgets/RatingActionProxy.cs:
5931 * src/Core/Banshee.Widgets/Banshee.Widgets/CustomActionProxy.cs: Make work
5932 with Toolbars as well, so we can have custom toolbar widgets connected to
5935 2008-08-26 Aaron Bockover <abock@gnome.org>
5937 * src/Core/Banshee.Services/Banshee.Services.addins: Tell Mono.Addins
5938 to look in /tmp/banshee-addins-dev for extensions; developers who wish
5939 to run external extensions they are developing should copy their extensions
5942 2008-08-26 Aaron Bockover <abock@gnome.org>
5944 * configure.ac: Fix the assembly versioning to eliminate the build
5945 revision so MD doesn't go apeshit. Awesome. (BNC #352440, not fixed)
5947 * src/Core/Banshee.Core/Banshee.IO/StreamAssist.cs: Provide some overrides
5948 to avoid closing streams when writing if desired
5950 * src/Core/Banshee.Services/Banshee.Web/HttpRequest.cs: A reusable
5951 HttpRequest object that makes fetching streams and making requests easier
5952 and more unified and consistent for Banshee; probably not complete and
5953 not used anywhere yet
5955 * src/Core/Banshee.Core/Resources/translators.xml: Updated
5957 2008-08-26 Gabriel Burt <gabriel.burt@gmail.com>
5959 * src/Clients/Muinshee/Makefile.am:
5960 * src/Clients/Muinshee/Muinshee.mdp:
5961 * src/Clients/Muinshee/Muinshee/MuinsheeActions.cs: New file adding
5962 Muinshee's Gtk.Actions and UIManager XML.
5964 * src/Clients/Muinshee/Muinshee/PlayerInterface.cs: Instantiate and
5965 dispose the MuinsheeActions.
5967 * src/Clients/Muinshee/Muinshee/Client.cs: Change client's name.
5969 2008-08-26 Gabriel Burt <gabriel.burt@gmail.com>
5971 * src/Clients/Clients.mds:
5972 * src/Clients/Makefile.am:
5973 * src/Clients/Muinshee/Makefile.am:
5974 * src/Clients/Muinshee/Muinshee.mdp:
5975 * src/Clients/Muinshee/Muinshee/PlayerInterface.cs:
5976 * src/Clients/Muinshee/Muinshee/ViewContainer.cs:
5977 * src/Clients/Muinshee/Muinshee/Client.cs:
5978 * configure.ac: Groundwork for a new client: Muinshee
5980 2008-08-25 Aaron Bockover <abock@gnome.org>
5982 * build/pkg-config/Makefile.am:
5983 * build/pkg-config/*.pc.in: Use @libdir@ to make sure the .pc file
5984 work on 64 bit (lib64)
5986 * configure.ac: Bump version
5988 2008-08-24 Aaron Bockover <abock@gnome.org>
5990 Phase 1 of Hackweek: wrote JSON tokenizer and parser/deserializer and
5991 lots of unit tests. It covers 100% of the 'spec' at json.org, implemented
5992 from reading the grammar images published there.
5994 * src/Libraries/Hyena/Hyena.Json/Tokenizer.cs: Lex JSON according to
5995 the spec on json.org, transform to stream of tokens
5997 * src/Libraries/Hyena/Hyena.Json/Deserializer.cs: Parser built on top
5998 of the tokenizer that constructs the JSON objects from the token stream
6000 * src/Libraries/Hyena/Hyena.Json/IJsonCollection.cs: Collection interface
6001 providing Dump methods
6003 * src/Libraries/Hyena/Hyena.Json/JsonArray.cs:
6004 * src/Libraries/Hyena/Hyena.Json/JsonObject.cs: The two collection
6005 objects in JSON, derived from List and Dictionary respectively
6007 * src/Libraries/Hyena/Hyena.Json/Token.cs:
6008 * src/Libraries/Hyena/Hyena.Json/TokenType.cs: Token class and type flags
6010 * src/Libraries/Hyena/Hyena.Json/Tests/DeserializerTests.cs:
6011 * src/Libraries/Hyena/Hyena.Json/Tests/TokenizerTests.cs: Unit tests for
6012 the tokenizer and deserializer
6014 2008-08-23 Gabriel Burt <gabriel.burt@gmail.com>
6016 * src/Extensions/Banshee.Podcasting/Resources/ActiveSourceUI.xml: Put
6017 'Mark New' above 'Mark Old'.
6019 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
6020 Add Album Artist, Comment, Track Count, Disc Count, Bpm, BitRate,
6021 Conductor, and Grouping column.
6023 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs:
6024 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Add
6025 helpers for adding/removing UIManager elements.
6027 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Add
6028 AlbumArtist, Disc Count, TrackCount, Bpm, BitRate, Conductor, and Gruping
6029 query fields and sorting. Add TrackNumber, which previously was defined
6030 as a query field but not in the default FieldSet.
6032 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
6033 Don't increment the play/skip count if the file had an error.
6035 2008-08-22 Gabriel Burt <gabriel.burt@gmail.com>
6037 * src/Dap/Banshee.Dap/Makefile.am:
6038 * src/Dap/Banshee.Dap/Banshee.Dap.mdp: Add new files.
6040 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs: Use the Name not the
6041 GenericName in the unmap and delete tracks action labels.
6043 * src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs:
6044 * src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs: Use Banshee.Preferences.
6046 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Use Banshee.Preferences,
6047 expose DapSync object, set a Nereid.SourceContents override (and make
6048 activatable), and override Count to 0 so it doesn't show next to the main
6051 * src/Dap/Banshee.Dap/Resources/ActiveSourceUI.xml: Add eject and sync to
6052 the toolbar, and sync to the source context menu.
6054 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapContent.cs: New class, completely
6055 unfinished, displays the preferences for syncing etc.
6057 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapActions.cs: Add and handle a
6060 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs: Add
6061 and check a source property for the assembly the ActiveSourceUIResource
6064 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Make all
6065 actions important by default, but add protected property to use old
6066 behavior. Add another override to UpdateAction.
6068 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Set the
6069 default to not be all actions important.
6071 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/WidgetFactory.cs:
6072 Listen for the preference's Changed event to update visible/sensitive.
6074 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Add a
6075 placeholder in the removable source context menu.
6077 * src/Core/Banshee.Services/Banshee.Preferences/Root.cs: Add a Changed
6078 event and fire it when sensitive/visible change.
6080 * src/Core/Banshee.Services/Banshee.Preferences/Section.cs: Add
6081 convenience Add override that takes a SchemaEntry and creates a
6082 SchemaPreference automatically from its Short and LongDescription.
6084 2008-08-22 James Willcox <snorp@novell.com>
6086 * src/Extensions/Banshee.Lastfm/Resources/lastfm.glade:
6088 Make the entry activate the default action.
6090 2008-08-22 Bertrand Lorentz <bertrand.lorentz@gmail.com>
6092 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
6093 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Fix a crash
6094 caused by the DiscNumber property name change (BGO #548975).
6096 2008-08-21 Gabriel Burt <gabriel.burt@gmail.com>
6098 * src/Dap/Banshee.Dap/Makefile.am:
6099 * src/Dap/Banshee.Dap/Banshee.Dap.mdp: Add new files.
6101 * src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs:
6102 * src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs: New classes that
6103 contain all the logic for syncing a DAP to the libraries. Use smart
6104 playlists to represent the
6106 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs: Add a virtual
6107 BytesAvailable property.
6109 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Remove temporary sync code
6110 I recently committed, add a schema pref for space_for_data and respect it
6111 when transferring files, override the BytesAvailable to subtract out the
6112 bytes reserved for data.
6114 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
6115 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Move the
6116 MetadataHash property to TrackInfo.
6118 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
6119 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
6120 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
6121 Add an IsTemporary property, and delete temporary playlists from the
6122 database on startup.
6124 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Add another
6125 CreateSchema override that takes a namespace.
6127 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
6128 Add IsTemporary columns to CorePlaylists/SmartPlaylists/PrimarySources.
6130 * src/Core/Banshee.Core/Resources/contributors.xml: Add Andrew Conkling -
6131 he has done so much work for so long in Bugzilla, should have been listed
6134 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Fix
6135 small bug in HyenaDataReader in how/when it calls .Read on the underlying
6138 * build/m4/banshee/taglib.m4: Require 2.0.3 since that's when
6139 IsCompilation was introduced.
6141 2008-08-21 Aaron Bockover <abock@gnome.org>
6143 * src/Core/Banshee.Services/Banshee.Networking/Network.cs: Turned into
6144 a real service and support overriding the connection status to support
6145 an offline mode, configurable in preferences
6147 * src/Core/Banshee.Services/Banshee.ServiceStack/IRegisterOnDemandService.cs
6148 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
6149 Added support for services to be registered when they are first requested
6151 * src/Core/Banshee.Services/Banshee.Equalizer/EqualizerSetting.cs:
6152 Use the player_engine namespace like the rest of the engine settings
6154 * src/Core/Banshee.Services/Banshee.Preferences/Page.cs:
6155 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
6156 Added a misc section to the general prefs section; put replaygain there;
6157 not happy with this but it'll have to work for now
6159 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtService.cs:
6160 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
6161 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
6162 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastImageFetchJob.cs:
6163 * src/Core/Banshee.Services/Banshee.Metadata/MetadataServiceJob.cs:
6164 * src/Core/Banshee.Services/Banshee.Metadata.LastFM/LastFMQueryJob.cs:
6165 * src/Core/Banshee.Services/Banshee.Metadata.Rhapsody/RhapsodyQueryJob.cs:
6166 * src/Core/Banshee.Services/Banshee.Metadata.MusicBrainz/MusicBrainzQueryJob.cs:
6167 Updated to use the slightly changed network service API
6169 2008-08-21 Sandy Armstrong <sanfordarmstrong@gmail.com>
6171 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs:
6172 Don't try to to scale cover art if the size specified is <= 1. Fixes
6173 hangs described in BGO #548300.
6175 2008-08-20 Aaron Bockover <abock@gnome.org>
6177 Committed a revised/reorganized version of Chris Howie's <cdhowie@gmail.com>
6178 visualization support patch (BGO #529479); this does not actually implement
6179 visualization, but adds support for extensions to do so by harvesting
6180 spectrum data that is now readily available.
6182 * src/Core/Banshee.Services/Banshee.MediaEngine/IVisualizationDataSource.cs:
6183 * src/Core/Banshee.Services/Banshee.MediaEngine/VisualizationDataCallback.cs:
6184 Add interface for PlayerEngines that can provide data for visualizations.
6186 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
6187 Implement IVisualizationDataSource, binding the unmanaged visualization
6188 support from libbanshee's BansheePlayer
6190 * libbanshee/banshee-player-vis.c
6191 * libbanshee/banshee-player-vis.h: Unmanaged support for gathering
6192 visualization data on the pipeline using the spectrum element
6194 * libbanshee/banshee-player-pipeline.c:
6195 * libbanshee/banshee-player-private.h: Integrate new vis code into the
6196 pipeline and player object
6198 2008-08-20 Gabriel Burt <gabriel.burt@gmail.com>
6200 * src/Dap/Banshee.Dap/Banshee.Dap/MediaGroupSource.cs: Use the
6201 UnfilteredFileSize so that the dap info bar isn't inaccurate when
6202 filtering (BGO #537366).
6204 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
6205 Get the unfiltered total file size in addition to the count.
6207 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Make the
6208 getter for DatabaseTrackModel public.
6210 2008-08-22 Aaron Bockover <abock@gnome.org>
6212 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
6213 Recursively find all SyncButton instances inside of the notebook and
6214 click them - this enables the 'sync all fields' button
6216 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/FieldPage.cs:
6217 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/EditorUtilities.cs:
6218 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/SyncButton.cs:
6219 Removed the utility to create a sync button, replaced with a proper
6220 SyncButton class so that type detection can be done at runtime
6222 2008-08-22 Aaron Bockover <abock@gnome.org>
6224 This commit enables view and edit modes for the dialog and allows pages
6225 to be displayed or hidden based on their type and the mode of the editor;
6226 help is also moved into its own extension page
6228 * src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml: Add help page
6230 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Use wrapper
6231 API for running the editor dialog
6233 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/PageType.cs:
6234 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/EditorMode.cs:
6235 Added enum for page types and editor mode
6237 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/FieldPage.cs:
6238 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/StatisticsPage.cs:
6239 Updated to implement new ITrackEditor page API
6241 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/ITrackEditorPage.cs:
6242 Added TabWidget and PageType properties
6244 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
6245 Support edit modes (view and edit) and only show pages as appropriate to
6246 the mode based on their type
6248 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/HelpPage.cs: Moved
6249 the Help into an actual extension page
6251 2008-08-22 Aaron Bockover <abock@gnome.org>
6253 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/StatisticsPage.cs:
6254 Name it "properties"
6256 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
6257 Add a label showing which track/count we're at
6259 2008-08-22 Aaron Bockover <abock@gnome.org>
6261 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/GenreEntry.cs:
6264 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/StatisticsPage.cs:
6267 2008-08-22 Aaron Bockover <abock@gnome.org>
6269 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellDuration.cs:
6270 Use the DurationStatusFormatters.ConfusingPreciseFormatter to display dur
6272 * src/Core/Banshee.Services/Banshee.Sources/DurationStatusFormatters.cs:
6273 Do not display minutes as {0:00} if hours < 1
6275 * src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml: Added stats
6276 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/ExtraTrackDetailsPage.cs:
6277 Fix bug, name the tab "Extra"
6279 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/GenreEntry.cs:
6280 Implemented the genre combo box entry
6282 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/StatisticsPage.cs:
6283 Implemented an awesome new stats page to show detailed file info
6285 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/EditorTrackInfo.cs:
6286 Implement the TagLib file property
6288 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
6289 Make the sync all button nicer
6291 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TextViewEntry.cs:
6292 Restrict the comments field two two lines of text
6294 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/BasicTrackDetailsPage.cs:
6295 Use the new genre entry
6297 2008-08-20 Aaron Bockover <abock@gnome.org>
6299 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/FieldPage.cs:
6300 Hook up field syncing
6302 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/EditorTrackInfo.cs:
6303 Support setting the index of the track in editor speak
6305 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
6306 Split LoadTrack and GetTrack, provide ForeachNonCurrentTrack method
6308 2008-08-20 Aaron Bockover <abock@gnome.org>
6310 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/ExtraTrackDetailsPage.cs:
6311 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/BasicTrackDetailsPage.cs:
6312 Change the expand=false parameters to pass FieldOptions.Shrink; pass
6313 the dialog reference to the title entry field
6315 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/FieldPage.cs:
6316 Do not add a sync button if the field has the FieldOptions.NoSync option
6318 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TrackEditorDialog.cs:
6319 Make the navigation API public
6321 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/FieldOptions.cs:
6322 Added an enum of options to reduce the AddField overloads
6324 * src/Core/Banshee.ThickClient/Banshee.Gui.TrackEditor/TitleEntry.cs:
6325 Implement keyboard navigation when activating the title entry
6327 2008-08-19 Gabriel Burt <gabriel.burt@gmail.com>
6329 * src/Core/Banshee.Services/Banshee.Metadata/MetadataService.cs: Avoid NRE.
6331 2008-08-19 Gabriel Burt <gabriel.burt@gmail.com>
6333 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Ensure TrackCount
6334 and DiscCount are never less than TrackNumber and DiscNumber respectively.
6336 2008-08-19 Gabriel Burt <gabriel.burt@gmail.com>
6338 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
6339 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
6340 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs:
6341 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
6342 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
6343 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
6344 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
6345 * src/Core/Banshee.Core/Banshee.Collection/AlbumInfo.cs:
6346 * src/Core/Banshee.Core/Banshee.Collection/FileTrackInfo.cs:
6347 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs:
6348 * src/Core/Banshee.Core/Banshee.Streaming/SaveTrackMetadataJob.cs:
6349 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs:
6350 * src/Core/Banshee.Core/Banshee.Streaming/CommonTags.cs:
6351 * src/Core/Banshee.Core/Banshee.Base/Tests/TaglibReadWriteTests.cs:
6352 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/TagList.cs: Read BPM,
6353 Grouping, Bitrate, Conductor, DiscCount, and IsCompilation from TagLib#,
6354 and write the values that make sense (all but Bitrate). This update
6355 triggers a metadata refresh to read in this info.
6357 2008-08-18 Gabriel Burt <gabriel.burt@gmail.com>
6359 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Add inner class for
6360 testing sync logic. Currently will calculate how many items are on the
6361 device but not in the library and vice versa, and logs that info.
6363 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Add new
6364 HyenaDataReader convenience class.
6366 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Use the
6367 QueryEnumerable<T> method instead of manually reading the IDataReader.
6369 2008-08-17 Ruben Vermeersch <ruben@savanne.be>
6371 * src/Core/Banshee.Services/Banshee.Preferences/Page.cs: Add a checkbox to
6372 enable the renaming of files and folders.
6374 2008-08-17 Ruben Vermeersch <ruben@savanne.be>
6376 * src/Core/Banshee.Core/Banshee.IO/Utilities.cs: Split
6377 TrimEmptyDirectories out of DeleteFileTrimmingParentDirectories, useful in
6378 case you don't need the Delete.
6380 * src/Core/Banshee.Services/Banshee.Collection/MoveOnInfoSaveJob.cs:
6381 Added. Moves a file after changing the metadata. This maintains the
6382 FileNamePattern even after changing metadata.
6384 * src/Core/Banshee.Services/Makefile.am: Add the new file to the build.
6386 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs: Queue a
6387 MoveOnInfoSaveJob when saving.
6389 2008-08-17 Gabriel Burt <gabriel.burt@gmail.com>
6391 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Fix bug with custom icon
6392 naming scheme for DAPs; was missing multimedia-player- prefix (BGO
6395 2008-08-17 Gabriel Burt <gabriel.burt@gmail.com>
6397 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
6398 Avoid scheduling artwork tasks for feeds we already have icons for.
6400 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellPodcast.cs:
6401 Fix the same disposing-the-default-pixbuf error.
6403 2008-08-17 Gabriel Burt <gabriel.burt@gmail.com>
6405 * src/Core/Banshee.Services/Banshee.Hardware/IDevice.cs:
6406 * src/Backends/Banshee.Hal/Banshee.HalBackend/Device.cs:
6407 * src/Backends/Banshee.Hal/Banshee.HalBackend/Volume.cs:
6408 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/PodSleuthDevice.cs:
6409 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Add Serial
6410 property, keeping Uuid for the HAL udi (or equiv on other backends).
6412 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Make more thread safe.
6414 * src/Core/Banshee.Services/Banshee.Base/ThreadAssist.cs: Add
6415 AssertInMainThread method; logs a warning if in --debug mode and not
6416 called from the main thread.
6418 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Assert that
6419 we're in the main thread when adding and removing sources.
6421 * src/Core/Banshee.Core/Banshee.Kernel/Scheduler.cs: Fix up the logging so
6422 that jobs that have exceptions are actually logged.
6424 2008-08-17 Gabriel Burt <gabriel.burt@gmail.com>
6426 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
6427 Only update a feed on startup if it hasn't been updated in over an hour.
6429 2008-08-16 Gabriel Burt <gabriel.burt@gmail.com>
6431 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
6432 Avoid NRE (BGO #546864).
6434 2008-08-16 Gabriel Burt <gabriel.burt@gmail.com>
6436 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs:
6437 Don't dispose the missing-coverart pixbuf, fixes recent issue with it
6440 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkRenderer.cs:
6441 Fix issue with the Album Browser being really slow/mushy to scroll by only
6442 calling GC.Collect every 100th pixbuf.Dispose (BGO #547628).
6444 2008-08-16 Bertrand Lorentz <bertrand.lorentz@gmail.com>
6446 * src/Libraries/Hyena/Hyena.Query/UserQueryParser.cs: Fix handling of
6447 special characters in quotes (BGO #547078).
6449 * src/Libraries/Hyena/Hyena.Query/Tests/QueryTests.cs: Unit test for
6450 the above bug, written by Sandy Armstrong and modified by me.
6452 2008-08-16 Bertrand Lorentz <bertrand.lorentz@gmail.com>
6454 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Check if
6455 the cast of the TrackModel to DatabaseTrackListModel succeeded, to avoid
6456 a potential crash (BGO #547092).
6458 2008-08-16 Alexander Hixon <hixon.alexander@mediati.org>
6460 * src/Libraries/Hyena/Hyena/DateTimeUtil.cs:
6461 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs: Enable
6462 the track editor to display the duration of tracks one hour or longer
6463 correctly. Adds some overloaded FormatDuration methods. Fixes BGO #537774.
6465 2008-08-15 Gabriel Burt <gabriel.burt@gmail.com>
6467 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapProxyWebServer.cs: Don't
6468 log DAAP socket errors.
6470 2008-08-15 Gabriel Burt <gabriel.burt@gmail.com>
6472 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapInfoBar.cs: Avoid NRE, and move a
6473 delegate to a method.
6475 * configure.ac: turn DEVEL_BUILD back on
6477 2008-08-15 Gabriel Burt <gabriel.burt@gmail.com>
6479 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Be more careful about
6480 what we do inside lock(). Do actual interaction with SourceManager
6481 outside the lock() for Map/Unmap dap functions.
6483 2008-08-15 Bertrand Lorentz <bertrand.lorentz@gmail.com>
6485 * src/Dap/Banshee.Dap.Karma/Banshee.Dap.Karma.addin.xml:
6486 * src/Dap/Banshee.Dap.Karma/Banshee.Dap.Karma/KarmaTrackInfo.cs:
6487 * src/Dap/Banshee.Dap.Karma/Banshee.Dap.Karma/KarmaSource.cs:
6488 * src/Dap/Banshee.Dap.Karma/Makefile.am:
6489 * src/Dap/Makefile.am:
6490 * build/build.environment.mk:
6491 * configure.ac: Patch from Bob Copeland to add Karma DAP support. It is
6492 enabled through the --enable-karma configure option and requires karma-sharp
6495 2008-08-15 Gabriel Burt <gabriel.burt@gmail.com>
6497 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Fix bug with sometimes doing
6498 GTK/UI work not in the main thread.
6500 2008-08-15 Gabriel Burt <gabriel.burt@gmail.com>
6502 * src/Libraries/Hyena/Hyena.Data/PropertyStore.cs: Fix deadlock caused by
6503 a property change event triggering a propety get/set/remove.
6505 2008-08-15 Gabriel Burt <gabriel.burt@gmail.com>
6507 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
6508 Fix bug with not triggering metadata refresh when migrating from 0.13.2.
6510 2008-08-15 Alexander Hixon <ahixon@gnome.org>
6512 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs: Only use 'Log'
6513 rather than 'Hyena.Log' in the code since we've already referenced it.
6515 * src/Extensions/Banshee.MiniMode/Banshee.MiniMode/MiniModeWindow.cs:
6516 Make sure we can use the hotkeys from the main window. Based on a patch by
6517 Ruben Vermeersch. Fixes BGO #385849.
6519 2008-08-15 Alexander Hixon <ahixon@gnome.org>
6521 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs: Only post Now
6522 Playing information to AS servers after all tracks have been uploaded.
6523 Should also fix consecutive Now Playing updates. Closes BGO #524992.
6525 2008-08-14 Aaron Bockover <abock@gnome.org>
6527 * src/Clients/banshee-1.in: Fixes BGO #547725 (hyperair)
6529 2008-08-14 Aaron Bockover <abock@gnome.org>
6531 Merged the really nice and blingy cover art display back from r4350 now
6532 that 1.2.1 is out and we can afford more time to stress test it. Please
6535 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs:
6536 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/XOverlayVideoDisplay.cs:
6537 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs:
6538 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
6539 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkRenderer.cs:
6540 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
6541 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ClassicTrackInfoDisplay.cs:
6542 * src/Libraries/Hyena.Gui/Hyena.Gui/CairoExtensions.cs:
6544 2008-08-14 Aaron Bockover <abock@gnome.org>
6546 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
6547 Implement ReplayGain preference and cope with the volume format change
6549 * libbanshee/banshee-player.c:
6550 * libbanshee/banshee-player-pipeline.c:
6551 * libbanshee/banshee-player-private.h: Integrate the ReplayGain support
6552 into the pipeline/player object; store user volume in the player object
6553 since the pipeline volume may have a ReplayGain scale factor; use a
6554 double [0..1] to store the volume to make life easier
6556 * libbanshee/banshee-player-replaygain.c:
6557 * libbanshee/banshee-player-replaygain.h: Implemented ReplayGain volume
6558 scaling, reading data from GST_TAG_[TRACK|ALBUM]_[GAIN|PEAK] tags;
6559 implemented based on the http://replaygain.hydrogenaudio.org/ spec,
6560 including the 10 track scale history to implement average scale on
6561 tracks without ReplayGain data
6563 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/NotebookPage.cs:
6564 Do not show empty sections
6566 * src/Core/Banshee.Services/Banshee.Preferences/Page.cs: Add an empty
6569 * src/Core/Banshee.Services/Banshee.Preferences/SchemaPreference.cs:
6570 Support a notification callback when the schema value is toggled
6572 2008-08-14 Gabriel Burt <gabriel.burt@gmail.com>
6574 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
6575 Add protected MetadataHash property, really only used to store a hashed
6576 string of title, artist, album, genre, duration, etc. Will be used for
6577 sql-powered sync - select all the MetadataHashes that are in the library
6578 but not the device, and vice-versa.
6580 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
6581 Add MetadataHash column to CoreTracks, and trigger metadata refresh so the
6582 hashes are generated for existing tracks.
6584 * src/Libraries/Hyena/Hyena/CryptoUtil.cs: Speed up the MD5 hashing by
6585 caching the MD5 algorithm object, and speed up the IsMd5Encoded method by
6588 * src/Libraries/Hyena/Hyena/Tests/CryptoUtilTests.cs: Make public instead
6589 of internal so these tests are actually ran, and add tests for null/empty
6592 2008-08-14 Gabriel Burt <gabriel.burt@gmail.com>
6594 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Lock on private object,
6595 not this to avoid deadlock with external code locking on this.
6597 2008-08-14 Gabriel Burt <gabriel.burt@gmail.com>
6599 * src/Extensions/Banshee.Torrent/Banshee.Torrent/TorrentService.cs: Fix
6602 2008-08-13 Gabriel Burt <gabriel.burt@gmail.com>
6604 * src/Extensions/Extensions.mds:
6605 * src/Extensions/Makefile.am:
6606 * src/Extensions/Banshee.Torrent/Banshee.Torrent.mdp:
6607 * src/Extensions/Banshee.Torrent/Banshee.Torrent/TorrentService.cs:
6608 * src/Extensions/Banshee.Torrent/Banshee.Torrent/TorrentFileDownloadTask.cs:
6609 * src/Extensions/Banshee.Torrent/Makefile.am:
6610 * src/Extensions/Banshee.Torrent/Banshee.Torrent.addin.xml:
6611 * build/m4/banshee/torrent.m4:
6612 * build/build.environment.mk:
6613 * configure.ac: Patch from Alan McGovern adding support for downloading
6614 .torrent podcast enclosures, with some build/style fixes by me. Is not
6615 built by default (requires --enable-torrent option) and probably not
6616 buildable at all except within MonoDevelop. Still under development, do
6617 not enable unless you know what you're doing.
6619 2008-08-13 Gabriel Burt <gabriel.burt@gmail.com>
6621 Patch from Alan McGovern laying the groundwork for torrent support in Migo.
6623 * src/Libraries/Migo/Migo.DownloadCore/DownloadManager.cs: Add support for
6624 other types of DownloadTasks.
6626 * src/Libraries/Migo/Migo.Syndication/FeedEnclosure.cs: Strip the trailing
6627 .torrent extension for the file name.
6629 2008-08-12 Gabriel Burt <gabriel.burt@gmail.com>
6631 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs:
6632 Fix a NRE in the cover art display when the ArtworkId for a track is null
6635 2008-08-12 Aaron Bockover <abock@gnome.org>
6637 Banshee 1.2.1 Released
6639 2008-08-12 Aaron Bockover <abock@gnome.org>
6641 * configure.ac: Bump version to 1.2.1
6645 * src/Extensions/Banshee.SqlDebugConsole/Makefile.am:
6646 * src/Extensions/Makefile.am: Fix build
6648 2008-08-12 Gabriel Burt <gabriel.burt@gmail.com>
6650 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationPane.cs:
6651 Fix bug where top album buttons tried to open the wrong URL.
6653 2008-08-12 Aaron Bockover <abock@gnome.org>
6655 * Revert: svn merge -r 4350:4349; backed out my large commit from yesterday
6656 due to some apparent internal windowing regressions experience by some;
6657 unfortunately no bling for 1.2.1, but I'll work to get it back into 1.2.2
6659 2008-08-12 Gabriel Burt <gabriel.burt@gmail.com>
6661 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
6662 If there is no track loaded/playing and the user presses Play, if one or
6663 more items are selected, play the first intead of playing the first item
6666 2008-08-12 Gabriel Burt <gabriel.burt@gmail.com>
6668 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Catch and log exceptions
6669 thrown while loading the device's items.
6671 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs: Don't
6672 create the user job if it's just going to be hidden. Avoid a NRE if the
6673 ImportElement already fired the Finished event and the job was destroyed.
6675 * src/Libraries/Hyena/Hyena.Collections/QueuePipelineElement.cs: Prevent
6676 NRE by making sure the element is threaded. This and the above NRE fix
6677 should fix the bug with mass storage devices not getting loaded (BGO
6680 2008-08-12 Gabriel Burt <gabriel.burt@gmail.com>
6682 * src/Libraries/Lastfm/Lastfm.Data/DataCore.cs: Patch from Félix Velasco
6683 and myself adding NRE protection, should fix some issues with
6684 recommendation pane not showing up (BGO #547177).
6686 2008-08-11 Aaron Bockover <abock@gnome.org>
6688 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/LargeTrackInfoDisplay.cs:
6689 Implemented a new high resolution track info display; quite optimized for
6690 smooth xfade at higher resolutions through cairo; sits in the now playing
6691 source and works in full screen
6693 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
6694 Support Cairo Surface caching
6696 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ClassicTrackInfoDisplay.cs:
6697 Fixed some windowing issues
6699 * src/Libraries/Hyena.Gui/Hyena.Gui/CairoExtensions.cs: Added a
6700 CreateSurfaceForPixbuf method
6702 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs:
6703 Removed non-video rendering code (idle logo, album art)
6705 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingTrackInfoDisplay.cs:
6706 LargeTrackInfoDisplay themed for the now playing source
6708 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingContents.cs:
6709 Base contents widget for now playing source; random things can be packed,
6710 including the video display and the album art view
6712 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/XOverlayVideoDisplay.cs:
6713 Eliminate an internal GdkWindow, attaching the video window to the root
6715 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs:
6716 Use the NowPlayingContents widget as the main widget to be detached for
6719 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
6720 Fixed rendering/mapping issue
6722 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkRenderer.cs:
6723 Support specifying which corners to round
6725 2008-08-11 Gabriel Burt <gabriel.burt@gmail.com>
6727 * src/Libraries/Hyena/Hyena.Query/RelativeTimeSpanQueryValue.cs:
6728 * src/Libraries/Hyena/Hyena.Query/DateQueryValue.cs: Patch from Félix
6729 Velasco that makes never played tracks match 'last played > X' type
6730 queries (BGO #542930).
6732 2008-08-08 Aaron Bockover <abock@gnome.org>
6734 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerBandScale.cs:
6735 Show the dB value in a tooltip against the band sliders
6737 2008-08-08 Bertrand Lorentz <bertrand.lorentz@gmail.com>
6739 * src/Extensions/Banshee.Daap/Daap/ServiceLocator.cs: Prevent a crash on
6740 exit when the DAAP browser could not start.
6742 2008-08-07 Gabriel Burt <gabriel.burt@gmail.com>
6744 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
6745 Make sure no modifiers are set when handling o like enter.
6747 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
6748 Only reload a max of 5 times during a given import; every 250 items or
6749 20%, whatever is more.
6751 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs: Add a
6752 protected TotalCount property for the above 20% to use.
6754 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
6755 Fix bug where the metadata refresh was triggered for brand new databases.
6757 * src/Core/Banshee.Services/Banshee.PlayerMigration/AmarokPlayerImportSource.cs:
6758 Fix bug with rounding Amarok's ratings down (eg 7 down to 3, etc), and not
6759 migrating the added and last played stamps.
6761 2008-08-06 Bertrand Lorentz <bertrand.lorentz@gmail.com>
6763 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/QueryTermBox.cs: Patch from
6764 Félix Velasco fixing a crash when editing a smart playlist with a date
6765 field (BGO #539960).
6767 2008-08-05 Gabriel Burt <gabriel.burt@gmail.com>
6769 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs:
6770 Show cover art here when playing music (BGO #539180).
6772 * src/Core/Banshee.Services/Banshee.Metadata.FileSystem/FileSystemQueryJob.cs:
6773 Fix bug just introduced by recent commit that ignored the
6774 too-many-random-files-in-this-folder limit if the file was cover.jpg etc.
6776 2008-08-05 Gabriel Burt <gabriel.burt@gmail.com>
6778 * src/Clients/Nereid/Nereid/Client.cs: Patch from Jo Shields fixing bug
6779 where --help-query-player didn't work (BGO #546334).
6781 2008-08-05 Gabriel Burt <gabriel.burt@gmail.com>
6783 * src/Core/Banshee.Services/Banshee.Playlists.Formats/PlaylistParser.cs:
6784 Instead of throwing an exception when the uri scheme isn't one we support,
6785 simply return false to indicate the parsing failed. Fixes bug where
6786 mms:// URIs wouldn't load (BGO #546392).
6788 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Call
6789 typeof (T) once instead of N times.
6791 2008-08-05 Bertrand Lorentz <bertrand.lorentz@gmail.com>
6793 * src/Core/Banshee.Services/Banshee.Playlists.Formats/AsxPlaylistFormat.cs:
6794 Another patch from Félix Velasco, this time to fix the parsing of ASX
6795 playlists (BGO #545646).
6797 2008-08-05 Bertrand Lorentz <bertrand.lorentz@gmail.com>
6799 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
6800 Patch from Félix Velasco to select the proper source when showing the radio
6801 station editor (BGO #539397).
6803 2008-08-05 Gabriel Burt <gabriel.burt@gmail.com>
6805 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackFilterListView.cs:
6806 Enable dragging filter items (artists/albums/etc) the same as you would
6807 drag tracks - onto the play queue, etc (BGO #524418).
6809 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
6810 Check where the drag came from, and if it wasn't directly from the track
6811 view, assume it was from a filter view, and add everything in the track
6812 model to the drop destination instead of just the user-selected items.
6814 * src/Core/Banshee.Core/Resources/translators.xml: Updated
6816 2008-08-05 Gabriel Burt <gabriel.burt@gmail.com>
6818 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
6819 Factor out activate-selection code into protected method.
6821 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
6822 Handle 'o' the same as enter - activate the row(s), which starts playing
6825 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Update links to
6828 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Update
6831 * src/Core/Banshee.Services/Banshee.Library/ThreadPoolImportSource.cs:
6832 Make sure errors are reported on the main thread, avoid hanging when
6833 importing from Amarok.
6835 2008-08-04 Bertrand Lorentz <bertrand.lorentz@gmail.com>
6837 * src/Core/Banshee.Services/Banshee.Metadata.FileSystem/FileSystemQueryJob.cs:
6838 Patch from Benjamín Valero Espinosa that adds preferential filenames when
6839 looking for cover art file (BGO #545911).
6841 2008-08-01 Gabriel Burt <gabriel.burt@gmail.com>
6843 * src/Extensions/Makefile.am:
6844 * src/Extensions/Extensions.mds:
6845 * src/Extensions/Banshee.MediaWeb/*: New but totally-unfinished extension
6846 for embedding WebKit.
6849 * build/build.environment.mk:
6850 * build/m4/banshee/mediaweb.m4: Add config option to --enable-mediaweb
6851 that also checks for webkit-sharp.
6853 * src/Extensions/Template/Makefile.am:
6854 * src/create-extension: A few tweaks to do more for the user.
6856 * src/Core/Banshee.ThickClient/Banshee.Library.Gui/PhotoFolderImportSource.cs:
6857 Add a couple more possible photo folder paths.
6860 * src/Core/Banshee.Core/Resources/contributors.xml: Make our credits of
6861 Christopher Halse Rogers consistent.
6863 * src/Libraries/Lastfm/Lastfm.mdp: Remove duplicate Hyena ref.
6865 2008-07-31 Gabriel Burt <gabriel.burt@gmail.com>
6867 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GnomeScreensaverManager.cs:
6868 Log a friendlier warning when the GNOME screensaver isn't running (BGO
6871 2008-07-31 Bertrand Lorentz <bertrand.lorentz@gmail.com>
6873 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationPane.cs:
6874 Mark a string for translation (BGO #545677).
6876 2008-07-31 Gabriel Burt <gabriel.burt@gmail.com>
6878 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackListModel.cs:
6879 Fix bug with podcasts not getting sorted by published date on startup.
6881 2008-07-30 Gabriel Burt <gabriel.burt@gmail.com>
6883 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceIconResolver.cs:
6884 Whoops, revert crasher from previous GetString changes.
6886 * data/audio-profiles/mp3-lame.xml.in: Add 256 kbps as an option.
6888 2008-07-30 Gabriel Burt <gabriel.burt@gmail.com>
6890 * src/Extensions/Extensions.mds:
6891 * src/Extensions/Banshee.SqlDebugConsole/Makefile.am:
6892 * src/Extensions/Banshee.SqlDebugConsole/Resources/GlobalUI.xml:
6893 * src/Extensions/Banshee.SqlDebugConsole/Banshee.SqlDebugConsole.addin.xml:
6894 * src/Extensions/Banshee.SqlDebugConsole/Banshee.SqlDebugConsole.mdp:
6895 * src/Extensions/Banshee.SqlDebugConsole/Banshee.SqlDebugConsole/SqlActions.cs:
6896 * src/Core/Banshee.ThickClient/Banshee.Addins.Gui/AddinView.cs: New addin,
6897 not yet finished or really working, to view SQL queries that are run in
6898 Banshee, and eventually be able to run them and arbitrary queries in
6899 Banshee's connection, with an option to run them 50 or whatever times to
6902 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs: Add a new
6903 EventArgs subclass for the new CommandExecuted event. This event is only
6904 fired if LogAll is true.
6906 * src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml:
6907 * src/Extensions/Template/Template.addin.xml:
6908 * src/create-extension:
6909 * configure.ac: Clarify and simplify extension creation.
6911 2008-07-30 Gabriel Burt <gabriel.burt@gmail.com>
6913 * src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml: Forgot to
6914 commit this, actually adds the photo folder import source.
6916 2008-07-30 Gabriel Burt <gabriel.burt@gmail.com>
6918 * src/Core/Banshee.ThickClient/Makefile.am:
6919 * src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp:
6920 * src/Core/Banshee.ThickClient/Banshee.Library.Gui/PhotoFolderImportSource.cs:
6921 New import source to help people import videos they took on their digital
6922 cameras, located in their Photos directory.
6924 2008-07-30 Gabriel Burt <gabriel.burt@gmail.com>
6926 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
6927 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs:
6928 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
6929 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceIconResolver.cs:
6930 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
6931 * src/Libraries/Hyena/Hyena.Data/PropertyStore.cs: Change GetString calls
6932 to Get<string> calls, to avoid a lot of strings being marked for
6933 translation when they shouldn't be.
6935 2008-07-30 Gabriel Burt <gabriel.burt@gmail.com>
6937 Fix a bunch of translatability issues (BGO #545239).
6939 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs: Fix plural
6942 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs:
6943 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
6944 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
6945 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs:
6946 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs: Add
6947 and clarify translator comments.
6949 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/DownloadManager/DownloadUserJob.cs:
6952 * src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs: Avoid 'toggle'.
6954 2008-07-30 Bertrand Lorentz <bertrand.lorentz@gmail.com>
6956 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs:
6957 * src/Core/Banshee.Core/Banshee.Collection/ITrackInfo.cs:
6958 * src/Core/Banshee.Core/Banshee.Configuration.Schema/LibrarySchema.cs:
6959 * src/Core/Banshee.Core/Banshee.Base/FileNamePattern.cs: Patch from
6960 Brian Teague adding the genre option to the file name pattern
6961 construction (BGO #492181).
6963 2008-07-29 Aaron Bockover <abock@gnome.org>
6965 Banshee 1.2 Final (1.2.0) Released
6967 2008-07-29 Aaron Bockover <abock@gnome.org>
6969 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs:
6970 Reworked the count query so that it really is fast now
6972 2008-07-29 Gabriel Burt <gabriel.burt@gmail.com>
6974 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs: Fix
6975 bug where the station list wasn't reloaded properly when a subscribed user
6976 was logged in, meaning their personal stations etc never loaded (BGO
6979 2008-07-29 Gabriel Burt <gabriel.burt@gmail.com>
6981 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
6982 Add an index on CoreTracks that should help with the performance of the
6985 2008-07-29 Aaron Bockover <abock@gnome.org>
6987 * gstreamer/equalizer/Makefile.am: -lm
6989 * src/Backends/Banshee.NowPlaying.X11/libbnpx11/Makefile.am: -lXrandr
6991 2008-07-29 Bertrand Lorentz <bertrand.lorentz@gmail.com>
6993 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
6994 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
6995 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Reset the
6996 fields about the last artist and last album imported when the artists
6997 and albums are pruned from the DB.
6999 2008-07-29 Gabriel Burt <gabriel.burt@gmail.com>
7001 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapService.cs: Catch
7002 exceptions caused by not having any DAAP backends (avahi, etc).
7004 2008-07-29 Gabriel Burt <gabriel.burt@gmail.com>
7006 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Shorten track
7007 and title query labels.
7009 2008-07-29 Gabriel Burt <gabriel.burt@gmail.com>
7011 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Fix bug
7012 where IsLive tracks wouldn't change the play icon to stop (BGO #539021).
7014 2008-07-29 Gabriel Burt <gabriel.burt@gmail.com>
7016 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
7017 Make UpdateUnfilteredAggregates virtual, expose UnfilteredCount setter and
7018 Connection via protected properties.
7020 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackListModel.cs:
7021 Use the above changes to show the # of new podcast items in the
7022 SourceView, instead of the total # of items.
7024 2008-07-29 Wouter Bolsterlee <wbolster@svn.gnome.org>
7026 * src/Clients/Nereid/Nereid/ViewContainer.cs: Added
7029 2008-07-28 Gabriel Burt <gabriel.burt@gmail.com>
7031 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
7032 * src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs: Comment out
7033 Show Cover Art menu item/action.
7035 2008-07-27 Gabriel Burt <gabriel.burt@gmail.com>
7037 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Remove cruft.
7039 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Set the
7040 focus index as well as the selection when jumping to current song (BGO
7043 2008-07-27 Gabriel Burt <gabriel.burt@gmail.com>
7045 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
7046 Replace spaces with underscores in artist name before encoding for
7047 Wikipedia URL (BGO #537682).
7049 2008-07-27 Gabriel Burt <gabriel.burt@gmail.com>
7051 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/XspfMigrator.cs:
7052 Catch exceptions when migrating old internet radio stations over (BGO
7055 * NEWS: Some updates for 1.2
7057 2008-07-27 Gabriel Burt <gabriel.burt@gmail.com>
7059 * build/m4/banshee/daap.m4: Enable DAAP by default.
7061 * configure.ac: Remove unstable warning for DAAP in configure.
7063 2008-07-27 Gabriel Burt <gabriel.burt@gmail.com>
7065 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
7066 Fix the regression where the New Playlist wouldn't appear in the sources
7067 list when you were drag and dropping some tracks.
7069 2008-07-27 Gabriel Burt <gabriel.burt@gmail.com>
7071 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/ScreensaverManager.cs:
7072 Keep track of whether the screensaver is already inhibited. Implement
7073 IDisposable and uninhibit when Disposed.
7075 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs:
7076 Override Dispose and call Dispose on the ScreensaveManager.
7078 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
7079 Call Dispose on the NowPlayingInterface.
7081 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Make all track
7082 actions not visible/sensitive when dealing with a non ITrackModelSoure,
7083 for example the Now Playing source (BGO #538398).
7085 2008-07-27 Gabriel Burt <gabriel.burt@gmail.com>
7087 Patches from Bertrand Lorentz fixing issues with files in folders whose
7088 name start the same as the library folder.
7090 * src/Core/Banshee.Core/Banshee.Base/Paths.cs: Add
7091 CachedLibraryLocationWithSeparator property. Fix MakePathRelative method
7092 to add a path seperator as needed (BGO #539511).
7094 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
7095 Use the new -WithSeparator property, fixing copy-on-import (BGO #533177).
7097 * src/Core/Banshee.Core/Banshee.Base/Tests/FileNamePatternTests.cs: Unit
7098 tests written by me to make sure MakePathRelative works how we expect it
7101 2008-07-27 Gabriel Burt <gabriel.burt@gmail.com>
7103 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
7104 Create default columns within a private method so we can manipulate them
7105 beyond just their ctor (not yet done, but will use this to set better
7106 widths soon). Also, use the new Column/QueryField integration to avoid
7107 duplication of names/labels.
7109 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Fix
7110 properly the detection of if any of the columns changed in a TracksChanged
7111 event are being sorted by, using the new Field property on SortableColumn.
7113 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Add a
7114 PropertyName property used to create/bind columns from a QueryField
7115 object. Add a comment field. Modify the GetSort method just enough to
7116 work with the new 'sort keys' (QueryField.Name) that will be passed in.
7118 * src/Libraries/Hyena/Hyena.Query/QueryField.cs:
7119 * src/Libraries/Hyena/Hyena.Query/Tests/QueryTests.cs: Add PropertyName.
7121 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/SortableColumn.cs:
7122 * src/Libraries/Hyena/Hyena.Data/ISortableColumn.cs: Add QueryField Field
7123 property, the first step in integrating columns with QueryFields, which
7124 should probably be named something more generic like ModelFields.
7126 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Implement
7127 ISizeRequestCell and add delegate property to allow external code to
7128 specify what width a text cell should have. Not used yet.
7130 2008-07-27 Gabriel Burt <gabriel.burt@gmail.com>
7132 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Add
7133 static UpdateAction convenience methods that set the
7134 visiblity/sensitivity of actions.
7136 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Hide the
7137 browser-related actions when the source doesn't have any filters.
7139 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
7140 Fix issue with not allowing sources that didn't implement
7141 IFilterableSource to be used by this view. Patch also created by Bertrand
7142 Lorentz (BGO #544989).
7144 * src/Core/Banshee.Services/Banshee.Sources/IFilterableSource.cs: Add
7145 AvailableFilters getter to the interface.
7147 * src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs:
7148 Override HasArtistAlbum to false.
7150 2008-07-27 Gabriel Burt <gabriel.burt@gmail.com>
7152 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs:
7153 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
7154 * src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseTrackModelCache.cs:
7155 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs:
7156 Remove ClearManagedCache method, was redundant w/ Clear method.
7158 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: When the
7159 source is Deactivated, call InvalidateCache on the Track model and all
7160 filter models. This should help prevent Banshee from using more and more
7161 RAM as you switch sources and scroll through lists.
7163 2008-07-27 Gabriel Burt <gabriel.burt@gmail.com>
7165 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
7166 When a Uri list is dropped onto a source, import the uris into the
7169 2008-07-27 Gabriel Burt <gabriel.burt@gmail.com>
7171 * src/Core/Banshee.ThickClient/Banshee.Gui.DragDrop/DragDropUtilities.cs:
7172 Change the SplitSelectionData method to use String.Split, and to remove
7175 2008-07-27 Todd Berman <tberman@off.net>
7177 * src/Dap/Banshee.Dap.Ipod/IpodSource.cs: Implement Import (BGO #541684)
7179 2008-07-25 Gabriel Burt <gabriel.burt@gmail.com>
7181 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs: Ok,
7182 last fix for Cover Art, I swear. Thought I'd fixed all the sql issues in
7183 the last commit, but hadn't - this one should really fix BGO #541469.
7185 2008-07-25 Gabriel Burt <gabriel.burt@gmail.com>
7187 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtService.cs:
7188 When the update cover art action is triggered, force refresh of cover art
7189 even for albums we've checked within the last N days.
7191 2008-07-25 Aaron Bockover <abock@gnome.org>
7193 * src/Core/Banshee.Widgets/Banshee.Widgets/StreamPositionLabel.cs:
7194 Prevent crash when switching to mini-mode in a paused state; ensure stream
7195 position label's layout is rebuilt when the theme changes to account for
7196 any potential font size change (BGO #541102)
7198 2008-07-25 Gabriel Burt <gabriel.burt@gmail.com>
7200 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs: Fix
7201 major performance issue I introduced within the last week. With this and
7202 snorp and my earlier commits, BGO #541469 is fixed.
7204 2008-07-25 James Willcox <snorp@snorp.net>
7206 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtService.cs:
7207 Properly respond to TrackChanged events, and only fetch cover art
7208 if something changed that we care about.
7210 2008-07-25 Gabriel Burt <gabriel.burt@gmail.com>
7212 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs:
7213 Schedule the cover art lookup job w/ the lowest priority.
7215 2008-07-25 Aaron Bockover <abock@gnome.org>
7217 * build/Makefile.am: Patch from Bertrand Lorentz to force UTF-8 local
7218 when extracting strings from po files to populate the translator
7219 credits (BGO #506556)
7221 2008-07-24 Aaron Bockover <abock@gnome.org>
7223 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
7224 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSourceContents.cs:
7225 Temporary hack that provides a Genre browser for Internet Radio
7227 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Support inherited
7230 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/ITrackModelSourceContents.cs:
7231 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
7232 Remove unnecessary interface API and disable the genre browser for now
7234 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs:
7235 Support forced positioning of the browser
7237 2008-07-24 Bertrand Lorentz <bertrand.lorentz@gmail.com>
7239 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Fix the
7240 comparison between the field column and the current sort column, so that
7241 "CoreTracks.skippedcount" doesn't match "Track". Makes BGO #544415 less
7242 likely to happen, but doesn't fix it.
7244 2008-07-24 Bertrand Lorentz <bertrand.lorentz@gmail.com>
7246 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
7247 * src/Core/Banshee.Core/Banshee.Base/FileNamePattern.cs: Replace string
7248 concatenations with Path.Combine calls, and get rid of useless Substring
7251 2008-07-24 Aaron Bockover <abock@gnome.org>
7253 * src/Libraries/Hyena.Gui/Hyena.Gui/GtkWorkarounds.cs: Work around a nasty
7254 little bug in GDK and subsequently Gdk# (2.8.5 through 2.12.1) where
7255 managed Gdk.Window.Destroy function does not obtain a normal (non-toggle)
7256 reference on the GdkWindow before calling gdk_window_destroy on it,
7257 which the native function apparently expects. This work around ensures
7258 that GdkWindows will be properly destroyed regardless of the Gdk#
7261 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
7262 Use GtkWorkarounds.WindowDestroy
7264 2008-07-22 Gabriel Burt <gabriel.burt@gmail.com>
7266 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Add a
7267 UriToSafeUri method that checks to see if the uri is relative and does the
7270 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs: Set the
7271 Uri on the track object we pass to the metadata provider, fixes bug where
7272 the cover art extension wasn't able to use the new cover-art-in-folder
7273 lookup provider (BGO #544226).
7275 2008-07-22 Gabriel Burt <gabriel.burt@gmail.com>
7277 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
7278 Optimize the loop that checks to see if a click happened on a column's
7279 resize area. Add some comments.
7281 2008-07-22 Gabriel Burt <gabriel.burt@gmail.com>
7283 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
7284 Fix glitch where the resize cursor would flash away when you actually
7285 pressed the mouse button, but then come back when you started moving.
7287 2008-07-22 Gabriel Burt <gabriel.burt@gmail.com>
7289 * src/Core/Banshee.Services/Banshee.Services.mdp:
7290 * src/Core/Banshee.Services/Makefile.am:
7291 * src/Core/Banshee.Services/Banshee.Metadata.FileSystem/FileSystemMetadataProvider.cs:
7292 * src/Core/Banshee.Services/Banshee.Metadata.FileSystem/FileSystemQueryJob.cs:
7293 New provider that gets cover art files from the folder a track is in (BGO
7294 #528137, BGO #336249). Looks for the largest JPG file in the folder.
7296 * src/Core/Banshee.Services/Banshee.Metadata/MetadataService.cs: Use the
7297 new provider, after the embedded provider.
7299 * src/Core/Banshee.Core/Banshee.Collection/IBasicTrackInfo.cs: Add Uri
7302 2008-07-22 Gabriel Burt <gabriel.burt@gmail.com>
7304 This commit does the backend (non-UI) work to make filters (eg
7305 artist/album/genre/etc browsers) on sources customizable. All the UI work
7306 still needs to be done - actually supporting showing an arbitrary number
7307 and set of filters, and the UI, perhaps menus, to actually
7308 add/remove/replace filters.
7310 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
7311 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
7312 Since the FilterModels property was removed from the ITrackModelSource, no
7313 longer need to implement it for sources that aren't filterable.
7315 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
7316 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
7317 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastSourceContents.cs:
7318 Renamed FilterModels property to CurrentFilters.
7320 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastSource.cs:
7321 Use the new AvailableFilters and DefaultFilters properties instead of just
7322 overriding the FilterModels property.
7324 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs:
7325 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs:
7326 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseQueryFilterModel.cs:
7327 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastFeedModel.cs:
7328 Pass a name and label to the filter ctor, so we can expose the label in a
7329 menu later to make the filters customizable.
7331 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
7332 Make the changes necessary to display a genre browser, but keep it hidden
7333 for now because the Composite widget is hard coded to show three filters,
7334 even if a source only has one.
7336 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs:
7337 Set the FilterName and Label from the new ctor args.
7339 * src/Core/Banshee.Services/Makefile.am:
7340 * src/Core/Banshee.Services/Banshee.Services.mdp:
7341 * src/Core/Banshee.Services/Banshee.Sources/IFilterableSource.cs: New
7342 interface that exposes CurrentFilters property and a FiltersChanged event.
7344 * src/Core/Banshee.Services/Banshee.Sources/ITrackModelSource.cs: Remove
7345 the FilterModels property (and comment cruft).
7347 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Add a bunch
7348 of methods for allowing customization of filters -
7349 adding/removing/replacing them, and saving/loading to/from gconf.
7351 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Add CreateSchema
7352 convenience methods that given a name and a T give you a source-scoped
7355 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Avoid NRE by
7356 using a lazily-loaded property instead of its backing variable.
7358 * src/Core/Banshee.Services/Banshee.Collection/IFilterListModel.cs:
7359 * src/Core/Banshee.Services/Banshee.Collection/FilterListModel.cs: Add
7360 InvalidateCache method.
7362 2008-07-21 Alexander Hixon <ahixon@gnome.org>
7364 * src/Libraries/Lastfm/Lastfm.Data/DataCore.cs: Make sure that we check
7365 the hash string length before performing a substring operation to avoid
7366 out-of-range exceptions.
7368 2008-07-21 Alexander Hixon <ahixon@gnome.org>
7370 * src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml: Forgot to commit
7371 this so that the GNOME ScreensaverManager implementation gets loaded.
7373 2008-07-20 Gabriel Burt <gabriel.burt@gmail.com>
7375 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Add curlies.
7377 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs:
7380 * src/Core/Banshee.Services/Banshee.Collection/IFilterListModel.cs:
7381 * src/Core/Banshee.Services/Banshee.Collection/FilterListModel.cs: Add
7382 FilterName and FilterLabel properties that will be used in making the
7383 filters configurable.
7385 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Add TODO
7386 comment, and get rid of static ctor where we set the labels for the
7387 QueryValue operators (they are set in Hyena now).
7389 * src/Libraries/Hyena/Hyena.Query/IntegerQueryValue.cs:
7390 * src/Libraries/Hyena/Hyena.Query/QueryOperator.cs:
7391 * src/Libraries/Hyena/Hyena.Query/StringQueryValue.cs:
7392 * src/Libraries/Hyena/Hyena.Query/NullQueryValue.cs:
7393 * src/Libraries/Hyena/Hyena.Query/RelativeTimeSpanQueryValue.cs:
7394 * src/Libraries/Hyena/Hyena.Query/DateQueryValue.cs: Set the translated
7395 labels for the operators in their ctors.
7397 2008-07-20 Bertrand Lorentz <bertrand.lorentz@gmail.com>
7399 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ClassicTrackInfoDisplay.cs:
7400 Add constructors to prevent seemingly random crashes (BGO #540728).
7402 2008-07-20 Gabriel Burt <gabriel.burt@gmail.com>
7404 * src/Libraries/Lastfm/Lastfm.Data/DataEntry.cs: Patch from Arthur Carli
7405 fixing issue with parsing percentages from Last.fm without culture
7406 invariant info (BGO #539528).
7408 2008-07-20 Bertrand Lorentz <lorentz@siva>
7410 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Add a lock
7411 statement on the error_source field, to prevent a deadlock when importing
7412 songs with invalid mpeg headers (BGO #542915).
7414 2008-07-20 Gabriel Burt <gabriel.burt@gmail.com>
7416 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
7417 Patch from Fabian Jost fixing issue with migrations - I added the new
7418 columns in both the migration and the initial db creation, but I forgot to
7419 add the columns to the data migration code (BGO #542345).
7421 2008-07-20 Gabriel Burt <gabriel.burt@gmail.com>
7423 * src/Core/Banshee.Widgets/Banshee.Widgets/Tile.cs: Prevent NRE when
7424 setting the Pixbuf of a Tile to null (BGO #542921).
7426 2008-07-20 Gabriel Burt <gabriel.burt@gmail.com>
7428 * src/Core/Banshee.Services/Banshee.Metadata.MusicBrainz/MusicBrainzQueryJob.cs:
7429 Patch from Peter de Kraker, looks up the release using the AlbumArtist
7430 instead of the track artist (BGO #539570).
7432 2008-07-20 Gabriel Burt <gabriel.burt@gmail.com>
7434 Patch from Peter de Kraker adding support for fetching cover art from
7435 Last.fm (BGO #536132), with a few tiny changes (mostly HACKING style
7438 * src/Core/Banshee.Services/Banshee.Metadata/MetadataService.cs:
7439 Whitespace issues, and add the Lastfm provider.
7441 * src/Core/Banshee.Services/Banshee.Services.addins:
7442 * src/Core/Banshee.Services/Makefile.am:
7443 * src/Core/Banshee.Services/Banshee.Services.mdp:
7444 * src/Core/Banshee.Services/Banshee.Metadata.LastFM/LastFMMetadataProvider.cs:
7445 * src/Core/Banshee.Services/Banshee.Metadata.LastFM/LastFMQueryJob.cs: New
7446 files implementing cover art fetching from Last.fm.
7448 * src/Core/Banshee.Services/Banshee.Metadata.MusicBrainz/MusicBrainzQueryJob.cs:
7451 * src/Libraries/Lastfm/Lastfm.mdp:
7452 * src/Libraries/Lastfm/Makefile.am:
7453 * src/Libraries/Lastfm/Lastfm.Data/DataEntry.cs:
7454 * src/Libraries/Lastfm/Lastfm.Data/LastfmAlbumData.cs: Wrap album
7455 information from Last.fm.
7457 * src/Core/Banshee.Core/Banshee.Core.mdp:
7458 * build/build.environment.mk: Banshee.Services now depends on Lastfm.
7459 Ideally we will move these providers out into extensions at some point.
7461 * src/Core/Banshee.Core/Resources/contributors.xml: Add Peter and Sandy.
7463 2008-07-20 Gabriel Burt <gabriel.burt@gmail.com>
7465 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs:
7466 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs:
7467 * src/Core/Banshee.ThickClient/Banshee.Library.Gui/FileImportSource.cs:
7468 * src/Core/Banshee.ThickClient/Banshee.Library.Gui/FolderImportSource.cs:
7469 * src/Core/Banshee.Services/Banshee.PlayerMigration/AmarokPlayerImportSource.cs:
7470 * src/Core/Banshee.Services/Banshee.Library/ThreadPoolImportSource.cs:
7471 * src/Core/Banshee.Services/Banshee.Library/HomeDirectoryImportSource.cs:
7472 * src/Core/Banshee.Services/Banshee.Library/IImportSource.cs: Add a
7473 SortOrder int property so we can hint at the order import sources should
7474 be displayed in the import dialog. In particular, puts the folder import
7477 * src/Core/Banshee.ThickClient/Banshee.Library.Gui/ImportDialog.cs: Sort
7478 the import sources before adding them to the combo box.
7480 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Add a static
7481 IsPlayingMethod delegate used by the new IsPlaying property to determine
7482 if the current instance is playing.
7484 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
7485 Set the TrackInfo.IsPlayingMethod to our IsPlaying (track) method.
7487 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs: Fix
7488 issue with the ListView position getting scrolled to the top of the list
7489 when it probably shouldn't be. Add RowBoldPropertyName (like
7490 RowSensitivePropertyName) and IsRowBold method.
7492 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
7493 Set the RowBoldPropertyName to use TrackInfo's IsPlaying property.
7495 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
7496 If IsRowBold set the FontWeight property to bold for all ColumnCellText
7499 * src/Core/Banshee.Core/Resources/translators.xml: Automatically updated.
7501 2008-07-20 Gabriel Burt <gabriel.burt@gmail.com>
7503 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs:
7506 2008-07-20 Gabriel Burt <gabriel.burt@gmail.com>
7508 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs:
7509 Fix bug where if a filter model (eg artist or album browser) had zero
7510 items in it (just the All Albums item), it wouldn't filter the view, so
7511 that if you had an artist selected and searched for a string that didn't
7512 match, the artist filter would be cleared and the search ran against all
7513 artists - not what you'd expect. So this fixed that bug, but it should be
7514 improved more by remembering and restoring the last filter selection
7515 before the zero items query, so that when you back out your search you'll
7516 still have that artist (or albums, etc) selected.
7518 2008-07-20 Gabriel Burt <gabriel.burt@gmail.com>
7520 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Use Banshee.Kernel
7521 instead of ThreadAssist.SpawnFromMain.
7523 2008-07-20 Gabriel Burt <gabriel.burt@gmail.com>
7525 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
7526 Cast CacheEntryIds to ints to get value comparison. Fixes bug where the
7527 playback indicator next to the playing track would disappear, which was
7528 introduced when I committed the genre filter support and made the
7529 CacheEntryId an object.
7531 2008-07-19 Alexander Hixon <ahixon@gnome.org>
7533 Patch from Christopher Halse Rogers to disable the screensaver when
7534 watching fullscreen video (BGO #531192) under GNOME (with the ability to
7535 use other backends).
7537 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/IScreensaverManager.cs:
7538 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/ScreensaverManager.cs:
7539 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.addin.xml: Add an
7540 extension point for screensaver extensions for disabling the screensaver
7541 or power management while playing fullscreen.
7543 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GnomeScreensaverManager.cs:
7544 Implement a ScreensaverManager to control GNOME screensaver.
7546 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs:
7547 Use ScreensaverManager to inhibit the screensaver when switching to
7548 fullscreen, and re-enable it when switching away.
7550 * build/build.environment.mk:
7551 Add Banshee.NowPlaying to the references for Banshee.GnomeBackend to build
7552 GnomeScreensaverManager.
7554 2008-07-17 Aaron Bockover <abock@gnome.org>
7556 * src/Libraries/Hyena/Hyena.Collections/RangeCollection.cs: Make
7557 CompareRanges static
7559 2008-07-16 Aaron Bockover <abock@gnome.org>
7561 * src/Libraries/Hyena/Hyena.Collections/Tests/RangeCollectionTests.cs:
7562 Added some more tests, including negative indexes, and a real world
7563 IP address range test from Alan
7565 * src/Libraries/Hyena/Hyena.Collections/RangeCollection.cs: Fixed a serious
7566 bug with range and value-in-range comparisons exposed by MS.NET. The
7567 IComparable interface was removed from Range and the comparisons were
7568 split into the respective binary search implementations; no longer is
7569 Array.BinarySearch used either when searching for a value in a range
7570 so the comparison can be done inline without extra method calls; should
7571 be ever so slightly more efficient and works (all tests pass) on Mono
7574 2008-07-15 Daniel Nylander <po@danielnylander.se>
7576 * data/banshee-1.desktop.in.in: Changed Comment to be translatable.
7578 2008-07-15 Gabriel Burt <gabriel.burt@gmail.com>
7580 * src/Libraries/Hyena/Hyena.Query/UserQueryParser.cs: Patch from Michael
7581 Kaiser fixing issue with parsing user queries starting with a "-" (BGO
7582 #538203). Fixes the two broken query parsing unit tests.
7584 2008-07-01 Aaron Bockover <abock@gnome.org>
7586 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationAreaBox.cs:
7587 Ignore the first size allocation since it's the default window size and
7588 causes the notification area to resize to a huge dimension until a new
7589 request is queued for the actual icon size (BGO #540885)
7591 2008-06-27 Gabriel Burt <gabriel.burt@gmail.com>
7593 * src/Core/Banshee.Services/Banshee.Library/ThreadPoolImportSource.cs:
7594 Fix NRE that totally broke the Amarok importer.
7596 * src/Core/Banshee.Services/Banshee.PlayerMigration/AmarokPlayerImportSource.cs:
7597 Improve the Amarok importer, including fixes for broken rating importing.
7598 Also, migrate the podcast subscriptions.
7600 2008-06-27 Gabriel Burt <gabriel.burt@gmail.com>
7602 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastFeedModel.cs:
7603 Sort podcasts by case-insensitive title.
7605 * src/Extensions/Banshee.Daap/Daap/Database.cs: Fix bug with not
7606 specifying what meta fields to return when fetching playlists (actually
7607 crashed new RB and got bad data from old RB).
7609 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapService.cs: Proxy UI
7610 actions to the main loop, and don't flash new shares within 5 seconds of
7611 starting the locator.
7613 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs: Make Disconnect
7614 and Import actions insensitive unless connected. Handle disconnecting
7615 while loading the tracks (BGO #526817). When we disconnect, show the
7616 disconnected error view. Proxy ui actions to main loop. While loading
7617 tracks, reload fewer times for big collections.
7619 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapPlaylistSource.cs: Proxy
7620 OnUpdated call to main.
7622 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Listen for
7623 the active source's Updated event and UpdateActions when it is raised.
7625 * src/Core/Banshee.Services/Banshee.Web/Browser.cs: Fix typo in UserAgent
7626 string (no closing parenthesis.
7628 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
7629 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:
7630 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Don't set a source
7631 as the active source unless source.CanActivate is true.
7633 * src/Libraries/Migo/Migo.Net/AsyncWebClient.cs: Some servers seem to
7634 return Bad Request when HttpWebRequest auto redirects (because it sets
7635 Content-Length:0, apparently) - so work around that by grabbing the final
7636 URI directly. Fixes, for example, the ogg podcast of "this WEEK in Tech".
7638 2008-06-27 Gabriel Burt <gabriel.burt@gmail.com>
7640 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs: Fix
7641 bug I introduced yesterday for people starting w/ no db.
7643 2008-06-26 Gabriel Burt <gabriel.burt@gmail.com>
7645 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapService.cs: Make the
7646 service a DelayedInitializeService. Seems to fix most (all?) of the
7647 problems finding shares on startup.
7649 2008-06-26 Gabriel Burt <gabriel.burt@gmail.com>
7651 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
7654 * src/Core/Banshee.Services/Banshee.Collection.Database/FilterModelProvider.cs:
7655 Remove expensive ifnull call; all blank (empty or all white space) strings
7656 should now be saved as null.
7658 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
7659 Increase the cache size if the library has > 10K tracks, use LogAll = true
7662 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
7663 Update CoreTracks genre, composer etc to be null if blank/whitespace.
7664 Drop the CoreCache table - will be recreated as needed, and as a temporary
7665 table (small performance win). Vacuum and analyze the db, for good
7668 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Remove
7669 expensive sort by Uri as the fallback for most non-URI sort options.
7671 * src/Libraries/Hyena/Hyena.Query/QueryTermNode.cs: Explicitly set the
7672 no-field-specified operator (to contains).
7674 * src/Libraries/Hyena/Hyena.Data.Sqlite/Tests/SqliteModelProviderTests.cs:
7675 Test that blank/whitespace strings get saved as null.
7677 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteUtils.cs: If a string is
7678 empty or whitespace only, save it as null.
7680 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Change
7681 Exists function to check sqltie_temp_master too.
7683 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Wrap the
7684 reload query (delete + insert into CoreCache) in a transaction. Make the
7685 CoreCache table a TEMP table for performance.
7687 2008-06-26 Gabriel Burt <gabriel.burt@gmail.com>
7689 This commit adds manual playlist (including play queue) sorting. To
7690 manually sort a playlist, you need to turn off column sorting by clicking
7691 the sorted column until the sort arrow disappears (it has three states,
7692 asc, desc, manual sort order).
7694 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
7695 Fix bug with my return-to-previous-playback-source code where if the Play
7696 Queue was the *next* playback source and was then emptied, it wouldn't
7697 fall back to the previous and/or current. Also, force sorting by
7698 ViewOrder, enabling manual sort order.
7700 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
7701 Handle DragDrop for playlists, reordering the selected tracks.
7703 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
7704 Handle the new SortType (None) for playlists, sorting by ViewOrder.
7706 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Implement
7707 reordering and setting default order when adding tracks to a playlist.
7708 Adding tracks still uses a constant number of queries, but reordering uses
7709 N + 2 or 3 where N is the number of tracks you dragged.
7711 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
7712 Make sure the playlist order column is initialized w/ decent values.
7714 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Add a
7715 MediaTypeName property, will be used for menu items and other UI for
7716 calling an item by a more descriptive name (eg Podcast, Video, etc).
7718 * src/Libraries/Hyena/Hyena.Data/SortType.cs: Add None type.
7720 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnHeaderCellText.cs: Don't
7721 draw an arrow if sort type is None.
7723 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/SortableColumn.cs: Explicitly set
7724 the default sort type to ascending.
7726 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_DragAndDrop.cs:
7727 Add protected helper method GetDragRow (int y) that returns the drop row
7728 index for a given y, such that if over the top half of a row, returns that
7729 index, else returns the one after.
7731 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
7732 Add protected helper, TranslateToListY that subtracts the header height.
7734 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
7735 Factor out the reorder line painting into its own method, and fix a bug
7736 where the line wasn't drawn if the position was after the last row.
7738 2008-06-25 Gabriel Burt <gabriel.burt@gmail.com>
7740 This commit has a few goodies. The track header info for radio stations
7741 is much improved, showing song information (if we have it) plus the
7742 station name. Transferring of DAAP tracks to the library (by DnD and via
7743 Importing) works now (with smooth progress updates for the transfer). The
7744 AddTrack to library job is now cancellable.
7746 * src/Extensions/Banshee.Daap/Daap/Database.cs: Rework the Fetch/Stream
7747 methods to not require a Track object, but only the track_id and type,
7748 which is all they really need. This lets us avoid the O(n) track lookup.
7749 Add yield return progress updates to the DownloadTrack method.
7751 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs: Implement
7752 CopyTrackTo and Import so that dragging and importing tracks from a DAAP
7753 share into the library works.
7755 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapTrackInfo.cs: Tweak the
7756 mimetype to save the DAAP.Track's Format without modification.
7758 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapPlaylistSource.cs: Get a
7759 more accurate count if some (or all) tracks are null.
7761 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
7762 Set the track's Album and Artist from the station editor.
7764 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/StationEditor.cs:
7765 Factor out the table-row entry code, and add a Station Creator row (aka
7768 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs:
7769 Ensure no user job is displayed for less than 1 second, to avoid things
7770 appearing and disappearing so fast some times.
7772 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
7773 Refactor a lot of code, and special case RadioTrackInfo objects, tacking
7774 on "on {radio station name}" to the second line if it has an artist or
7775 album, or just using the station name as the second line if it doesn't.
7777 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs: When
7778 the stop button is pressed and confirmed, set the job title to
7779 "Stopping..." and make the button not sensitive.
7781 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Not sure
7782 what SourceMergeType.All is really for, but treat it the same as
7783 SourceMergeType.Source.
7785 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Override
7786 AddAllTracks the same as AddSelectedTracks is overriden. Allow cancelling
7789 * src/Core/Banshee.Services/Banshee.ServiceStack/IUserJob.cs: Expose
7790 IsCancelRequested property.
7792 * src/Core/Banshee.Services/Banshee.Streaming/RadioTrackInfo.cs: Default
7793 the title/artist/album for the track to its parent's values.
7795 * src/Core/Banshee.Services/Banshee.Collection.Database/CachedList.cs: Add
7796 another static helper for creating a cached list from an entire model.
7798 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs: Bring code over
7799 from stable, that when given a new track title splits it on " - " if the
7802 2008-06-25 Bertrand Lorentz <bertrand.lorentz@gmail.com>
7804 * build/m4/banshee/boo.m4: Add a disable-boo flag. If boo is not present and
7805 disable-boo is not set, configure will fail (BGO #532420).
7807 2008-06-25 Bertrand Lorentz <bertrand.lorentz@gmail.com>
7809 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs: Fix
7810 bug where the repeat and shuffle mode were restored when switching
7811 between two Last.fm stations (BGO #538946).
7813 2008-06-25 Gabriel Burt <gabriel.burt@gmail.com>
7815 * src/Libraries/Hyena/Hyena.Query/Tests/QueryTests.cs: Make the query
7816 tests that used to pass pass again.
7818 2008-06-25 Aaron Bockover <abock@gnome.org>
7820 This commit fixes two new errors exposed due to fixes in gmcs trunk
7822 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/PodSleuthDevice.cs: Due to
7823 different assignment evaluation, type checking happens differently so
7824 int can't be assigned to short during zero-value initialization
7826 * src/Core/Banshee.Services/Banshee.MediaProfiles/MediaProfileManager.cs:
7827 Update ignore pragma for the different (more correct) warning
7830 2008-06-24 Gabriel Burt <gabriel.burt@gmail.com>
7832 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
7833 Patch from Sandy Armstrong and Bertrand Lorentz, fixes bug where
7834 notification popups were no longer showing on track change (BGO #537004).
7836 2008-06-24 Gabriel Burt <gabriel.burt@gmail.com>
7838 * src/Libraries/Lastfm.Gui/Lastfm.Gui/AccountLoginDialog.cs:
7839 * src/Libraries/Lastfm.Gui/Lastfm.Gui/AccountLoginForm.cs: Patch from
7840 Peter de Kraker adds ability to press enter from password entry on Last.fm
7841 login form to save and close the dialog (BGO #536328).
7843 2008-06-24 Gabriel Burt <gabriel.burt@gmail.com>
7845 * src/Extensions/Banshee.Daap/Banshee.Daap.mdp: Reflect addins mv and
7846 proxy file from last commit, new error view file and refs this commit.
7848 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs: Set the
7849 ErrorView when we fail to login to a share we detected.
7851 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapErrorView.cs: Tweak for
7852 trunk, subclassing from RoundedFrame and no border, and implementing
7855 * src/Extensions/Banshee.Daap/Makefile.am: Add the new error view.
7857 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Listen for changed to the
7858 active source's Nereid.SourceContents property, keeping it synced - so
7859 that we can change to the error source for a daap share, and then back to
7860 the normal contents by unsetting the property.
7862 2008-06-24 Gabriel Burt <gabriel.burt@gmail.com>
7864 * src/Extensions/Banshee.Daap/Daap/Database.cs: Style.
7866 * src/Extensions/Banshee.Daap/Resources/Banshee.Daap.addin.xml:
7867 * src/Extensions/Banshee.Daap/Banshee.Daap.addin.xml: Move up from
7868 Resources, and add original DAAP plugin authors.
7870 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapProxyWebServer.cs: Copied
7873 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapService.cs: Create a new
7874 proxy server instance. Make new shares pulsate. Dispose shares
7877 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs: Prevent creating
7878 playlists/smart playlists, initialize count to 0, [un]register our
7879 database with the proxy server.
7881 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapTrackInfo.cs: Use the proxy
7882 server url, don't set CanSavetoDatabase to false, that prevents daap
7883 tracks from being used with the queue.
7885 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapPlaylistSource.cs: Override
7886 quite a few things: no removing/deleting tracks, renaming, unmapping, or
7889 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapContainerSource.cs:
7892 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapErrorView.cs: Copied from
7893 stable, not yet used.
7895 * src/Extensions/Banshee.Daap/Makefile.am: Add the proxy server class,
7896 move the addins file.
7898 2008-06-24 Aaron Bockover <abock@gnome.org>
7900 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
7901 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ClassicTrackInfoDisplay.cs:
7902 Split out layout rendering and event logic from TrackInfoDisplay,
7903 which is now abstract, into ClassicTrackInfoDisplay so the widget is
7904 now easier to maintain and also new displays can be built by extending
7905 TrackInfoDisplay - the extending class only has to worry about
7906 rendering frames (no animation, group, xfade, etc.)
7908 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/TrackInfoPopup.cs:
7909 * src/Extensions/Banshee.MiniMode/Banshee.MiniMode/MiniModeWindow.cs:
7910 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
7911 Updated to use ClassicTrackInfoDisplay
7913 2008-06-24 Gabriel Burt <gabriel.burt@gmail.com>
7915 Importing playlists (.m3u and .pls) should work again.
7917 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapPlaylistSource.cs: Fix
7920 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
7921 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Uncomment out
7922 the playlist import action/handler.
7924 * src/Core/Banshee.ThickClient/Banshee.Library.Gui/FileImportSource.cs:
7925 * src/Core/Banshee.ThickClient/Banshee.Library.Gui/FolderImportSource.cs:
7926 Set some default shortcut folders for the file choosers, and set a
7927 FileFilter from the white listed files for the File importer.
7929 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs: Add
7930 exception handling/logging.
7932 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
7933 Make string [] of white listed extensions public/readonly.
7935 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
7936 Reduce duplication in still-ugly *ForUri static methods.
7938 * src/Core/Banshee.Services/Banshee.Playlists.Formats/PlaylistParser.cs:
7939 Dispose of the input stream when finished with it.
7941 * src/Core/Banshee.Services/Banshee.Playlists.Formats/PlaylistFormatBase.cs:
7944 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs: Add
7945 ImportPlaylistToLibrary method, and use it for the Import Playlist(s)
7946 actions. Implement the ImportPlaylistWorker class to work with trunk.
7948 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs: Add
7949 convenience method GetTrackIdForUrl that uses the DatabaseTrackInfo
7952 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
7953 Add some indices, and fix a bug where the changes from migration 12 were
7954 not also done for the intial db creation code.
7956 * src/Libraries/Hyena.Gui/Hyena.Gui/GtkUtilities.cs: Add two methods, one
7957 for creating a FileFilter from a string [] of extensions, and one for
7958 setting a bunch of shortcut folders for a file chooser (w/ try/catch).
7960 2008-06-23 Gabriel Burt <gabriel.burt@gmail.com>
7962 Some good changes to the DAAP extension. It should now load the remote
7963 track list much much faster. Still needs work though.
7965 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackInfo.cs:
7966 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
7967 Bind the ExternalId in DatabaseTrackInfo.
7969 * src/Extensions/Banshee.Daap/Daap/ServiceLocator.cs: Clean up logging.
7971 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapService.cs: Remove the
7972 container source when disposing the service.
7974 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs: Get rid of the
7975 Dictionary track_map (instead use the CoreTracks.ExternalId column),
7976 improve logging, and purge tracks and unmap playlists when disposed.
7978 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapTrackInfo.cs: Set the
7979 MimeType and ExternalId properties.
7981 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapPlaylistSource.cs: First
7982 pass at making playlists much more efficient (one SQL command instead of
7985 2008-06-23 Gabriel Burt <gabriel.burt@gmail.com>
7987 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Avoid
7988 collection modified exception in AddSource.
7990 2008-06-23 Gabriel Burt <gabriel.burt@gmail.com>
7992 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
7993 Remember the last playback source when switching to the play queue, so
7994 when the queue is empty we can switch back to it.
7996 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
7997 Have the playback source follow the active source when first started up.
7999 2008-06-23 Gabriel Burt <gabriel.burt@gmail.com>
8001 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellQueryText.cs:
8002 New class that shows the Text of the object, or if blank, a given string.
8004 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/QueryFilterView.cs:
8005 A simple ListView derivative for showing a ColumnCellQueryText column.
8007 * src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp:
8008 * src/Core/Banshee.ThickClient/Makefile.am: The new files above.
8010 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
8011 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
8012 Add a genre browser, hardcoded in for now (like artist/album). We should
8013 make these configurable, rearrangable, etc.
8015 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseQueryFilterModel.cs:
8016 Class that makes it very easy to have a new database-backed model for
8017 filters based on arbitrary columns from CoreTracks. Currently used for
8018 the new genre browser.
8020 * src/Core/Banshee.Services/Banshee.Collection.Database/FilterModelProvider.cs:
8021 New class, derived from SqliteModelProvider, used for the new model
8022 mentioned above. Overrides the Select statement so we'll be able to do
8023 things like "select distinct year/10" to get the decades of a track
8026 * src/Core/Banshee.Services/Banshee.Collection.Database/QueryFilterInfo.cs:
8027 New class for each result row of the FilterModelProvider. Holds the
8028 value, eg the decade in the above example, and has a settable Title.
8030 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs:
8031 Update FetchCount to 40, implement new CachesValues property, and don't
8032 require the connection be a BansheeDbConnection.
8034 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs:
8035 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs:
8036 Tweak both reload SQL fragments for performance.
8038 * src/Libraries/Hyena/Hyena.Data.Sqlite/ICacheableDatabaseModel.cs:
8039 * src/Core/Banshee.Services/Banshee.Collection.Database/CachedList.cs:
8040 Add CachesValues property.
8042 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
8043 Implement CachesValues, and fix IndexOf to use new, improved
8046 * src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseTrackModelCache.cs:
8047 Change IndexOf method to accept a ICacheableItem, and add an override that
8048 takes a cache_entry_id object.
8050 * src/Core/Banshee.Services/Banshee.Services.mdp:
8051 * src/Core/Banshee.Services/Makefile.am: Add new files.
8053 * src/Libraries/Migo/Migo.Syndication/MigoItem.cs:
8054 * src/Libraries/Hyena/Hyena.Data/ICacheableItem.cs:
8055 * src/Core/Banshee.Core/Banshee.Collection/CacheableItem.cs: CacheEntryId
8058 * src/Libraries/Hyena/Hyena.Query/IntegerQueryValue.cs:
8059 * src/Libraries/Hyena/Hyena.Query/StringQueryValue.cs:
8060 * src/Libraries/Hyena/Hyena.Query/NullQueryValue.cs:
8061 * src/Libraries/Hyena/Hyena.Query/DateQueryValue.cs:
8062 * src/Libraries/Hyena/Hyena.Query/QueryValue.cs:
8063 * src/Libraries/Hyena/Hyena.Query/TimeSpanQueryValue.cs:
8064 * src/Libraries/Hyena/Hyena.Query/QueryField.cs: Add abstract LoadString
8065 method and implement in subclasses. Also fix the
8066 NullQueryValue.IsNullOrEmpty operator.
8068 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Add new
8069 AddColumn protected method so subclasses can manually define their
8072 * src/Libraries/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs: Make classes
8073 public, not internal.
8075 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Implement new
8076 IndexOf methods, and check model.CachesValues, and if so, select straight
8077 out of the CoreCache table the stored distinct genre values, say.
8079 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/IListView.cs: Expose the
8082 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/StringQueryValueEntry.cs: Use
8083 ParseUserQuery instead of SetValue, since the input text is from the user.
8085 2008-06-23 Gabriel Burt <gabriel.burt@gmail.com>
8087 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationPane.cs:
8088 Use the Banshee.Kernel to schedule/cancel recommendation refresh jobs.
8090 2008-06-23 Gabriel Burt <gabriel.burt@gmail.com>
8092 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/DownloadManager/DownloadUserJob.cs:
8093 Change the download user job's name to specify it's downloading podcasts.
8095 2008-06-23 Gabriel Burt <gabriel.burt@gmail.com>
8097 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
8098 Don't put (disconnected) in the source name; it confuses some users,
8099 making them think scrobbling won't work, it's not very useful, and it
8100 makes the source name quite long.
8102 2008-06-21 Aaron Bockover <abock@gnome.org>
8104 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.addin.xml: Define
8105 the new FullscreenAdapter extension point
8107 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenAdapter.cs:
8108 The manager fullscreen adapter that also provides stock GTK fullscreening
8110 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
8111 Get rid of the type hint since it really confuses older Compiz (on 10.3)
8113 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/IFullscreenAdapter.cs:
8114 A basic interface for FullscreenAdapter extensions which allow platforms
8115 to define solid fullscreen behavior above and beyond that which stock
8118 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs:
8119 Use the FullscreenAdapter stuff to go fullscreen
8121 * src/Backends/Banshee.NowPlaying.X11/Banshee.NowPlaying.X11: An X11
8122 specific backend for providing an IFullscreenAdapter extension to the
8123 now playing video extension; this binds the hard and valued work of
8124 BaconResize found in Totem. Respek.
8126 * build/m4/banshee/bnpx11.m4:
8127 * src/Backends/Banshee.NowPlaying.X11/libbnpx11/bacon-resize.c:
8128 * src/Backends/Banshee.NowPlaying.X11/libbnpx11/bacon-resize.h: Lovingly
8129 borrowed from our good friends, Totem. <3 Bastien. That is, the X11/XRandR
8130 support for doing proper fullscreen in some annoying situations, and the
8131 configure foo to detect it at build time
8133 2008-06-20 Aaron Bockover <abock@gnome.org>
8135 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationPane.cs:
8136 Fix remaining layout and style issues, handle height allocation enforcement
8138 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/SimilarArtistTile.cs:
8139 Created a SimilarArtist tile
8141 2008-06-20 Gabriel Burt <gabriel.burt@gmail.com>
8143 * src/Core/Banshee.Core/Banshee.Collection/IBasicTrackInfo.cs: Patch from
8144 Peter de Kraker adding AlbumArtist property (BGO #539305).
8146 2008-06-19 Gabriel Burt <gabriel.burt@gmail.com>
8148 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Have AlbumArtist
8149 fall back on ArtistName. Fixes issue with Last.fm cover art.
8151 2008-06-19 Gabriel Burt <gabriel.burt@gmail.com>
8153 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
8154 Try to subscribe to any uri passed on the command line that contains rss,
8155 xml, feed, or starts with itpc.
8157 2008-06-19 Gabriel Burt <gabriel.burt@gmail.com>
8159 * src/Extensions/Banshee.Lastfm/Makefile.am: MD sorting.
8161 * src/Clients/Nereid/Nereid/ViewContainer.cs: Change the main vbox spacing
8162 to 8px, like all the other boxes.
8164 2008-06-19 Aaron Bockover <abock@gnome.org>
8166 * src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs:
8167 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
8168 Enabled the equalizer again in the UI
8170 * gstreamer/equalizer/gstiirequalizer.c:
8171 * gstreamer/equalizer/remove-n-and-3-bands.diff: Rename the built-in
8172 equalizer element 'banshee-equalizer' so we don't have to do as much
8173 inspection at runtime to figure out if the element is built-in or not
8175 * libbanshee/banshee-player-equalizer.c: Added a _bp_equalizer_new function
8176 that will always return a non-buggy equalizer or NULL; that is, it will
8177 check to see if the built-in equalizer is available, and if not, if
8178 the system equalizer is available /and/ is 0.10.9 or newer; the detection
8179 state is saved so the probing only needs to be done once
8181 * libbanshee/banshee-player-pipeline.c: Use _bp_equalizer_new and only
8182 create the other elements if we were actually given an equalizer (instead
8183 of always creating the other elements and unreffing if the equalizer was
8186 * libbanshee/banshee-player-equalizer.h: Expose _bp_equalizer_new
8188 * libbanshee/banshee-player-private.h: Added a equalizer_status field to
8189 the private player structure
8191 * src/Core/Banshee.Core/Resources/translators.xml: Updated
8193 2008-06-19 Gabriel Burt <gabriel.burt@gmail.com>
8195 * src/Libraries/Hyena.Gui/Hyena.Widgets/RoundedFrame.cs: Fix the
8196 OnSizeRequested override so that the Recommendations pane is the right
8197 height. Proper implementation gleaned from gtkframe.c.
8199 2008-06-19 Gabriel Burt <gabriel.burt@gmail.com>
8201 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
8202 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
8203 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
8204 Fix misleading API, where setting the Rating on a DatabaseTrackInfo would
8205 automatically save. Now if you want that behavior, use the SavedRating
8206 property. This is the property now bound to the ListView, for example.
8208 2008-06-19 Sebastian Dröge <slomo@circular-chaos.org>
8210 * gstreamer/equalizer/Makefile.am:
8211 Link the equalizer with libgstaudio-0.10 to actually make it work.
8213 2008-06-18 Gabriel Burt <gabriel.burt@gmail.com>
8215 First pass at bringing the recommendations extension back. It's got three
8216 big bugs atm: 1) background isn't white 2) height is too small 3) the
8217 similar artist tiles are not sized properly (they're tiny).
8219 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationActions.cs:
8220 Small class for adding/removing/handling the Show Recommendations action.
8222 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationService.cs:
8223 Ported from 0.13.2, listens to the source changes and player engine
8224 changes and shows the recommendation pane when appropriate.
8226 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationPane.cs:
8227 Ported from 0.13.2 but made to use the Lastfm library, shows similar
8228 artists and the top albums and tracks for an artist.
8230 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSourceContents.cs:
8231 Move the TitledList class to not be an inner class; should really be in
8234 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.addin.xml: Update authors,
8235 add recommendations service.
8237 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.mdp: Add recommendations
8238 source files, and add hyena refs.
8240 * src/Extensions/Banshee.Lastfm/Makefile.am: Add recommendation sources
8243 * src/Extensions/Banshee.Lastfm/Resources/RecommendationMenu.xml: Brought
8244 over verbatim from 0.13.2.
8246 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
8247 * src/Core/Banshee.ThickClient/Banshee.Gui/BaseClientWindow.cs: Add
8248 ViewContainer property so that recommendations can put itself below the
8251 * src/Core/Banshee.Widgets/Banshee.Widgets/Tile.cs: Add a convenience ctor
8252 for setting the primary text.
8254 * src/Libraries/Lastfm/Lastfm.mdp: Add a bunch of assembly refs.
8256 * src/Libraries/Lastfm/Lastfm.Data/DataEntry.cs: Add a couple missing
8257 properties to the SimilarArtist class.
8259 * src/Libraries/Lastfm/Lastfm.Data/LastfmData.cs: Set the collection this
8260 class backs to a static empty collection until it's loaded its own, so
8261 that the ICollection fucntions will not crash if called before its set.
8262 Move download code into DataCore.
8264 * src/Libraries/Lastfm/Lastfm.Data/DataCore.cs: Moved a bunch of functions
8265 here from LastfmData, and expose a new DownloadContent method so that the
8266 recommendations extension can download cover art and cache it in the
8269 * src/Libraries/Lastfm/Lastfm.Data/DataEntryCollection.cs: In the
8270 XmlNodeList ctor, handle the list being null (used by the static
8271 collection mentioned in LastfmData above).
8273 2008-06-18 Aaron Bockover <abock@gnome.org>
8275 * gstreamer/equalizer/: Copied the GStreamer equalizer (10-band) element
8276 from GStreamer CVS so we can include it without depending on the very
8277 latest GStreamer. It has a number of necessary bug fixes which won't
8278 be available to many users for quite some time through normal distribution
8281 * gstreamer/COPYING: A copy of the LGPL
8283 * gstreamer/gst-package.mk: Define some metadata required for GStreamer
8284 plugins inside of the main GStreamer build environment
8286 2008-06-18 Gabriel Burt <gabriel.burt@gmail.com>
8288 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
8289 Fix crasher caused by trying to migrate playlist data from old (pre
8290 0.13.2) versions of Banshee (BGO #538993).
8292 2008-06-18 Gabriel Burt <gabriel.burt@gmail.com>
8294 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/OverlayWindow.cs:
8295 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
8296 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
8297 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
8298 Patch from Alex Launi, adds some parenthesis that Mono 1.2.6 seems to need
8299 to compile Banshee (BGO #538973).
8301 2008-06-18 Gabriel Burt <gabriel.burt@gmail.com>
8303 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
8304 Another unnecessary type check.
8306 2008-06-18 Gabriel Burt <gabriel.burt@gmail.com>
8308 * src/Core/Banshee.Services/Banshee.Hardware/HardwareManager.cs: Remove
8309 unnecessary type check.
8311 2008-06-17 Aaron Bockover <abock@gnome.org>
8313 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/RadioColumnController.cs:
8314 Removed in favor of the XML column controller stuff I completely forgot
8315 that I had implemented
8317 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
8318 Implement the column controller in XML
8320 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs:
8321 Get action labels and icons through source inheritance
8323 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Allow the
8324 track properties action to have its settings overridden
8326 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Gabe implemented
8327 GetInheritedProperty that will look for a given property in the
8328 source chain, walking up to the parent
8330 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_DragAndDrop.cs:
8331 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
8332 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
8333 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
8334 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs:
8335 Fixes to ensure that the view will still work if there are no
8336 adjustments (not packed in a scrolled window) or no model is set
8338 2008-06-17 Gabriel Burt <gabriel.burt@gmail.com>
8340 This commit adds support for multi-artist (compilation) albums. It
8341 triggers a metadata refresh for already imported items to get the
8342 AlbumArtist metadata from the files, and gets it for new ones on import.
8343 It also writes AlbumArtist back to the files if the preference is set.
8344 Given proper AlbumArtist info (editable in the information editor), the
8345 issues with sorting and many-copies-of-one-album in the album list should
8346 be fixed (BGO #517671)
8348 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
8349 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdTrackInfo.cs:
8350 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs:
8351 Remove the AlbumArtist code, since this is taken care of at a higher level
8354 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
8355 Set the default sort column to track #, since sorting by artist doesn't
8356 work for compilation albums.
8358 * src/Core/Banshee.ThickClient/Resources/banshee-dialogs.glade:
8359 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs: Add a
8360 row for editing the album artist.
8362 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
8363 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
8364 Add ArtistName and ArtistNameLowered columns to CoreAlbums.
8366 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs:
8367 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs:
8368 Order by the Album Artist named (lowered), fixed issues with
8369 sorting/grouping for compilation albums.
8371 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
8372 When saving, find/create the album based on the AlbumArtist, which is set
8373 equal to the ArtistName by default, unless explicitly set to something
8374 else. Add the AlbumArtist virtual column property.
8376 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs:
8379 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Add AlbumArtist
8382 * src/Core/Banshee.Core/Banshee.Streaming/SaveTrackMetadataJob.cs:
8383 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs: Save and load
8384 the AlbumArtist metadata.
8386 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Make sure
8387 the model's table gets listed first in the FROM list of tables. Fixes a
8388 performance issue I was noticing occuring every so often.
8390 2008-06-17 Sandy Armstrong <sanfordarmstrong@gmail.com>
8392 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationAreaBox.cs:
8393 Get top_level_window from notification area box's event_box, so
8394 that panel orientation can be determined correctly (BGO #537679)
8396 2008-06-17 Aaron Bockover <abock@gnome.org>
8398 Ok, so I'm calling internet radio support 85% complete. Needs more polish,
8399 but it's working pretty well. Am almost liking it.
8401 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
8402 If the track's PrimarySource and its TrackEqualHandler is set, proxy
8403 the comparison through that handler; split out the ID comparison into
8404 a reusable static method
8406 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Added
8407 a TrackEqualHandler delegate/property that allows a primary source to
8408 override the default TrackEqual comparison on its child tracks
8410 * src/Core/Banshee.Services/Banshee.Streaming/RadioTrackInfo.cs: Support
8411 holding a reference to a parent track
8413 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
8414 Run the XspfMigrator on startup; provide a TrackEqualHandler that ensures
8415 any RadioTrackInfo object bound to the player engine is associated
8416 with its parent station track in the controller/view
8418 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/XspfMigrator.cs:
8419 Added the first pass at migrating old XSPF stored playlists, so we don't
8420 piss users off by forgetting about their old stations :)
8422 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/RadioColumnController.cs:
8423 Added an 'Artist' column (the station creator/owner)
8425 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/StationTrackInfo.cs:
8426 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/StationEditor.cs:
8427 Reverted to not using a StationTrackInfo since we don't need it
8429 2008-06-16 Aaron Bockover <abock@gnome.org>
8431 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
8432 Added the column for the Comments field
8434 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
8435 Support a TrackPropertiesHandler property that is an InvokeHandle; if set
8436 it runs the handle instead of the default track editor dialog; this allows
8437 sources to provide their own track editor
8439 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
8440 Support station adding, editing, playback, and a custom column controller,
8441 making internet radio maybe 70% complete; it works, but it's still missing
8442 polish and finishing touches, so stay tuned
8444 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/RadioColumnController.cs:
8445 Custom column controller that exposes and customizes applicable fields
8446 for internet radio stations
8448 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/StationEditor.cs:
8449 Added rating and support loading and saving of station data
8451 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/StationTrackInfo.cs:
8452 DatabaseTrackInfo wrapper, not in use yet
8454 2008-06-16 Aaron Bockover <abock@gnome.org>
8456 * src/Extensions/Banshee.InternetRadio/: Created the internet radio
8457 extension skeleton - it currently doesn't do anything
8459 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/InternetRadioSource.cs:
8460 The parent radio source, does nothing right now
8462 * src/Extensions/Banshee.InternetRadio/Banshee.InternetRadio/StationEditor.cs:
8465 * src/Extensions/Banshee.InternetRadio/ThemeIcons/: Added radio icons
8467 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
8468 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
8469 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
8470 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
8471 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs:
8472 * src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs:
8473 * src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs:
8474 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
8475 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastSource.cs:
8476 Updated source orders
8478 2008-06-16 Aaron Bockover <abock@gnome.org>
8480 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
8481 Fix some special case playback issue that was broken depending on cache
8482 state between library and FSQ - if an item is not available yet, do not
8483 disable the play_enqueued state, instead defer to the next reload; fix
8484 the regression where the source was not visible at startup; I really hope
8485 this fixes the last of the FSQ issues - it's working *really* well for me
8486 but I am about to stab my eye balls out over this code.
8488 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs:
8489 * src/Libraries/Hyena/Hyena.Collections/QueuePipelineElement.cs: Removed
8490 two errant write lines
8492 2008-06-16 Aaron Bockover <abock@gnome.org>
8494 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
8495 Lots of bug fixes with FSQ behavior around starting a new instance with
8496 items in the queue, queueing items remotely, and playing back from the
8497 queue automaticaly when --play-enqueued is passed
8499 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs: Major
8500 update to use the new QueuePipeline and DirectoryScannerPipelineElement
8501 for improved parallelism, fixed threading issues, and more readable and
8504 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
8505 Added an ImportResult event; small API cleanup
8507 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportResultHandler.cs:
8508 New delegate and args class that the DatabaseImportManager uses for the
8511 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
8512 Remove unnecessary casting
8514 * src/Libraries/Hyena/Hyena.Collections/QueuePipeline.cs: Container class
8515 for the async queue pipeline; links elements together
8517 * src/Libraries/Hyena/Hyena.Collections/QueuePipelineElement.cs: Base
8518 element class for the pipeline; items pushed into the element's queue are
8519 processed async and then pushed to the downstream element in the pipeline,
8520 which may run in its own thread; this allows for good parallelism in an
8521 easy, safe way (i.e. walk a directory tree while processing results from
8522 earlier in the walk at the same time)
8524 * src/Libraries/Hyena/Hyena.Collections/WriteLineElement.cs: A simple
8525 sync element that dumps results to stdout
8527 * src/Libraries/Hyena/Hyena.Collections/Tests/QueuePipelineTests.cs:
8528 Some unit tests for QP/QPE
8530 * src/Core/Banshee.Services/Banshee.Library/HomeDirectoryImportSource.cs:
8531 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
8532 * src/Core/Banshee.ThickClient/Banshee.Library.Gui/FileImportSource.cs:
8533 * src/Core/Banshee.ThickClient/Banshee.Library.Gui/FolderImportSource.cs:
8534 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
8535 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastImportManager.cs:
8536 Updated to reflect small API changes in base ImportManager class
8538 * src/Core/Banshee.Services/Banshee.Base/ThreadAssist.cs:
8539 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedMessageBar.cs:
8540 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Remove
8541 EventHandler override for doing Invoke/ProxyToMain; just use InvokeHandler
8543 * src/Core/Banshee.Core/Banshee.IO/DirectoryScannerPipelineElement.cs:
8544 Moved the directory scanning code from ImportManager to a nice
8545 QueuePipelineElement so it can be reused inside threaded queue pipelines
8547 * src/Core/Banshee.Core/Banshee.Base/ApplicationContext.cs:
8548 * src/Libraries/Hyena/Hyena.CommandLine/CommandLineParser.cs: Remove the
8549 notion of --enqueue and just assume anything that does not start with --
8552 * src/Clients/Halie/Halie/Client.cs: handle files after all commands are
8553 handled, so the remote process can get an idea of what is coming
8555 * src/Clients/banshee-1.in: Added --redirect-log argument that dumps
8556 stdin/error to ~/.config/banshee-1/log; sort of a hack job
8558 * data/banshee-1.desktop.in.in: Pass --redirect-log and remove --enqueue
8560 * build/m4/shamrock/nunit.m4: Fix nunit detection
8562 2008-06-13 Gabriel Burt <gabriel.burt@gmail.com>
8564 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService_Interface.cs:
8565 Patch from Bertrand Lorentz to properly dispose the podcast actions when
8566 the extension is disposed (BGO #537066).
8568 2008-06-12 Aaron Bockover <abock@gnome.org>
8570 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
8571 Ignore the prelit state if we're not embedded in a combo, fixes an
8572 works around a bug with some themes (ubuntu studio in particular)
8574 2008-06-12 Aaron Bockover <abock@gnome.org>
8576 * src/Clients/banshee-1.in: Ensure we're not always passing --debug to
8577 mono; this was quite an oversight and the wrapper script logic from
8578 0.13.x has been ported here - should account for about a 5MB savings of
8579 RSS on startup and could fix a number of mysterious leaks, since in
8580 many cases Mono leaks stack traces when an exception is thrown in --debug
8581 mode (only in --debug mode, Mono does not leak otherwise); Whoops.
8583 * src/Core/Banshee.Core/Resources/translators.xml: Updated
8585 * configure.ac: Bump version and turn on the dev build
8587 2008-06-06 Alan McGovern <alan.mcgovern@gmail.com>
8589 * src/Libraries/Migo/Migo.Syndication/RssParser.cs:
8590 XmlDocument can't load xml which starts with whitespace.
8594 Banshee 1.0 Final (1.0.0) Released
8596 2008-06-05 Aaron Bockover <abock@gnome.org>
8598 * libbanshee/banshee-player-pipeline.c: Enable the plugin installer support
8600 * libbanshee/banshee-player-private.h:
8601 * libbanshee/banshee-player-missing-elements.c: Keep the missing element
8602 details list preserved throughout the instance and allow showing the
8603 installer for each different missing codec, but only once per codec
8605 2008-06-05 Gabriel Burt <gabriel.burt@gmail.com>
8607 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
8610 2008-06-05 Gabriel Burt <gabriel.burt@gmail.com>
8612 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
8613 Fix bug in migrating download preference for feeds.
8615 2008-06-05 Gabriel Burt <gabriel.burt@gmail.com>
8617 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
8618 Fix bug with our cell_context.Drawable going missing b/c we weren't
8619 transferring it to the new cell_context within OnStyleSet.
8621 2008-06-05 Gabriel Burt <gabriel.burt@gmail.com>
8623 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs: Set
8624 DelayShow = true to avoid it popping up so briefly so often.
8626 2008-06-05 Gabriel Burt <gabriel.burt@gmail.com>
8628 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs: Remove some
8631 * src/Extensions/Banshee.Podcasting/Resources/GlobalUI.xml:
8632 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Add
8633 the Subscribe to Podcast menu item to the Media menu.
8635 2008-06-05 Gabriel Burt <gabriel.burt@gmail.com>
8637 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
8638 Only try 5 unplayable items instead of 20 before stopping playback.
8640 2008-06-04 Gabriel Burt <gabriel.burt@gmail.com>
8642 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellPositiveInt.cs:
8643 Prevent NRE (BGO #536724).
8645 2008-06-04 Aaron Bockover <abock@gnome.org>
8647 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
8648 Use Gtk.Rc.GetStyleByPaths to grab the GtkTreeView style directly and
8649 attach it to our ListView; this is the proper "fix" to bug (BGO #534731),
8650 though the bug in LP is again, still quite valid
8652 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
8653 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListViewBase.cs:
8654 Reverted the hacky version of my theme fix from earlier today
8656 2008-06-04 Gabriel Burt <gabriel.burt@gmail.com>
8658 * src/Libraries/Migo/Migo.Syndication/FeedManager.cs: Get rid of some racy
8659 wait handle usage that was causing shutdown to freeze sometimes.
8661 2008-06-04 Gabriel Burt <gabriel.burt@gmail.com>
8663 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
8664 * src/Libraries/Migo/Migo.Syndication/RssParser.cs: Fix bug with earlier
8665 fix for <item> guids that would cause some duplicates under some
8668 2008-06-04 Gabriel Burt <gabriel.burt@gmail.com>
8670 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs: Fix
8671 bug with link we were generating for the Last.fm track page (BGO #536682).
8673 2008-06-04 Gabriel Burt <gabriel.burt@gmail.com>
8675 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Remove the
8676 icon from the Source Rename action (BGO #536559).
8678 2008-06-04 Aaron Bockover <abock@gnome.org>
8680 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
8681 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
8682 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_DragAndDrop.cs:
8683 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
8684 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListViewBase.cs:
8685 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
8686 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
8687 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView.cs:
8688 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs:
8689 A pretty disgusting hack that forces the style of our source view
8690 GtkTreeView into our custom ListView widget so at least the ListView
8691 will end up with the same color set as the GtkTreeView; this is a
8692 giant and ugly hack that works around a pretty serious bug in some of
8693 Ubuntu's themes where the selection background color is different for
8694 GtkTreeView widgets than for other widgets causing inconsistency and
8695 usability issues when reading text on the darker background (BGO #534731);
8696 https://bugs.launchpad.net/ubuntu/+source/human-theme/+bug/237261
8698 The only reason I opted to work around this downstream bug was that some
8699 users reported it difficult to read text due to the contrast issue, so
8700 I view this as a usability problem more than a cosmetic one.
8702 2008-06-04 Gabriel Burt <gabriel.burt@gmail.com>
8704 * src/Core/Banshee.Services/Banshee.MediaProfiles/MediaProfileManager.cs:
8705 Avoid NRE, fixes BGO #536234.
8707 2008-06-04 Gabriel Burt <gabriel.burt@gmail.com>
8709 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
8710 * src/Libraries/Migo/Migo.Syndication/FeedItem.cs:
8711 * src/Libraries/Migo/Migo.Syndication/Feed.cs: Fix bug with the guid we
8712 use for identifying podcast items. Some feeds don't give a guid for
8713 items, so we were using the <link>, but that isn't unique. Instead, fall
8714 back to using a combination of the title and pubdate. Fixes BGO #536555.
8716 * src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs:
8717 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
8718 Comment out the eq actions.
8720 2008-06-04 Aaron Bockover <abock@gnome.org>
8722 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs:
8723 When the widget is created and the engine is in the paused state,
8724 synthesize an engine iterate event so the correct state is reflected
8725 in the slider and label (BGO #536564)
8727 * src/Core/Banshee.Widgets/Banshee.Widgets/StreamPositionLabel.cs:
8728 Implement OnSizeRequested to properly do size requisitioning (BGO #536564)
8730 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/TrackInfoPopup.cs:
8731 Updated to reflect small API change
8733 2008-06-04 Aaron Bockover <abock@gnome.org>
8735 * src/Core/Banshee.Services/Banshee.Sources/ISource.cs:
8736 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
8737 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:
8738 Disabled exporting of the source manager and its children over DBus
8739 since there are issues that need to be worked out in NDesk DBus itself
8740 before this can be useful and working (BGO #536526)
8742 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs:
8743 Expose the StreamPositionLabel
8745 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/TrackInfoPopup.cs:
8746 Set FormatString on the slider's label to small, not bold; fix padding
8747 and spacing after dropping unnecessary alignment
8749 2008-06-03 Gabriel Burt <gabriel.burt@gmail.com>
8751 * src/Libraries/Migo/Migo.Syndication/RssParser.cs: If we fail to load a
8752 XML document b/c it's invalid, remove any non-linebreak control
8753 characters from it and try loading it again.
8755 2008-06-03 Aaron Bockover <abock@gnome.org>
8757 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
8758 Remove the Iterate event from the event mask
8759 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationAreaBox.cs:
8760 Do not update the popup since now all of its children do their own
8761 state/event handling
8763 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/TrackInfoPopup.cs:
8764 Removed a bunch of crappy legacy code for showing the position/duration
8765 via the label and progress bar; replaced with our standard
8766 SeekSlider widget in horizontal mode (BGO #536396)
8768 2008-06-03 Gabriel Burt <gabriel.burt@gmail.com>
8770 * src/Libraries/Migo/Migo.Syndication/RssParser.cs: If a XML blob isn't
8771 valid XML, log the actual error so we have a hope of fixing or working
8774 2008-06-03 Gabriel Burt <gabriel.burt@gmail.com>
8776 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs: Avoid
8777 issue with last_scan being MinValue and trying to subtract retry_every
8778 from it. Also, wrap the entire fetch loop in a try/catch to make sure we
8779 exit the user job and log any exception.
8781 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
8782 Don't stop the entire migration because one track fails. Log the
8783 exception, and keep going.
8785 2008-06-03 Aaron Bockover <abock@gnome.org>
8787 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
8788 Fixed focus bug with metacity (BGO #531187)
8790 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapInfoBar.cs: Use only the normal
8791 background color and create a darker version of that to do the subtle
8792 gradient behind the bar (BGO #536052)
8794 2008-06-03 Gabriel Burt <gabriel.burt@gmail.com>
8796 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs:
8797 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtService.cs:
8798 Remove verbose logging.
8800 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs:
8801 Fix bug where stream position label didn't return to 'Idle' when playback
8804 2008-06-03 Aaron Bockover <abock@gnome.org>
8806 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
8807 Reconfigure the window when we're shown so we'll fullscreen to the
8808 proper monitor (whatever monitor the parent is on) (BGO #535982)
8810 2008-06-03 Aaron Bockover <abock@gnome.org>
8812 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
8813 In Play (), always call OnPlayWhenIdleRequest if we are in the idle state,
8814 otherwise call Play on the base engine (BGO #534472)
8816 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
8817 Also add mpga to the white list
8819 2008-06-03 Aaron Bockover <abock@gnome.org>
8821 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Remove the footer widget
8822 property after destroying the widget to avoid a property notification cycle
8824 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapInfoBar.cs: Wrap UpdateUsage
8825 in an exception catch/log
8827 * src/Backends/Banshee.Hal/Banshee.HalBackend/HardwareManager.cs: Catch
8828 any exceptions that HAL might through (particularly if the device no
8829 longer exists) when adding devices (BGO #528957)
8831 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
8832 Added oga and ogv file extensions to the white list (BGO #532561)
8834 * src/Extensions/Banshee.BooScript/Resources/vorbis-oga-extension.boo:
8835 Added a sample script that will change the Vorbis profile to write files
8836 with a .oga extension instead of a .ogg (BGO #532561)
8838 2008-06-03 Gabriel Burt <gabriel.burt@gmail.com>
8840 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
8841 Get rid of unnecessary Save call; DatabaseTrackInfo already calls save
8842 when you set the Rating.
8844 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
8845 Expose rating and some other members as protected so subclasses can set it
8846 without triggering the save (eg to load initial state).
8848 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodTrackInfo.cs:
8849 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpTrackInfo.cs: Hacky fix for
8850 BGO #535898, use the protected rating member instead of the Rating
8851 property to initialize the rating, to avoid callign Save when we didn't
8854 2008-06-03 Aaron Bockover <abock@gnome.org>
8856 * src/Clients/Nereid/Nereid/Client.cs: Use ??
8858 2008-06-03 Aaron Bockover <abock@gnome.org>
8860 * src/Clients/Halie/Halie/Client.cs: Translate a few query fields to be
8861 more familiar, allow setting volume and seeking, support window hiding
8863 * src/Clients/Nereid/Nereid/Client.cs: Added --help and --version displays
8865 * src/Core/Banshee.ThickClient/Banshee.Gui/IClientWindow.cs: Added Hide ()
8867 * src/Libraries/Hyena/Hyena.Collections/CollectionExtensions.cs: Added
8870 * src/Libraries/Hyena/Hyena.CommandLine/Layout.cs: Support displaying
8871 specific sets of groups
8873 * src/Libraries/Hyena/Hyena.CommandLine/CommandLineParser.cs: Added a
8874 ContainsStart method
8876 * src/Libraries/Hyena/Hyena.CommandLine/LayoutGroup.cs: Added index support
8878 2008-06-03 Gabriel Burt <gabriel.burt@gmail.com>
8880 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs:
8881 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtService.cs: And
8882 recommit the patch, now that Aaron approves. :)
8884 2008-06-03 Gabriel Burt <gabriel.burt@gmail.com>
8886 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs:
8887 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtService.cs:
8888 Revert last commit, apparently abock has some grand plans he didn't tell
8891 2008-06-03 Gabriel Burt <gabriel.burt@gmail.com>
8893 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs:
8894 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtService.cs: Add
8895 a CoverArtDownloads table to keep track of when we last tried to download
8896 cover art for an album and if we were successful. With this information,
8897 we can avoid trying to download artwork for an album more than once a
8898 week. Fixes BGO #535988. Should also fix issue with the cover art job
8899 saying it's at 100% while it keeps going for many more minutes.
8901 2008-06-03 Gabriel Burt <gabriel.burt@gmail.com>
8903 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellFileSize.cs:
8904 Avoid NRE, fix BGO #536148.
8906 2008-06-03 Jordi Mas <jmas@softcatala.org>
8908 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs:
8909 Add GetString to localizable strings
8911 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs:
8912 Add GetString to localizable strings
8914 2008-06-02 Gabriel Burt <gabriel.burt@gmail.com>
8916 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs: Don't
8917 display cover art as we download, but do show the same Network icon as
8918 shown for the podcast download job. Fixes BGO #535989.
8920 2008-06-02 Aaron Bockover <abock@gnome.org>
8922 * src/Libraries/Hyena.Gui/Hyena.Widgets/RatingMenuItem.cs:
8923 * src/Libraries/Hyena.Gui/Hyena.Widgets/RatingEntry.cs: Only set the rating
8924 when the mouse is released; fix some small issues with leave notify on
8925 the menu item (BGO #535338)
8927 2008-06-02 Gabriel Burt <gabriel.burt@gmail.com>
8929 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
8930 Patch from Bertrand Lorentz fixing BGO #536306; stop listening for player
8931 engine events after we're disposed.
8933 2008-06-02 Aaron Bockover <abock@gnome.org>
8935 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationAreaBox.cs:
8936 Added Boyd's panel icon sizing code from Tomboy so we display the best
8937 icon for a given panel size, only scaling if we're in SVG territory;
8938 this is so hot I think I'll make my panel like KDE now (BGO #526333)
8940 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.addin.xml:
8941 Make the Now Playing extension required for now
8943 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
8944 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/TrackInfoPopup.cs:
8945 Set the window hint to notification to prevent compiz from doing strange
8946 things with the windows when they are mapped/unmapped (BGO #526326)
8948 * src/Core/Banshee.ThickClient/Banshee.Addins.Gui/AddinView.cs: Do not
8949 show addins where the category starts with 'required:'
8951 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs:
8952 Avoid possible NRE (BGO #532215)
8954 2008-06-02 Aaron Bockover <abock@gnome.org>
8956 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
8957 Switch to the FSQ source when items get added to it, set it as the next
8958 playback source if the --play-enqueued argument has been passed either
8961 2008-06-02 Jordi Mas <jmas@softcatala.org>
8963 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
8964 Add GetString to localizable strings
8966 2008-06-02 Aaron Bockover <abock@gnome.org>
8968 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDuplicator.cs:
8969 Bootstrapper for locating and running an IDiscDuplicator extension
8971 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
8972 Implement disc duplication by calling into AudioCdDiscDuplicator if
8975 * src/Core/Banshee.Services/Banshee.Hardware/IDiscDuplicator.cs: Interface
8976 to expose disc duplication support
8978 * src/Core/Banshee.Services/Banshee.Services.addin.xml: Define a
8979 DiscDuplicator extension point
8981 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/Brasero.cs:
8982 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GnomeService.cs: Expose
8983 Brasero functionality internally
8985 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/DiscDuplicator.cs:
8986 Implement an IDiscDuplicator that first tries to use Brasero and falls
8987 back to nautilus-cd-burner
8989 * src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml: Implement the
8990 DiscDuplicator extension point
8992 * data/banshee-1.desktop.in.in: Change the Name field to 'Banshee' to
8993 eliminate redundancy between Name and GenericNam
8995 2008-06-02 Gabriel Burt <gabriel.burt@gmail.com>
8997 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
8998 Avoid NRE, fixes BGO #535909.
9000 2008-06-02 Gabriel Burt <gabriel.burt@gmail.com>
9002 * src/Clients/Nereid/Nereid/ViewContainer.cs: Add the separator back
9003 between the filter options and the Help item. Attempt to fix the
9004 "GdkWindow unexpectedly destroyed" warnings (and related partial UI
9005 freezing) by hiding the old content, adding and showing the new content,
9006 and then removing the old content when switching source contents.
9008 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs:
9009 Remove WriteLine cruft.
9011 2008-06-02 Aaron Bockover <abock@gnome.org>
9013 * src/Core/Banshee.Core/Banshee.Base/PlatformHacks.cs: Removed the
9014 gdk_set_program_class call since it's GUI code and not even really a
9017 * src/Core/Banshee.Core/Makefile.am:
9018 * src/Core/Banshee.Core/Banshee.Core.dll.config: Removed .config, not needed
9020 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs: Replaced
9021 the PlatformHacks.GdkSetProgramClass call with the proper
9022 Gdk.Global.ProgramClass property setter
9024 2008-06-02 Sebastian Dröge <slomo@circular-chaos.org>
9026 * src/Core/Banshee.Core/Banshee.Core.dll.config:
9027 * src/Core/Banshee.Widgets/Banshee.Widgets.dll.config: Only add
9028 the required dllmaps.
9030 2008-06-02 Jordi Mas <jmas@softcatala.org>
9032 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
9033 Add GetString to localizable strings
9035 2008-06-02 Sebastian Dröge <slomo@circular-chaos.org>
9037 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
9038 Rename local variable from db to scale as it holds a scale factor
9039 which was calculated from a db value and not the other way around.
9041 * src/Core/Banshee.Services/Banshee.Equalizer/EqualizerManager.cs:
9042 * src/Core/Banshee.Services/Banshee.Equalizer/EqualizerSetting.cs:
9043 0dB is passthrough and should be used as default value. 1dB will make
9044 the sound a bit louder and can already lead to clipping in rare
9047 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerView.cs:
9048 Make the preamp levels more consistent with the eq levels and don't
9049 always do (level / 10) * 10.
9051 2008-06-02 Sebastian Dröge <slomo@circular-chaos.org>
9053 * src/Core/Banshee.Core/Banshee.Core.dll.config:
9054 * src/Core/Banshee.Core/Makefile.am:
9055 * src/Core/Banshee.Widgets/Banshee.Widgets.dll.config:
9056 * src/Core/Banshee.Widgets/Makefile.am: Add some missing dllmaps.
9058 2008-05-30 Aaron Bockover <abock@gnome.org>
9060 Banshee 1.0 RC1 (0.99.3) Released
9062 2008-05-30 Aaron Bockover <abock@gnome.org>
9064 * src/Extensions/Banshee.NotificationArea/Makefile.am: Build fix
9066 2008-05-30 Aaron Bockover <abock@gnome.org>
9068 * configure.ac: Bump to RC1
9070 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtJob.cs: Remove
9071 redundant status message part
9073 2008-05-30 Aaron Bockover <abock@gnome.org>
9075 * src/Clients/Nereid/Nereid/ViewContainer.cs:
9076 * src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs: Make the
9077 filter menu work by inserting a query part when items are selected
9079 * libbanshee/banshee-player-pipeline.c: Disabled the equalizer yet again
9080 because the element is still too buggy in GStreamer causing static
9082 2008-05-30 Gabriel Burt <gabriel.burt@gmail.com>
9084 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/Queue.cs:
9085 Don't use Hyena.DateTimeUtil since it has a bug with
9086 timezone/daylight-savings that reports times an hour off in some cases.
9087 Should fix BGO #528195.
9089 2008-05-30 Aaron Bockover <abock@gnome.org>
9091 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs:
9092 Show the correct number of songs that are ripping in the status area
9094 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
9095 * src/Clients/Nereid/Nereid/ViewContainer.cs: Removed disk usage stuff
9096 and added footer widget support
9098 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs:
9099 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodTrackInfo.cs:
9100 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/DatabaseRebuilder.cs:
9101 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs:
9102 Ported the database rebuilder and the unsupported database UI from 0.13.x
9103 so now unsupported databases can be rebuilt and users will at least know
9104 their shitty iPod won't work in Banshee because they used it with shitty
9105 iTunes. Buy an MTP device.
9107 * src/Dap/Banshee.Dap.Ipod/ThemeIcons/scalable/devices/*.svg: Added the
9108 vector versions of the iPods
9110 * src/Dap/Banshee.Dap/Banshee.Dap/MediaGroupSource.cs:
9111 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Support the new DapInfoBar
9112 in the footer of the source to show the stats on audio, video, and data
9115 * src/Dap/Banshee.Dap/Makefile.am:
9116 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapInfoBar.cs: Sweet display for
9117 showing disk usage stats
9119 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapPropertiesDisplay.cs:
9120 Start of a GUI page for DAPs, not really used yet except for the iPod
9121 when the database can't be read
9123 * src/Core/Banshee.Widgets/Banshee.Widgets/MessagePane.cs: Cleaned up
9124 to derive directly from table, less window hackery
9126 * src/Libraries/Hyena/Hyena.Query/FileSizeQueryValue.cs: Added support
9127 for converting terabytes and petabytes (IT WILL HAPPEN ONE DAY - GOOGLE
9128 ALREADY PROCESSES 20PB/day - JUST WAIT)
9130 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellRating.cs: Fix NRE
9132 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/Theme.cs:
9133 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/GtkTheme.cs:
9134 * src/Libraries/Hyena.Gui/Hyena.Widgets/RoundedFrame.cs: Support setting
9135 a pattern as the background for the rounded frame background
9137 * src/Libraries/Hyena.Gui/Hyena.Widgets/SegmentedBar.cs: More fixes,
9138 support horizontal padding, greadly simplified the segment rendering
9139 by using two pattern passes instead of N pattern passes, fixes bugs where
9140 a segment was shorter than the radius causing strange shit to happen
9142 2008-05-30 Gabriel Burt <gabriel.burt@gmail.com>
9144 * src/Clients/Nereid/Nereid/ViewContainer.cs: Remove the fields listed in
9145 the menu that popped up when you clicked the icon next to the search
9146 entry, since they did nothing. Will probably be added back later, and
9147 made to prepend "artist" etc fields.
9149 2008-05-30 Gabriel Burt <gabriel.burt@gmail.com>
9151 * src/Libraries/Hyena/Hyena.Collections/Selection.cs: Don't clear the
9152 FocusedIndex when we clear the selection - they shouldn't be so tightly
9153 linked. Fixes bug with pressing enter not playing the focused song.
9156 2008-05-30 Gabriel Burt <gabriel.burt@gmail.com>
9158 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
9159 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs: Respect
9160 copy-to-library when dragging FileSystemQueue items to the library.
9162 2008-05-30 Gabriel Burt <gabriel.burt@gmail.com>
9164 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Add property
9165 defining whether we support playlists or not.
9167 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastSource.cs:
9168 For now, at least, we don't support playlists.
9170 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
9171 Show the Add to Play Queue option if the source is a db source, not just
9172 if it's a library source.
9174 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
9175 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Hide
9176 playlist-related actions unless the primary source SupportsPlaylists.
9178 2008-05-30 Gabriel Burt <gabriel.burt@gmail.com>
9180 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Save and
9181 restore the expanded state of all primary sources.
9183 2008-05-29 Gabriel Burt <gabriel.burt@gmail.com>
9185 * src/Core/Banshee.ThickClient/Banshee.Addins.Gui/AddinTile.cs: Make some
9188 * src/Core/Banshee.Services/Banshee.Preferences/Page.cs: Change "Manage
9189 Extensions" tab to "Extensions".
9191 2008-05-29 Gabriel Burt <gabriel.burt@gmail.com>
9193 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
9194 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
9195 * src/Core/Banshee.Services/Banshee.Collection/AlbumListModel.cs:
9196 * src/Core/Banshee.Services/Banshee.Collection/TrackListModel.cs:
9197 * src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs:
9198 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
9199 Remove a bunch of crufty code and replace a bunch of NIEXs with Log.Error.
9201 2008-05-29 Gabriel Burt <gabriel.burt@gmail.com>
9203 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
9204 Don't pulse the podcasts source when feeds are changes, just when items
9207 * src/Libraries/Migo/Migo.Syndication/FeedUpdateTask.cs: If the feed
9208 hasn't been updated since we last checked, pass notify=false to feed.Save.
9210 * src/Libraries/Migo/Migo.Syndication/Feed.cs: Don't raise FeedsChanged
9211 when DownloadStatus set, just in Save and Delete. Add override to Save
9212 that takes bool notify arg.
9214 2008-05-29 Gabriel Burt <gabriel.burt@gmail.com>
9216 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Don't throw
9217 an exception when CopyTo isn't implemented, but log a warning.
9219 2008-05-29 Gabriel Burt <gabriel.burt@gmail.com>
9221 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
9222 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Move the
9223 NeedsReload methods into DatabaseSource so they can be used by
9224 PrimarySource and others.
9226 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Only reload
9227 when track(s) change if needed, otherwise just invalidate the cache.
9228 Should help some with performance/CPU usage when changing songs.
9230 2008-05-29 Gabriel Burt <gabriel.burt@gmail.com>
9232 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Fix crasher
9233 in save-selection by being properly defensive and not assuming the item
9234 pointed to by the selection focus is still in the model.
9236 2008-05-29 Gabriel Burt <gabriel.burt@gmail.com>
9238 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
9239 Fix bug where if the play queue was empty but you double clicked on it, it
9240 would go recursive/eat all your RAM. Should fix BGO #535369.
9242 2008-05-29 Gabriel Burt <gabriel.burt@gmail.com>
9244 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Add a bool
9245 IsLocal property. If it's false and you drag tracks to a LibrarySource,
9246 it will ask the owning PrimarySource to copy the file to a given location
9247 by calling its CopyTrackTo method defined here (and implemented in each
9248 non-local subclass).
9250 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
9251 Reload the FSQ on start to make sure it shows itself if it had saved
9252 items. Also, set IsLocal = true so dragging files between the libraries
9253 and it doesn't do a file copy.
9255 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
9256 Fix bug with importing to the Library not just from the audio folders.
9257 Implement CopyTrackTo.
9259 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Add commented
9260 out CopyTrackTo skeleton.
9262 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Implement
9263 CopyToTrack - the nicest implementation in a way, because we get granular
9266 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
9267 Add some NRE defense and debugging for a NRE I saw but don't understand.
9269 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs:
9270 Set IsLocal = true, and fix up AddTrack method so that if the file is from
9271 a IsLocal PrimarySource it just 'moves' it (eg changes the
9272 PrimarySourceId) but otherwise it asks the owning PrimarySource to copy
9273 the file to a location in the library folder.
9275 * src/Core/Banshee.Services/Banshee.MediaEngine/TranscoderService.cs: Set
9276 the updatd MimeType on the file after transcoding it.
9278 * src/Core/Banshee.Core/Banshee.Base/FileNamePattern.cs: Add a BuildFull
9279 convenience overload.
9281 2008-05-29 Aaron Bockover <abock@gnome.org>
9283 * src/Libraries/Hyena.Gui/Hyena.Widgets/SegmentedBar.cs: Add label support
9285 2008-05-29 Gabriel Burt <gabriel.burt@gmail.com>
9287 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Fix crasher introduced by
9288 yesterday's keybinding fix. Thanks to wfarr for catching it.
9290 2008-05-29 Aaron Bockover <abock@gnome.org>
9292 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerView.cs:
9295 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerWindow.cs:
9296 Ported from glade, some fixes
9298 * src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs: Only allow one
9299 instance of the equalizer to be shown; present the open version if exists
9301 * src/Core/Banshee.ThickClient/Resources/banshee-dialogs.glade: Removed
9304 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
9305 * libbanshee/banshee-player-equalizer.c: White space cleanup
9307 * libbanshee/banshee-player-pipeline.c: White space cleanup and removed
9308 a redundant element link
9310 2008-05-29 Gabriel Burt <gabriel.burt@gmail.com>
9312 * src/Clients/Halie/Halie/Client.cs: Don't turn strings that start with
9313 *:// into local file paths.
9315 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs: Add
9316 method for creating a station given a lastfm:// url.
9318 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
9319 Listen for command line file arguments starting in lastfm:// and try to
9320 create new stations for them.
9322 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
9323 Handle feed:// command line files, subscribing to them.
9325 * src/Core/Banshee.Core/Banshee.Base/CoverArtSpec.cs: Add TODO
9327 2008-05-29 Sebastian Dröge <slomo@circular-chaos.org>
9329 * libbanshee/banshee-player-equalizer.c: (bp_equalizer_set_gain),
9330 (bp_equalizer_get_bandrange), (bp_equalizer_get_nbands),
9331 (bp_equalizer_get_frequencies):
9332 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
9333 Get the number of frequency bands from the element and always take
9334 the complete gain range. Guard against some possible crashes and
9335 don't return an array that is allocated on the stack to the caller
9336 who provided us with a correctly allocated array already.
9338 * libbanshee/banshee-player-pipeline.c: (_bp_pipeline_construct):
9339 Some cleanup and only use the capsfilter hack with equalizer versions
9340 that had the clipping bug on integer samples.
9342 2008-05-28 Gabriel Burt <gabriel.burt@gmail.com>
9344 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellPodcastStatusIndicator.cs:
9345 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastItemView.cs:
9346 Change grey to mean the podcast item is old, and the blue indicator to
9347 mean the podcast item has been downloaded. Different than iTunes, but
9348 then so are we. (Plus we let you stream podcast items).
9350 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs:
9351 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
9352 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs:
9353 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
9354 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
9355 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Fix up
9356 drag and droppability for sources and tracks. Fix bug with sources having
9357 a border drawn around them when a dnd is cancelled. Only allowed but
9358 not-yet-functional dnd is from DapSource subclass (eg Music) to a library.
9360 2008-05-28 Aaron Bockover <abock@gnome.org>
9362 * src/Clients/Nereid/Nereid/Client.cs: Force the gtk-menu-popup-delay
9363 setting to be 225ms (the GTK+ default value) to avoid a nasty bug when
9364 it is possibly set to 0ms by some gtkrc files (BGO #524706)
9366 2008-05-28 Aaron Bockover <abock@gnome.org>
9368 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdService.cs:
9369 Split audio CD preferences into a separate tab
9371 * src/Core/Banshee.Services/Banshee.Preferences/Collection.cs:
9372 * src/Core/Banshee.Services/Banshee.Preferences/Root.cs:
9373 Ensure sections and pages actually get inserted in the proper sort order
9375 * src/Libraries/Hyena/Hyena.Collections/CollectionExtensions.cs:
9376 * src/Libraries/Hyena/Hyena.Collections/Tests/RangeCollectionTests.cs:
9377 Moved SortedInsert into a new CollectionExtensions helper class
9379 2008-05-28 Aaron Bockover <abock@gnome.org>
9381 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
9382 Load from the local instance argument queue at startup
9384 * src/Clients/Halie/Halie/Client.cs: Handle some crasher cases
9386 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
9387 Work around a shitty managed DBus bug where sending an empty dictionary
9388 will crash - related to the other shitty null bug
9390 2008-05-28 Gabriel Burt <gabriel.burt@gmail.com>
9392 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
9393 Fix bug with removing all items and the ListView crashing.
9395 2008-05-28 Aaron Bockover <abock@gnome.org>
9397 * src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs:
9398 The new file system queue, much like the old local queue - not finished
9401 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
9404 * src/Clients/Halie/Halie/Client.cs: Support presenting the main window
9406 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
9407 * src/Clients/Nereid/Nereid/Client.cs: Call NotifyStartupComplete in case
9408 an instance was already running and the new process exits quickly; this
9409 prevents GTK/GDK/GNOME from spinning a cursor if the process was started
9410 through a GUI launcher
9412 * src/Core/Banshee.ThickClient/Banshee.Gui/IClientWindow.cs: New interface
9413 for client windows to expose remote functionality
9415 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Added support
9416 for an AutoAddSource property - if it's set to false an extension source
9417 will not get added automatically to the source manager
9419 * src/Core/Banshee.Services/Banshee.ServiceStack/IDBusObjectName.cs:
9420 An interface that can be used to override the export name of a remote object
9422 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs:
9423 Support IDBusObjectName interface naming
9425 2008-05-28 Gabriel Burt <gabriel.burt@gmail.com>
9427 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Add the AccelGroup back as
9428 soon as the focus leaves the focused Gtk.Entry. Fixes bug where if you
9429 searched, then click to select a track, and hit a keybinding, it wouldn't
9430 work until the second press. Thanks to Jorge Castro for investigating.
9432 2008-05-28 Aaron Bockover <abock@gnome.org>
9434 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
9435 Listen to the new DBusCommandService
9437 * src/Clients/Halie/Halie/Client.cs: Proxy files to the DBusCommandService
9439 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusCommandService.cs:
9440 A light weight remote object that raises events for command line arguments
9441 and files that can be pushed into it
9443 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
9444 Register the DBusCommandService
9446 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs:
9449 2008-05-28 Aaron Bockover <abock@gnome.org>
9451 * src/Clients/Halie/Halie/Client.cs: Added command line support for
9452 mostly fully controlling the engine and the playback controller
9454 2008-05-28 Gabriel Burt <gabriel.burt@gmail.com>
9456 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Only set the
9457 AcceptableMimeTypes if they are null/haven't been set.
9459 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
9460 Parse the .is_audio_player output_formats key. The last fix required to
9463 2008-05-28 Gabriel Burt <gabriel.burt@gmail.com>
9465 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
9466 Only load files from the audio_folders directories.
9468 2008-05-28 Gabriel Burt <gabriel.burt@gmail.com>
9470 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs: Set the
9471 FileSize for just-ripped tracks. Fixes BGO #532077.
9473 2008-05-28 Gabriel Burt <gabriel.burt@gmail.com>
9475 * src/Libraries/Hyena/Hyena.Query/QueryField.cs: Fix bug with querying and
9476 smart playlists with "genre!:rock" would still match Rock.
9479 2008-05-28 Gabriel Burt <gabriel.burt@gmail.com>
9481 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenControls.cs:
9482 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs:
9483 Add method to disconnect the seek slider so it's not still listening for
9484 player engine events and trying to update itself after it's been
9485 destroyed. Fixes BGO #535213.
9487 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/QueryTermBox.cs: Be more
9488 defensive to avoid ArrayIndexOutOfBounds. Fixes BGO #535269;
9490 2008-05-28 Aaron Bockover <abock@gnome.org>
9492 * src/Clients/Halie/Halie/Client.cs: A new Banshee client that runs only
9493 only the console and proxies command line arguments into DBus calls to
9494 communicate with and control an already running Banshee client
9496 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusConnection.cs: Moved
9497 the connection logic out of the service since it needs to be used before
9498 any services start at the client level for single instance reasons
9500 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs:
9501 Cleaned up, use DBusConnection
9503 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
9504 * src/Core/Banshee.Services/Banshee.PlaybackController/IPlaybackController.cs:
9505 * src/Core/Banshee.Services/Banshee.PlaybackController/IPlaybackControllerService.cs:
9506 Worked around stupid issues in NDesk dbus so the controller actually works
9507 as a remote object now
9509 * src/Libraries/Hyena/Hyena.CommandLine/CommandLineParser.cs: Added
9510 an Arguments property and added internal logic to keep sort order preserved
9511 on the arguments so they can be iterated over in proper order
9513 2008-05-28 Gabriel Burt <gabriel.burt@gmail.com>
9515 * src/Extensions/Banshee.CoverArt/CoverArtJob.cs:
9516 * src/Extensions/Banshee.CoverArt/Makefile.am:
9517 * src/Extensions/Banshee.CoverArt/CoverArtService.cs: Fix the build and
9518 put C# files in their proper namespace directory.
9520 2008-05-28 James Willcox <snorp@novell.com>
9522 * src/Extensions/Extensions.mds:
9523 * src/Extensions/Banshee.CoverArt/CoverArtJob.cs:
9524 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt.addin.xml:
9525 * src/Extensions/Banshee.CoverArt/Banshee.CoverArt.mdp:
9526 * src/Extensions/Banshee.CoverArt/CoverArtService.cs:
9527 * src/Extensions/Makefile.am:
9529 Add Banshee.CoverArt extension which allows user-initiated and
9530 automatic cover art fetching for the entire MusicLibrary.
9532 * src/Core/Banshee.Services/Banshee.Metadata.Rhapsody/RhapsodyQueryJob.cs:
9533 Close the response when we're done with it, fixes some timeout
9534 issues when fetching many things at a time.
9536 * src/Core/Banshee.Services/Banshee.Metadata.Embedded/EmbeddedQueryJob.cs:
9537 Don't assume Track.Uri is set
9539 * build/build.environment.mk: Add refs for Banshee.CoverArt extension
9542 2008-05-28 Alexander Hixon <hixon.alexander@mediati.org>
9544 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerView.cs:
9545 Fix small bug where when loading presets from the EQ editor caused the
9546 manager to set the dB value for the preamp to 10 times what the value
9549 2008-05-27 Aaron Bockover <abock@gnome.org>
9551 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellStatusIndicator.cs:
9552 Fix bug where pixbuf wasn't centered in the cell
9554 2008-05-27 Aaron Bockover <abock@gnome.org>
9556 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellPodcastStatusIndicator.cs:
9557 Added support for the classic new item blue ball
9559 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastItemView.cs:
9560 Implemented a cell data handler to set the opacity on text renderers
9562 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackInfo.cs:
9563 Implemented a StatusText cell and some helper properties
9565 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastSource.cs:
9566 Added a Status column
9568 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
9569 Added a virtual ColumnCellDataProvider method that is called as soon as
9570 a data item is bound to a cell so the view can configure the cell
9572 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs:
9573 Added an opacity property
9575 2008-05-27 Gabriel Burt <gabriel.burt@gmail.com>
9577 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Change
9578 InternalName from banshee to banshee-1, so we actually set the process
9579 name correctly, register the right name with MMKeys, etc.
9581 2008-05-27 Gabriel Burt <gabriel.burt@gmail.com>
9583 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
9584 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
9585 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
9586 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
9587 * src/Libraries/Hyena.Gui/Hyena.Widgets/RatingMenuItem.cs: Fix bug with
9588 not saving the rating when set from either the context menu or the
9591 2008-05-27 Aaron Bockover <abock@gnome.org>
9593 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/XmlColumnController.cs:
9594 Support changing the renderer on columns
9596 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellStatusIndicator.cs:
9597 Renamed to Status indicator instead of Playback indicator
9599 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
9600 Updated to reflect rename of the indicator object
9602 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/Column.cs:
9603 Support removing and clearing renderers
9605 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellPodcast.cs:
9606 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Dialog/PodcastSubscribeDialog.cs:
9608 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastSource.cs:
9609 Load the podcast icons from the theme, not as resources
9611 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellPodcastStatusIndicator.cs:
9612 A custom indicator renderer to show podcast item status
9614 2008-05-27 Gabriel Burt <gabriel.burt@gmail.com>
9616 * src/Libraries/Hyena.Gui/Hyena.Widgets/RatingMenuItem.cs:
9617 * src/Libraries/Hyena.Gui/Hyena.Widgets/RatingEntry.cs: Fix bug where
9618 preview-on-hover stars weren't cleared before showing the track context
9619 menu (or notification menu) so you'd see whatever hover stars had been
9620 there the last time you opened it (even if for another track). Fixes BGO
9623 2008-05-27 Gabriel Burt <gabriel.burt@gmail.com>
9625 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
9626 * src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseTrackModelCache.cs:
9627 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Fix two bugs,
9628 one I introduced in my last big podcast commit that made the play queue
9629 keep repeating the same song, and another more subtle one, in our
9630 implementation of IndexOf for findind the index of an item in playlists.
9633 2008-05-27 Aaron Bockover <abock@gnome.org>
9635 * src/Core/Banshee.Services/Banshee.Equalizer/EqualizerManager.cs:
9636 Handle when the equalizer XML file does not exist
9638 2008-05-27 Michael Monreal <mmonreal@svn.gnome.org>
9640 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastActions.cs:
9641 Use gtk-add instead of gtk-new icon in the podcast source to match the
9642 Last.fm source. Fixes BGO #534817.
9644 2008-05-27 Gabriel Burt <gabriel.burt@gmail.com>
9646 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackInfo.cs:
9647 Return the item's PubDate as the ReleaseDate.
9649 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs: If
9650 the current track is a podcast item, display "from X published Y" instead
9653 2008-05-25 Gabriel Burt <gabriel.burt@gmail.com>
9655 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastUnheardFilterView.cs:
9656 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs:
9659 2008-05-25 Gabriel Burt <gabriel.burt@gmail.com>
9661 This patch adds another filter to the podcast browser - the ability to
9662 filter on all/new/old items. The default is to only show New Items, in
9663 keeping with the most common use case of podcast users. Items are marked
9664 as old after being played. They can be marked old manually via the
9665 Edit menu and track context menu, or by selecting one or more items and
9668 * *.mdp: MonoDevelop changed some <Project> attributes across all these.
9670 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
9671 Add hack to be able to not handle FeedItem changes when doing bulk ops.
9673 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastQuery.cs:
9674 New class, commented out, will replace BansheeQuery when in podcasting.
9675 Zero work done on it so far.
9677 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastSourceContents.cs:
9678 Add another filter list view with three options: All Items, New Items, and
9681 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastActions.cs:
9682 Change the Mark as Old keybinding to y (ala gmail archive). Implement
9685 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/PodcastSourceContents.cs:
9686 Move go Banshee.Podcasting.Gui namespace directory. Add the all/new/old
9689 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/PodcastSource.cs:
9690 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/Models/PodcastItemModel.cs:
9691 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/Models/PodcastFeedModel.cs:
9692 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/Views/PodcastFeedView.cs:
9693 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/Views/PodcastItemView.cs:
9694 Move to namespace directories.
9696 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellUnheard.cs:
9697 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastUnheardFilterView.cs:
9698 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastUnheardFilterModel.cs:
9699 New classes to implement the all/new/old filter.
9701 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackInfo.cs:
9702 Override IncrementPlayCount and set the item as old (if not already set)
9703 when incremented. Catch exceptions in processing file w/ taglib#.
9705 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastSource.cs:
9706 Move PodcastListModel out of here. Create the all/new/old filter model
9707 and add it to the FilterModels.
9709 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackListModel.cs:
9710 Moved out of PodcastSource into its own file.
9712 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs:
9713 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs:
9714 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastFeedModel.cs:
9715 DatabaseBrowsableListModel renamed to DatabaseFilterListModel, and
9716 ItemToFilterValue made protected.
9718 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.mdp:
9719 * src/Extensions/Banshee.Podcasting/Makefile.am: Reflect new files and
9722 * src/Extensions/Banshee.Podcasting/Resources/ActiveSourceUI.xml: Add
9723 track actions to the Edit menu (not just the track context menu).
9725 * src/Core/Banshee.ThickClient/Banshee.Gui/PersistentPaneController.cs:
9726 Use String.Format not +, properly handle setting a new Paned when one was
9727 already set (stop listening to old one's events), avoid saving when the
9728 value hasn't changed.
9730 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
9731 Give parent class a name for us (albumartist) for unique gconf position
9734 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs:
9735 Take a name in the ctor so we can save positions in gconf per
9736 filtered-list type (eg podcast and albumartist, atm). Go back and
9737 implement packing the N filter views into Gtk.Paneds. Refactor
9738 LayoutLeft/Top code to be the same.
9740 * src/Core/Banshee.Services/Banshee.Collection/IFilterListModel.cs: New
9743 * src/Core/Banshee.Services/Banshee.Collection/AlbumListModel.cs:
9746 * src/Core/Banshee.Services/Banshee.Collection/BrowsableListModel.cs:
9747 * src/Core/Banshee.Services/Banshee.Collection/FilterListModel.cs: Rename,
9748 made to not require that the filter model itself be database backed (eg
9749 the all/new/old model is just an in-memory enum model).
9751 * src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs:
9752 Comment out (should remove) virtual implementations that just threw NIE.
9754 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
9755 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
9756 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
9757 Move ICacheableItem up (to parent class of *TrackInfo).
9759 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseBrowsableListModel.cs:
9760 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs:
9763 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
9764 Handle the provider.Where clause being empty, add spaces around AND'd
9765 sql filter fragments from our filtering models.
9767 * src/Core/Banshee.Services/Banshee.Services.mdp:
9768 * src/Core/Banshee.Services/Makefile.am: New/moved files.
9770 * src/Libraries/Migo/Migo.Syndication/MigoModelProvider.cs:
9771 * src/Libraries/Migo/Migo.Syndication/MigoItem.cs:
9772 * src/Core/Banshee.Services/Banshee.Database/BansheeModelCache.cs: Add
9773 using Hyena.Data because ICacheableItem moved there.
9775 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Cosmetic
9776 changes, getting ready to refactor so sources can set/customize the fields
9777 they can be queried with.
9779 * src/Core/Banshee.Core/Banshee.Collection/AlbumInfo.cs:
9780 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs:
9781 * src/Core/Banshee.Core/Banshee.Collection/ArtistInfo.cs: Add empty ctor,
9782 inherit from CacheableItem.
9784 * src/Core/Banshee.Core/Makefile.am:
9785 * src/Core/Banshee.Core/Banshee.Core.mdp:
9786 * src/Core/Banshee.Core/Banshee.Collection/CacheableItem.cs: New class,
9787 just a simple implementation of ICacheableItem.
9789 * src/Core/Banshee.Core/Resources/translators.xml: Updated.
9791 * src/Core/Banshee.Core/Banshee.Base/CoverArtSpec.cs: Check that the
9792 escaped artist/album strings aren't empty either (not just null).
9794 * src/Libraries/Mtp/Mtp/MtpDevice.cs: Move LIBMTP_Init into static ctor,
9795 get rid of internal method that called it; wouldn't want to call it twice.
9797 * src/Libraries/Hyena/Hyena.Collections/Selection.cs: Add convenience
9798 properties for FirstIndex and LastIndex.
9800 * src/Libraries/Hyena/Hyena.mdp:
9801 * src/Libraries/Hyena/Makefile.am:
9802 * src/Libraries/Hyena/Hyena.Data.Sqlite/ICacheableItem.cs:
9803 * src/Libraries/Hyena/Hyena.Data/ICacheableItem.cs: Moved here from
9806 * src/Libraries/Hyena/Hyena.Data/ICacheableModel.cs: Inherit ISelctable.
9808 * src/Libraries/Hyena/Hyena.Data/ArrayModelCache.cs:
9809 * src/Libraries/Hyena/Hyena.Data/ModelCache.cs:
9810 * src/Libraries/Hyena/Hyena.Data/DictionaryModelCache.cs: Specify that T
9811 must be ICacheableItem.
9813 * src/Libraries/Hyena/Hyena.Data.Sqlite/ICacheableDatabaseModel.cs:
9814 Inheritance from ISelectable moved to parent interface.
9816 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: When
9817 restoring the selection across a reload, restore the focused index as
9820 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCell.cs: If the item to
9821 bind is null, set the bound object and parent object to null too.
9823 * src/Libraries/Hyena.Gui/Hyena.Widgets/AccordionPane.cs: New class,
9824 completely not done (or really started). Would be great to refactor the
9825 awesome column sizing code out of ListView so could be used by this. The
9826 idea is a new Paned-type widget with N children with min/max/relative
9827 widths etc all set, and resizing one will resize others to their min
9830 * src/Libraries/Migo/Migo.Syndication/FeedItem.cs: Add an index to IsRead
9831 since we'll be filtering on it a lot.
9833 * data/mimetypes.txt: Add video/ogg and video/x-theora.
9835 2008-05-25 Gabriel Burt <gabriel.burt@gmail.com>
9837 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
9838 Be more careful about NREs in the metadata migration. And, in case we do
9839 hit an unexpected exception, close the user-job so it doesn't stay up
9842 2008-05-23 Sebastian Dröge <slomo@circular-chaos.org>
9844 * libbanshee/banshee-player-pipeline.c: (_bp_pipeline_construct):
9845 Enable the equalizer again and workaround the clipping bug that will
9846 be fixed with gst-plugins-good 0.10.10. Also don't leak some elements
9847 if the equalizer plugin is not installed.
9849 2008-05-22 Aaron Bockover <abock@gnome.org>
9851 Banshee 1.0 Beta 2 (0.99.2) Released
9853 2008-05-22 Gabriel Burt <gabriel.burt@gmail.com>
9855 * src/Libraries/Migo/Migo.Syndication/FeedItem.cs: Fix issue with feed
9856 item Guids being empty so we'd have duplicates of items.
9858 2008-05-22 Gabriel Burt <gabriel.burt@gmail.com>
9860 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Don't set the
9861 PersistentColumnController within the composite_view check, move it to
9862 TrackListView so it's more general.
9864 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/PersistentColumnController.cs:
9865 Set loaded to false whenever reloading the source's settings.
9867 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
9868 When setting the model, also set the source on the controller if it's a
9869 PersistentColumnController.
9871 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs: Fix
9872 bug with column cache not being invalidated, which caused checkboxes to
9873 try to show up in the music library after ejecting an audio cd, causing a
9874 crash. Also, don't do anything if we're already set to the controller in
9877 * src/Libraries/Hyena/Hyena.Data/ColumnDescription.cs:
9878 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs:
9879 Comment out verbose logging.
9881 2008-05-22 Aaron Bockover <abock@gnome.org>
9883 * configure.ac: Bumped to 1.0 Beta 2 (0.99.2)
9885 2008-05-22 Gabriel Burt <gabriel.burt@gmail.com>
9887 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdService.cs:
9888 Improve eject-when-done-importing label.
9890 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellFileSize.cs:
9891 Display nothing for file sizes == 0.
9893 * src/Core/Banshee.Core/Resources/contributors.xml: Add and alphabetize
9896 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/Brasero.cs: Add ... at
9897 end of Write to CD label.
9899 * NEWS: Updated for forthcoming 0.99.2 release.
9901 2008-05-22 Aaron Bockover <abock@gnome.org>
9903 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Added a
9904 SelectionChanged event
9906 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
9907 Allow the placeholders in the edit menu above the add to playlist entry
9909 * src/Core/Banshee.Core/Banshee.Base/Paths.cs: Added FindProgramInPath
9911 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/Brasero.cs: A quick
9912 hack to allow launching selected tracks in Brasero as an audio CD project
9914 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GnomeService.cs: Load
9915 Brasero support if it's found on the system
9917 2008-05-22 Aaron Bockover <abock@gnome.org>
9919 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
9920 Offset the cell damage areas by the view adjustment values
9922 2008-05-22 Gabriel Burt <gabriel.burt@gmail.com>
9924 There were some pretty big performance issues with podcasting if you had
9925 quite a few items in your library. The two issues were not having proper
9926 indices (to join CoreTracks.ExternalID = PodcastItems.ItemID for example)
9927 and hitting the database to get Migo.Feed/FeedItem/FeedEnclosure objects
9928 when we already had them cached in our MigoModelProviders' dictionaries.
9930 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
9931 Schedule a delegate job to reload the feeds on startup.
9933 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
9934 Add an index on CoreTracks for the ExternalID column.
9936 * src/Core/Banshee.Core/Makefile.am:
9937 * src/Core/Banshee.Core/Banshee.Core.mdp:
9938 * src/Core/Banshee.Core/Banshee.Kernel/DelegateJob.cs: New class for
9939 running parameterless methods/delegates as a Job.
9941 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Add a
9942 CreateIndex convenience method, and make FetchSingle virtual
9944 * src/Libraries/Migo/Migo.Syndication/FeedItem.cs:
9945 * src/Libraries/Migo/Migo.Syndication/FeedEnclosure.cs:
9946 * src/Libraries/Migo/Migo.Syndication/Feed.cs: Add indices, speeds up
9947 podcast queries a whole lot.
9949 * src/Libraries/Migo/Migo.Syndication/MigoModelProvider.cs: Override
9950 FetchSingle to pull directly from the dictionary and avoid the DB entirely
9951 if possible (happens very frequently).
9953 * src/Libraries/Migo/Migo.Syndication/FeedManager.cs: Only download 2
9954 feeds at at time, not 4.
9956 2008-05-22 Aaron Bockover <abock@gnome.org>
9958 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellCheckBox.cs: Save and
9959 reset the bound object on motion/pointer leave to a hover object variable
9960 and draw the checkbox as prelit if that's set
9962 2008-05-22 Gabriel Burt <gabriel.burt@gmail.com>
9964 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/PodcastSourceContents.cs:
9965 * src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp:
9966 * src/Core/Banshee.ThickClient/Makefile.am:
9967 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/ListBrowserSourceContents.cs:
9968 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
9969 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs:
9970 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/PodcastSourceContents.cs:
9971 Rename ListBrowserSourceContents to FilteredListSourceContents.
9973 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellDuration.cs:
9974 Right align durations.
9976 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
9977 Avoid passing null string to gtk.
9979 2008-05-22 James Willcox <snorp@novell.com>
9981 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTiles.cs:
9982 Set tooltips on the status label since it frequently gets ellipsized
9984 2008-05-21 Scott Peterson <lunchtimemama@gmail.com>
9986 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
9987 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs:
9988 * src/Libraries/Migo/Migo/Migo.Syndication/FeedManager.cs:
9989 * src/Libraries/Migo/Migo/Migo.Syndication/Feed.cs:
9990 Add IsSubscribed to Feed and modified migration code to use true as the
9993 2008-05-21 Scott Peterson <lunchtimemama@gmail.com>
9995 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/PodcastSourceContents.cs:
9996 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
9997 Add null checks to avoid NRE.
9999 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
10000 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
10001 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs:
10002 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
10003 Removed rendering canvases.
10005 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
10006 Removed rendering canvases and fixed some bugaboos with cell event
10009 2008-05-21 Gabriel Burt <gabriel.burt@gmail.com>
10011 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellPodcast.cs:
10012 Replace the disc image for 'All Podcasts' with the podcast icon.
10014 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Dialog/PodcastSubscribeDialog.cs:
10015 If the user has some text on the clipboard that starts with http,
10016 automatically put that in the url entry. Make the dialog a big wider.
10018 2008-05-21 Gabriel Burt <gabriel.burt@gmail.com>
10020 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
10021 When migrating old podcast data, call SyncWithFeedItem to get a bunch of
10022 good settings (Genre, MediaAttributes, etc).
10024 2008-05-21 Gabriel Burt <gabriel.burt@gmail.com>
10026 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/PodcastSource.cs:
10027 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/Models/PodcastFeedModel.cs:
10028 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
10029 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs:
10030 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseBrowsableListModel.cs:
10031 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs:
10032 Change BrowsableListModels to automatically filter on any 'upstream'
10033 filters (ones defined before them), so upshot is albums filters on artists
10036 2008-05-21 Gabriel Burt <gabriel.burt@gmail.com>
10038 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
10039 Migrate podcast feeds and items from 0.13.2 podcast plugin.
10041 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/PodcastSource.cs:
10042 Allow sorting on download status and published date, make the default
10043 PubDate descending.
10045 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/XmlColumnController.cs:
10046 Allow defining the sort direction in addition to the default sort column.
10048 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
10049 Add an override for GetTrackForUri method.
10051 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
10052 Expose SortQuery via protected property, and make GenerateSortQueryPart
10055 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
10056 Skip items with non-local URIs.
10058 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Add FileSize
10061 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Add
10062 QueryEnumerable<T> methods.
10064 * src/Libraries/Migo/Migo/Migo.Syndication/FeedItem.cs:
10065 * src/Libraries/Migo/Migo/Migo.Syndication/FeedEnclosure.cs:
10066 * src/Libraries/Migo/Migo/Migo.Syndication/Feed.cs: Create the model
10067 within the Init function.
10069 2008-05-21 Scott Peterson <lunchtimemama@gmail.com>
10071 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/GtkTheme.cs: Fixed rendering
10072 problem with sort arrow if the first column was sorted.
10074 2008-05-21 Scott Peterson <lunchtimemama@gmail.com>
10076 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
10077 Fixed first column being unsortable.
10079 2008-05-21 Aaron Bockover <abock@gnome.org>
10081 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
10082 Added an EnabledCount property
10084 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
10085 Added a check box column to control the RipEnabled property on each CD
10086 track; when the EnabledCount on the model is zero, disable the rip action
10088 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdTrackInfo.cs:
10089 When RipEnabled is set or unset, increment or decrement the EnabledCount
10090 on the model if the value actually changes
10092 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: NRE protection
10094 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Do not layout
10095 text if it's null or empty
10097 2008-05-21 Aaron Bockover <abock@gnome.org>
10099 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/IInteractiveCell.cs:
10100 Added a PointerLeaveEvent method
10102 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
10103 Save last cell reference so it can be sent a pointer leave event when
10104 the pointer focuses on another cell or leaves the widget entirely;
10105 computer proper cell damage rectangles for when Scott fixes area redrawing
10107 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellRating.cs:
10108 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellCheckBox.cs:
10109 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListViewTestModule.cs:
10110 Implemented PointerLeaveEvent
10112 2008-05-21 Scott Peterson <lunchtimemama@gmail.com>
10114 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Headers.cs:
10115 Make sure that a columns max height is not less that its min height. This
10116 fixes some aweful bugs.
10118 2008-05-21 Mike Urbanski <michael.c.urbanski@gmail.com>
10120 * src/Libraries/Migo/Makefile.am:
10121 * src/Libraries/Migo/Migo.mdp:
10122 * src/Libraries/Migo/Migo/Migo.TaskCore/AsyncCommandQueue/CommandQueueManager.cs:
10123 Added CommandQueueManager.
10125 * src/Libraries/Migo/Migo/Migo.TaskCore/GroupStatusManager.cs:
10126 * src/Libraries/Migo/Migo/Migo.TaskCore/GroupProgressManager.cs:
10127 * src/Libraries/Migo/Migo/Migo.TaskCore/AsyncCommandQueue/AsyncCommandQueue.cs:
10128 * src/Libraries/Migo/Migo/Migo.TaskCore/Migo.TaskCore.Collections/TaskCollection.cs:
10129 * src/Libraries/Migo/Migo/Migo.TaskCore/TaskGroup.cs:
10130 * src/Libraries/Migo/Migo/Migo.TaskCore/Task.cs:
10131 * src/Libraries/Migo/Migo/Migo.DownloadCore/DownloadManager.cs:
10132 * src/Libraries/Migo/Migo/Migo.DownloadCore/DownloadGroupStatusManager.cs:
10133 * src/Libraries/Migo/Migo/Migo.DownloadCore/HttpFileDownloadTask.cs:
10134 * src/Libraries/Migo/Migo/Migo.Syndication/FeedsManager.cs:
10135 Transparent architectural changes to promote looser coupling between
10136 TaskCore components (i.e. removing hacketry.)
10138 2008-05-21 Aaron Bockover <abock@gnome.org>
10140 * src/Core/Banshee.Services/Banshee.Metadata/MetadataServiceJob.cs:
10141 Return the full HttpWebResponse instead of the response stream
10143 * src/Core/Banshee.Services/Banshee.Metadata.MusicBrainz/MusicBrainzQueryJob.cs:
10144 Updated to reflect API change above
10146 * src/Core/Banshee.Services/Banshee.Metadata.Rhapsody/RhapsodyQueryJob.cs:
10147 Updated to reflect API change above and to check the content type on
10148 the response to ensure it's text/xml - Rhapsody now redirects to the
10149 best-match HTML page if there is no exact match - before they just gave
10152 2008-05-21 Gabriel Burt <gabriel.burt@gmail.com>
10154 * src/Extensions/Banshee.Lastfm/Makefile.am: Reorder.
10156 * src/Extensions/Banshee.Podcasting/Resources/GlobalUI.xml:
10157 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastActions.cs:
10158 Add Download All action to podcast context menu.
10160 * src/Libraries/Migo/Migo/Migo.Syndication/FeedEnclosure.cs: Avoid
10161 queueing the download if we're already download.
10163 2008-05-20 Gabriel Burt <gabriel.burt@gmail.com>
10165 With the amazing help of Scott Peterson, we have knocked out two subtle,
10166 but annoying Last.fm bugs.
10168 * src/Extensions/Banshee.NotificationArea/Resources/NotificationAreaMenu.xml:
10171 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
10172 Implement IBasicPlaybackController, so that if we are selected as the new
10173 playback source and asked to play First or Next, we will as soon as we've
10174 loaded some songs (and we're still the playback source).
10176 * src/Extensions/Banshee.Lastfm/Makefile.am:
10177 * src/Extensions/Banshee.Lastfm/Resources/LastfmTrackActions.xml:
10178 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
10179 Load some TrackActions when we're the playback source (specifically, put
10180 Love/Hate in the notification menu).
10182 * src/Core/Banshee.Services/Banshee.Services.mdp:
10183 * src/Core/Banshee.Services/Makefile.am:
10184 * src/Core/Banshee.Services/Banshee.Collection/IHasTrackSelection.cs:
10187 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: TODO
10190 2008-05-20 Gabriel Burt <gabriel.burt@gmail.com>
10192 * src/Core/Banshee.Core/Banshee.Streaming/SaveTrackMetadataJob.cs: Disable
10193 writing metadata to file for video files for now, since TagLib# seems to run
10194 at 100% and consume lots of memory when we try.
10196 2008-05-20 Aaron Bockover <abock@gnome.org>
10198 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellRating.cs: Tell the
10199 renderer what opacities we like
10201 * src/Libraries/Hyena.Gui/Hyena.Gui/RatingRenderer.cs: Take the color
10202 opacities from the argument stack instead of hard coding
10204 * src/Libraries/Hyena.Gui/Hyena.Widgets/RatingEntry.cs: Set desired
10205 opacities and added an AlwaysShowEmptyStars property; moved the motion
10206 event handler to an internal HandleMotionNotify method
10208 * src/Libraries/Hyena.Gui/Hyena.Widgets/RatingMenuItem.cs: Proxy the
10209 menu's motion notify event to the entry so we get the sweet preview;
10210 do not activate the menu when we set the rating so the menu stays visible
10211 and we can see the rating actually changed
10213 2008-05-20 Gabriel Burt <gabriel.burt@gmail.com>
10215 This commit fixes a major (though one-line) bug with threading that should
10216 fix "xcb" related crashes. It improves podcast support, including
10217 automatically switching to Now Playing for videos and supporting Media RSS
10220 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
10221 Also switch to Now Playing if the trackinfo is updated and it is a video.
10223 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
10224 Delay refreshing the feeds, and don't try to download artwork if feed not
10227 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastActions.cs:
10228 Implement deleting a podcast feed, feed context menu.
10230 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/PodcastSource.cs:
10231 Show a message if the user creates a playlist under the Podcast source.
10232 Should be allowed, but doesn't work properly yet, so we don't allow it.
10234 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackInfo.cs:
10235 Set the LicenseUri and MediaAttributes.
10237 * src/Extensions/Banshee.Podcasting/Resources/GlobalUI.xml: Add a context
10238 menu just for the All Podcasts item.
10240 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellFileSize.cs:
10241 Right align and always show one decimal point.
10243 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastImageFetchJob.cs:
10244 * src/Core/Banshee.Services/Banshee.Metadata/IMetadataLookupJob.cs:
10245 * src/Core/Banshee.Services/Banshee.Metadata/MetadataService.cs:
10246 * src/Core/Banshee.Services/Banshee.Metadata/MetadataSettings.cs:
10247 * src/Core/Banshee.Services/Banshee.Metadata/IMetadataProvider.cs:
10248 * src/Core/Banshee.Services/Banshee.Metadata/BaseMetadataProvider.cs:
10249 * src/Core/Banshee.Services/Banshee.Metadata/MetadataServiceJob.cs:
10250 * src/Core/Banshee.Services/Makefile.am:
10251 * src/Core/Banshee.Services/Banshee.Metadata.MusicBrainz/MusicBrainzMetadataProvider.cs:
10252 * src/Core/Banshee.Services/Banshee.Metadata.MusicBrainz/MusicBrainzQueryJob.cs:
10253 * src/Core/Banshee.Services/Banshee.Metadata.Rhapsody/RhapsodyMetadataProvider.cs:
10254 * src/Core/Banshee.Services/Banshee.Metadata.Rhapsody/RhapsodyQueryJob.cs:
10255 * src/Core/Banshee.Services/Banshee.Metadata.Embedded/EmbeddedMetadataProvider.cs:
10256 * src/Core/Banshee.Services/Banshee.Metadata.Embedded/EmbeddedQueryJob.cs:
10257 * src/Core/Banshee.Services/Banshee.Services.mdp:
10258 Get rid of MetadataSettings and use NetworkDetect. Don't lookup if
10259 podcast MediaAttribute set. Fix bug with calling GTK+ things from the
10260 metadata update thread; probably the cause of the xcb crashes.
10262 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
10263 Trim artist and album names when set.
10265 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngine.cs: Don't
10266 ignore media engine tags if the current track is not a local file. This
10267 lets GStreamer tell us the streaming file is a video so Now Playing can
10270 * src/Core/Banshee.Core/Banshee.Collection/IBasicTrackInfo.cs: Add
10271 ArtworkId and MediaAttributes properties.
10273 * src/Core/Banshee.Core/Banshee.Collection/LicenseInfo.cs: New file, not
10274 in build. Idea is to parse and represent Creative Commons license info.
10276 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs: Handle the
10277 VideoCodec tag, setting the VideoStream attribute.
10279 * src/Libraries/Hyena/Hyena/StringUtil.cs:
10280 * src/Libraries/Hyena/Hyena.Query/FileSizeQueryValue.cs: Allow specifying
10281 that one decimal point should always been shown. By default, we hide the
10282 decimal point and tenths place if the number is within 0.05 of an int.
10284 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Make
10285 Delete methods virtual, add LIMIT 1 to FetchFirstMatching, and use
10286 DeleteCommand property instead of field.
10288 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Add a
10289 protected Pango.Alignment property.
10291 * src/Libraries/Migo/Makefile.am:
10292 * src/Libraries/Migo/Migo.mdp:
10293 * src/Libraries/Migo/Migo/Migo.Syndication/XmlUtils.cs: Removed, code
10294 moved into RssParser.
10296 * src/Libraries/Migo/Migo/Migo.Syndication/FeedItem.cs: Add LicenseUri
10297 property, and fix loading of the enclosure.
10299 * src/Libraries/Migo/Migo/Migo.Syndication/FeedEnclosure.cs: Tweaks.
10301 * src/Libraries/Migo/Migo/Migo.Syndication/RssParser.cs: Merge the code
10302 from XmlUtils into here, add more namespaces so can pull out Creative
10303 Commons LicenseUri and can pull the highest bitrate <media:content> if
10304 there is no <enclosure> tag - eg for The Onion News Network. Should
10305 probably allow setting global or per-podcast preference for preferred
10306 quality if there are ever options.
10308 * src/Libraries/Migo/Migo/Migo.Syndication/MigoModelProvider.cs: Make
10309 Delete methods override; as 'new' they weren't working.
10311 * src/Libraries/Migo/Migo/Migo.Syndication/Feed.cs: Get rid of TTL and
10312 Interval properties, replace with UpdatePeriodMinutes property. Fix
10315 * configure.ac: Enable the podcast extension by default.
10317 2008-05-19 Aaron Bockover <abock@gnome.org>
10319 * build/build.rules.mk: Set ENABLE_TESTS as a define variable; this will
10320 allow unit tests to be compiled in only if Nunit is available and we are
10321 not building a release
10323 * Tons of files: Surgery to move unit tests into the proper assemblies
10324 instead of one big test assembly hack job thing; some stuff is still
10325 broken and incomplete
10327 2008-05-19 Aaron Bockover <abock@gnome.org>
10329 * tests/Hyena/RangeCollectionTests.cs: Use a SortedInsert method instead
10330 of Add*N + Sort for the reference collection so it's a little faster;
10331 reduce the iterations to 75k to appease Gabe
10333 2008-05-19 Aaron Bockover <abock@gnome.org>
10335 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkRenderer.cs:
10336 Added native handle NULL checks when checking for null against a Gdk.Pixbuf;
10337 for some reason we sometimes get a managed GdkPixbuf object that wraps
10338 a NULL native GdkPixbuf pointer - possibly a bug in Gdk# - though it only
10339 seems to happen when image data comes from the Net, so it could just be
10340 a case of bad things happening with bad image data
10342 2008-05-18 Gabriel Burt <gabriel.burt@gmail.com>
10344 * tests/Makefile.am: Patch from Bertrand Lorentz that forces tests to be
10345 run in Italian with timezone = Chicago, apparently fixing failures for him.
10347 2008-05-17 Gabriel Burt <gabriel.burt@gmail.com>
10349 Massive commit that brings Podcasting back to the land of the living. Our
10350 internal classes for doing track filtering and showing the browsers have
10351 been made generic, so that Podcasting can use all of them to show its
10352 Browser (with a single Podcast filter). I still do NOT recommend users use
10353 this; it needs more work to migrate 0.13.2 podcasting data, and probably
10354 has bugs that will eat your children.
10356 * src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs:
10357 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs:
10358 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackRepeatActions.cs:
10359 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
10360 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
10361 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackShuffleActions.cs:
10362 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
10363 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
10364 Update to use new BansheeActionGroup ctor and properties.
10366 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
10367 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
10368 Implement empty FilterModels property.
10370 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:
10371 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService_Interface.cs:
10372 Listen to the events offered up in Migo, grab podcast artwork, and move
10373 most of the action-related code into PodcastActions.cs.
10375 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastImageFetchJob.cs:
10376 New MetadataServiceJob subclass for fetching podcast artwork.
10378 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastCore_Interface.cs:
10379 Renamed to PodcastService.
10381 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellPodcast.cs:
10382 Hot new renderer for podcasts, showing artwork, name, and when last
10383 updated. Duplicates a ton of code with ColumnCellAlbum, should be
10386 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellPublished.cs:
10387 Override for ColumnCellDateTime to just print the short date.
10389 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastActions.cs:
10390 New class, a BansheeActionGroup subclass, for registering and handling
10391 podcast actions. Quite a few actions aren't implemented yet (like mark
10392 new/old and delete podcast).
10394 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Dialog/PodcastFeedPropertiesDialog.cs:
10395 Get rid of bold titles, make casing consistent, don't put ""s around the
10398 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Dialog/PodcastSubscribeDialog.cs:
10399 Casing, grammer, get rid of expander.
10401 * src/Extensions/Banshee.Podcasting/Makefile.am:
10402 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastItem.cs:
10403 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastTrackInfo.cs:
10404 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Dialog/PodcastPropertiesDialog.cs:
10405 PodcastItem renamed to PodcastTrackInfo, pulls more data from FeedItem and
10406 the enclosure/file.
10408 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/ColumnCells/PixbufColumnCell.cs:
10409 Add new ctor required by new ColumnController business.
10411 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/ColumnCells/ItemActivityColumnCell.cs:
10412 Add new ctor, get rid of Video and New Item icons; just show download status
10414 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/PodcastSourceContents.cs:
10415 Change to be a ListBrowserSourceContents subclass, which is what
10416 CompositeTrackListView inherit from too.
10418 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/PodcastSource.cs:
10419 Change to inherit from LibrarySource, add a XML column controller property
10420 to add Published and Download Status columns.
10422 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/Models/PodcastFeedModel.cs:
10423 Change to inherit from DatabaseBrowsableListModel, which goes against the
10424 db and knows how to filter the track model.
10426 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/Views/PodcastFeedView.cs:
10427 Change to inherit from TrackFilterListView and to use the new Podcast
10430 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/Views/PodcastItemView.cs:
10431 Fix up columns, names.
10433 * src/Extensions/Banshee.Podcasting/Resources/ActiveSourceUI.xml: Use the
10434 normal TrackContextMenu for podcast items, but add some things to it when
10435 podcast source is active.
10437 * src/Extensions/Banshee.Podcasting/Resources/GlobalUI.xml: Get rid of
10438 PodcastItemViewPopup, add several normal Library-source context menu
10439 items, remove some items from PodcastFeedPopup that didn't make sense.
10441 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.addin.xml: Update
10444 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.mdp: Lots of new
10445 files, ref TagLib, System.Xml, gdk.
10447 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Fix assumptions regarding
10448 composite_view, and get rid of IHasTrackSelection crap.
10450 * src/Core/Banshee.Services/Banshee.Metadata.Embedded/EmbeddedQueryJob.cs:
10451 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs:
10452 * src/Core/Banshee.Services/Banshee.Metadata.MusicBrainz/MusicBrainzQueryJob.cs:
10453 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodTrackInfo.cs:
10454 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
10455 Rename TrackInfo.ArtistAlbumId to ArtworkId.
10457 * src/Dap/Banshee.Dap/Banshee.Dap/MediaGroupSource.cs: Fix delete from
10458 drive action label, reload after intialized.
10460 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Add the two media sources
10461 before loading, avoiding ThreadAssist nastiness.
10463 * src/nuke-gconf-keys: New scriptlet for clearing your banshee-1 gconf
10464 keys, for testing from a clean slate.
10466 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/XmlColumnController.cs:
10467 Add ability to set a default <sort-column>column-id</sort-column>.
10469 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/AlbumListView.cs:
10470 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtistListView.cs:
10471 Inherit from TrackFilterListView, getting rid of a lot of dupe code.
10473 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellFileSize.cs:
10474 New column cell renderer for file sizes. Should be changed to always spit
10475 out one decimal point and to right align, for scanability.
10477 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
10478 Move RowActivated handler here from Nereid.PlayerInterface, so that any
10479 TrackListView instance/subclass will start playing when you double click
10482 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackFilterListView.cs:
10483 New class, refactored Album and Artist code here.
10485 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellDuration.cs:
10486 Don't display anything if duration is zero.
10488 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
10489 Add FileSize column, make duration column a bit smaller by default.
10491 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellDateTime.cs:
10492 Add DateTimeFormat to control what format of date/time string is used.
10494 * src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp: Add new files.
10496 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Add
10497 ShowContextMenu method, take the interface_action_service in the ctor and
10498 expose through Actions property.
10500 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Get rid of
10501 awful TrackSelector crap.
10503 * src/Core/Banshee.ThickClient/Makefile.am: Updates.
10505 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/ListBrowserSourceContents.cs:
10506 Refactored out of CompositeTrackSourceContents, made generic so can be
10507 used with any ITrackModelSource with its arbitrary FilterModels. Means we
10508 can have different types of browsers for different sources (Music Library
10509 vs Podcasts, for instance) and they share a lot of code, and the top/left
10512 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
10513 Inherit from ListBrowserSourceContents.
10515 * src/Core/Banshee.Services/Banshee.Metadata/MetadataServiceJob.cs: Fix
10516 bug where files were used before they were fully downloaded by saving to a
10517 temp file and moving once finished writing.
10519 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
10520 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
10521 * src/Core/Banshee.Services/Banshee.Sources/ITrackModelSource.cs: Get rid
10522 of AlbumModel and ArtistModel, replaced by generic FilterModels.
10524 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
10525 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Add the
10526 conditions intead of setting them, meaning we can play nicely with
10527 other conditions instead of racing.
10529 * src/Core/Banshee.Services/Banshee.Collection/BrowsableListModel.cs: New
10530 abstract subclass of BansheeListModel, that defines the Selection as a
10531 SelectAllSelection.
10533 * src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs: Add
10534 FocusedItem getter, and make RaiseReloaded public.
10536 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs:
10537 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs:
10538 Inherit from DatabaseBrowsableListModel
10540 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseBrowsableListModel.cs:
10541 New abstract class for filter models.
10543 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
10544 Sort of lame, but put the actual Provider.Save/Refresh calls inside
10545 virtual methods so that PodcastTrackInfo can use its own provider.
10547 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
10548 Get rid of ReloadTrigger enum, replaced by just passing in the actual
10549 IFilterModel that triggered the reload (if any). Reload algorithm made
10550 generic, uses the ITrackModelSource's list of FilterModels, so will work
10551 with 0 - N filter models (used by PodcastSource to filter just on Podcast,
10552 atm). Get rid of built-in album/artist assumptions.
10554 * src/Core/Banshee.Services/Banshee.Services.mdp: New files.
10556 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
10557 New migration, drop any podcast tables created using the 1.0 series
10558 - 0.13.2 data shouldn't be affected - so we can start over. Add an
10559 ExternalId column to CoreTracks.
10561 * src/Core/Banshee.Services/Banshee.Database/BansheeModelCache.cs: Don't
10562 require BansheeModelProvider since SqliteModelProvider suffices fine.
10564 * src/Core/Banshee.Services/Makefile.am: New files.
10566 * src/Core/Banshee.Core/Resources/translators.xml: Updated.
10568 * src/Core/Banshee.Core/Banshee.Base/CoverArtSpec.cs: Make the actual
10569 escaping code public (so we can use it to make podcast artwork ids). Log
10570 a message stating where the album art directory is.
10572 * src/Libraries/Hyena/Hyena.Collections/Selection.cs: Add a FocusedIndex
10573 property, factored out of ListView, so that we can get to it so long as we
10574 can get to the Selection, instead of having to get to the ListView.
10576 * src/Libraries/Hyena/Hyena/Log.cs: Add WarningFormat.
10578 * src/Libraries/Hyena/Hyena.Query/RelativeTimeSpanQueryValue.cs: Added
10579 convenience factory method RelativeToNow.
10581 * src/Libraries/Hyena/Hyena.Query/TimeSpanQueryValue.cs: Determine the
10582 best factor after having our value set.
10584 * src/Libraries/Hyena/Hyena.Data/IFilterable.cs: Rename Filter to
10587 * src/Libraries/Hyena/Hyena.Data/IListModel.cs: Add non-generic IListModel
10590 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Make Save,
10591 Load, and Delete methods virtual, change FetchFirstMatching to not
10592 duplicate FetchAllMatching code, change both to accept params, fix bug
10593 with Refresh, and add protected PrimaryKeyFor method.
10595 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/IListView.cs: Add non-generic
10598 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCell.cs: Add useful
10599 debugging logging if a specified property doesn't exist.
10601 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
10602 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
10603 Change to use Selection.FocusedIndex.
10605 * src/Libraries/Migo/Migo.mdp:
10606 * src/Libraries/Migo/Makefile.am: New files, only build if
10607 --enable-podcast set.
10609 * src/Libraries/Migo/Migo/Migo.Net/AsyncWebClient.cs: Add a public static
10610 UsreAgent property so we can set it to Banshee.Web.Browser.UserAgent. Get
10611 rid of many try {} catch {} statements to avoid swallowing exceptions.
10613 * src/Libraries/Migo/Migo/Migo.TaskCore/AsyncCommandQueue/AsyncCommandQueue.cs:
10614 * src/Libraries/Migo/Migo/Migo.DownloadCore/DownloadManager.cs:
10615 * src/Libraries/Migo/Migo/Migo.TaskCore/TaskGroup.cs: Fix formatting,
10618 * src/Libraries/Migo/Migo/Migo.DownloadCore/HttpFileDownloadTask.cs: Don't
10619 set the UserAgent here.
10621 * src/Libraries/Migo/Migo/Migo.Syndication/FeedsManager.cs: Separated most
10622 of this code out into FeedManager and EnclosureManager. This class was
10623 trying to be too many things to too many users.
10625 * src/Libraries/Migo/Migo/Migo.Syndication/XmlUtils.cs: Add
10626 GetNamespaceManager method, and GetITunesDuration method.
10628 * src/Libraries/Migo/Migo/Migo.Syndication/FeedItem.cs: Default active to
10629 true, change provider to be a MigoModelProvider, add static Exists (guid)
10630 method, many of fixes.
10632 * src/Libraries/Migo/Migo/Migo.Syndication/FeedEnclosure.cs: Change
10633 provider and inherit from MigoItem, fix up SetFileImpl method, database
10636 * src/Libraries/Migo/Migo/Migo.Syndication/Feed.cs: Inherit from MigoItem,
10637 uset MigoModelProvider, fix up db properties, add method that starts
10638 automatically downloading any new items when appropriate.
10640 * src/Libraries/Migo/Migo/Migo.Syndication/Rfc822DateTime.cs: Fix so
10641 parses some dates it wasn't parsing before.
10643 * src/Libraries/Migo/Migo/Migo.Syndication/OpmlParser.cs: New class, not
10644 at all finished, for parsing OPML files.
10646 * src/Libraries/Migo/Migo/Migo.Syndication/RssParser.cs: Get the image url
10647 from itunes:image first, since it's probably higher quality. Get the
10648 keywords and category properties too. Get the duration for enclosures, if
10651 * src/Libraries/Migo/Migo/Migo.Syndication/MigoModelProvider.cs: A
10652 subclass of SqliteModelProvider with an interesting twist: every item that
10653 is retrieved is cached in a Dictionary indexed by DbId, which allows us to
10654 combine the power of Migo's downloading ability (which wouldn't work if
10655 there were multiple instances of a FeedItem, for example, that all
10656 represented the same actual item/db row, with the power of
10657 SqliteModelProvider for finding items. So you can do
10658 Feed.Provider.FetchAllMatch ("LastDownloadedAt < ?', some datetime) and
10659 be returned the already-instantiated objects.
10661 * src/Libraries/Migo/Migo/Migo.Syndication/FeedUpdateTask.cs: Fixed up.
10663 * src/Libraries/Migo/Migo/Migo.Syndication/EventArgs/FeedItemEventArgs.cs:
10664 Chagned, but I don't think this is used anymore. Should be culled.
10666 * src/Libraries/Migo/Migo/Migo.Syndication/FeedManager.cs:
10667 * src/Libraries/Migo/Migo/Migo.Syndication/EnclosureManager.cs: New
10668 classes taking over for things FeedsManager did before (namely, managing
10669 downloads and firing off events).
10671 * src/Libraries/Migo/Migo/Migo.Syndication/MigoItem.cs: Simple abstract
10672 class that implements ICacheableItem and has an abstract DbId property.
10674 * build/build.environment.mk: Tidy up MIGO deps.
10676 * tests/Makefile.am: Add Migo/XmlTests.
10678 * tests/Migo/XmlTests.cs: Add tests for itunes:duration parsing and
10679 Rfc822DateTime parsing.
10681 * tests/BansheeTests.cs: add TransformPair struct.
10683 2008-05-17 Aaron Bockover <abock@gnome.org>
10685 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs: Added
10686 Genre list population back to the track editor (BGO #533530)
10688 2008-05-17 Aaron Bockover <abock@gnome.org>
10690 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
10691 Bind to a private rating field and call Save in the property setter
10693 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
10694 Add the rating column with the new hot rating cell
10696 2008-05-17 Aaron Bockover <abock@gnome.org>
10698 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/Column.cs: FIxed improper ctor
10699 chain; set Min/MaxWidth if a cell is ISizeRequestCell when packing
10700 by calling GetSize on the cell
10702 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCell.cs: Allow setting
10703 BoundObject on a cell, added a BoundObjectParent that can be used
10704 to track which data item (instead of which data property on an item)
10707 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellCheckBox.cs: Implemented
10708 a check box interactive cell renderer that binds to boolean properties
10710 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellRating.cs: Implemented
10711 a rating cell renderer based on the new rating renderer
10713 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/IInteractiveCell.cs: Interface
10714 for cells that would like to have keyboard/mouse events proxied to them
10716 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ISizeRequestCell.cs: Interface
10717 for cells that actually care about their size and refuse to adapt to
10718 what the view can provide
10720 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
10721 Implemented first pass at cell level interaction - namely through
10722 ProxyEventToCell which currently supports transforming and proxying
10723 Gdk.EventButton and Gdk.EventMotion events from the view to a cell; also
10724 fix a bunch of potential NRE when the model selection is null
10726 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs:
10727 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
10728 Fix a bunch of potential NRE when the model selection is null
10730 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListViewTestModule.cs: Started
10731 a test module for stressing functionality of the ListView
10733 * src/Libraries/Hyena.Gui/Hyena.Gui/RatingRenderer.cs: A new renderer to
10734 do all drawing/logic for things that want to embed a rating
10736 * src/Libraries/Hyena.Gui/Hyena.Widgets/ComplexMenuItem.cs: Moved to
10739 * src/Libraries/Hyena.Gui/Hyena.Widgets/RatingEntry.cs: Moved to
10740 Hyena.Widgets and largely rewritten to use the new RatingRenderer
10742 * src/Libraries/Hyena.Gui/Hyena.Widgets/RatingMenuItem.cs: Moved to
10743 Hyena.Widgets and do not call into the EventBox rendering hack since the
10744 RatingEntry no longer derives from EventBox
10746 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs:
10747 * src/Core/Banshee.ThickClient/Banshee.Query.Gui/RatingQueryValueEntry.cs:
10748 * src/Core/Banshee.Widgets/Banshee.Widgets/CustomActionProxy.cs:
10749 * src/Core/Banshee.Widgets/Banshee.Widgets/RatingActionProxy.cs:
10750 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
10751 Updated to reflect the move of Rating stuff to Hyena.Gui
10753 2008-05-17 Aaron Bockover <abock@gnome.org>
10755 * src/Libraries/Hyena/Hyena.Collections/RangeCollection.cs: Made the
10756 indexer code more sexy so it doesn't look like I wrote it at 4:30 in
10757 the morning, ensure that negative indexes throw IOORE
10759 * tests/Hyena/RangeCollectionTests.cs: Added an indexer stress test and
10760 some extra specific tests for ensuring IndexOutOfRange is thrown when
10763 2008-05-17 Aaron Bockover <abock@gnome.org>
10765 * src/Libraries/Hyena/Hyena.Collections/RangeCollection.cs: Fixed the
10766 horribly broken indexer that looked like a late night copy and paste of
10767 the IndexOf logic but never worked - we don't use it, so it's never been
10768 a problem, but the unit test had always complained - yay tests
10770 * tests/Hyena/RangeCollectionTests.cs: Improved test for the indexer
10772 2008-05-17 Aaron Bockover <abock@gnome.org>
10774 Patch from Bertrand Lorentz (BGO #533099)
10776 * src/Libraries/Hyena/Hyena.Collections/RangeCollection.cs: Fix a
10777 dyslexia bug in the NET_1_1 version of the array resize code
10779 * build/build.rules.mk: Define NET_2_0 on the build so we end up
10780 using the better version of RangeCollection - whoops
10782 * tests/Hyena/RangeCollectionTests.cs: Added test to check for the
10783 NET_1_1 array resize bug fixed above
10785 2008-05-14 Aaron Bockover <abock@gnome.org>
10787 * src/Core/Banshee.Core/Banshee.Base/FileNamePattern.cs: Added %year%
10790 2008-05-14 Aaron Bockover <abock@gnome.org>
10792 * src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs: Defined
10793 a column controller for video sources
10795 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellPlaybackIndicator.cs:
10796 Added the proper ctor
10798 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
10799 Made the default column properties instance properties since they can
10800 now be modified and should not be global
10802 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
10803 If a source has an XML column controller definition but not a column
10804 controller object, load the object from the XML and persist/use it
10806 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/XmlColumnController.cs:
10807 A new column controller that extends the default controller and allows
10808 new columns to be fully defined, existing ones to be modified or removed
10810 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/SortableColumn.cs: Allow SortKey
10813 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceComboBox.cs:
10814 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
10815 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
10816 Use a common cell layout data handler delegate
10818 2008-05-13 Aaron Bockover <abock@gnome.org>
10820 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
10821 Implemented a proper default column controller with the columns as static
10822 properties so derived implementations don't have to redefine common columns
10824 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
10825 Use the new DefaultColumnController; check the active source (walking
10826 up to the root parent) for a column controller to use instead of the
10827 default; if none found, use the default
10829 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmColumnController.cs:
10830 Implement a custom column controller for Last.fm derived
10832 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
10833 Set LastfmColumnController on the source
10835 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs:
10836 Make SetModel virtual
10838 * data/audio-profiles/wavpack.xml.in: Small fix to the pipeline
10840 * src/Core/Banshee.Core/Resources/contributors.xml: Added the Andy
10842 2008-05-12 Gabriel Burt <gabriel.burt@gmail.com>
10844 * src/Core/Banshee.Core/Banshee.Streaming/SaveTrackMetadataJob.cs: Patch
10845 from Nicholas Parker working around bug in TagLib# where setting the genre
10846 to string [] {null} would crash.
10848 * tests/Banshee.Core/TaglibReadWriteTests.cs: Unit test for above fix.
10850 2008-05-09 Aaron Bockover <abock@gnome.org>
10852 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceComboBox.cs:
10853 Set ParentWidget on the renderer to self
10855 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
10856 Fixed small selection rendering regression and fix the state calculation
10857 for when the widget is a combo box and is prelit but not showing the menu
10859 2008-05-09 Aaron Bockover <abock@gnome.org>
10861 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceComboBox.cs:
10862 Moved from MiniMode; use the new SourceModel and use the SourceRowRenderer
10864 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs: Pulled
10865 out model specific code from SourceView into a new TreeModel subclass
10866 that SourceView and SourceComboBox can use
10868 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
10869 Implemented proper CellRendererState -> StateType mapping so the renderer
10870 works properly inside other widgets (i.e. GtkComboBox); add some default
10871 sizing for non TreeView widgets
10873 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
10874 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
10875 Fixed up to use the new SourceModel
10877 * src/Extensions/Banshee.MiniMode/Banshee.MiniMode/MiniModeWindow.cs:
10878 Fixed up to use the new SourceComboBox
10880 2008-05-09 Gabriel Burt <gabriel.burt@gmail.com>
10882 This commit greatly improves performance when editing/saving track
10883 information and on each track transition by avoiding many unnecessary
10886 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs: Improve
10889 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs:
10890 Avoid changing to 'Idle' when transitioning between songs, and avoid
10891 jumpiness by not setting the duration until the first Iteration event.
10892 Makes things much smoother.
10894 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs: Fix the
10895 horrible save performance by avoiding reloading until after having saved
10896 all the tracks, instead of after each one. Fix whitespace.
10898 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Change
10899 OnTracksChanged to take an array of QueryFields that were modified. Add
10900 protected InvalidateCaches method used to clear the managed cache for the
10901 track/artist/album model, but not reload it (eg the display data has
10902 changed, but sort order/contents have not).
10904 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Change
10905 TracksChanged to QueryField array.
10907 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs:
10908 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs:
10909 Remove ClearCache method, and add InvalidateCache method.
10911 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
10912 Specify which fields are updated in the IncrementPlay/SkipCount methods to
10913 allow sources to optimize whether they need to reload b/c of the change.
10915 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
10916 Add InvalidateCache method, and expose the currently parsed QueryNode, if
10919 * src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseTrackModelCache.cs:
10920 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs:
10921 Add ClearManagedCache method.
10923 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
10924 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
10925 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
10926 In TrackChanged handler, only Reload if we are actually affected by the
10927 change - so if the change was play count, and we're not sorted by it,
10928 querying on it, or if we're a smart playlist, defined by it, then just
10931 * src/Libraries/Hyena/Hyena.Query/QueryOrder.cs:
10932 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Associate a
10933 QueryField with QueryOrders.
10935 * src/Core/Banshee.Widgets/Banshee.Widgets/StreamPositionLabel.cs: Avoid
10936 updating twice as often as needed. Use String.Format instead of +.
10938 * src/Libraries/Hyena/Hyena.Query/QueryNode.cs: Add GetTerms and GetFields
10939 convenience methods.
10941 2008-05-08 Gabriel Burt <gabriel.burt@gmail.com>
10943 * src/Libraries/Hyena.Gui/Hyena.Widgets/SmoothScrolledWindow.cs: Increase
10944 both accel and decel, and fix bug where things would bounce back and
10945 forth, overshooting the target.
10947 2008-05-08 Gabriel Burt <gabriel.burt@gmail.com>
10949 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Fix
10950 issue with parent source not getting expanded when it should. MTP and
10951 iPod sources should autoexpand properly now.
10953 2008-05-08 Gabriel Burt <gabriel.burt@gmail.com>
10955 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Fix bug with
10956 updating/removing the album when removing a track.
10958 2008-05-08 Gabriel Burt <gabriel.burt@gmail.com>
10960 * src/Libraries/Mtp/Mtp/MtpDevice.cs: Add mimetype for .m4a files.
10962 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
10964 * src/Libraries/Hyena.Gui/Makefile.am: Dist and install
10965 Hyena.Gui.dll.config.
10967 2008-05-07 Gabriel Burt <gabriel.burt@gmail.com>
10969 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdService.cs: Add
10970 AutoRip and EjectAfterRipped schemas and preferences. Fix the mnemonic
10971 for the profile chooser.
10973 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs: If
10974 AutoRip is true, start ripping when the CD is loaded (assuming it's not
10975 already in the library). When a CD is done importing, eject if
10976 EjectAfterRipped is true.
10978 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs: Add a
10981 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/WidgetFactory.cs:
10982 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/SectionBox.cs:
10983 * src/Core/Banshee.Services/Banshee.Preferences/Root.cs: Add a
10984 optional MnemonicWidget property. If not set, returns the DisplayWidget,
10985 otherwise can be used to override the mnemonic widget.
10987 * src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileComboBoxConfigurable.cs:
10988 Always SetDescription, so even if a user doesn't yet have a preference,
10989 the description shows the currently selected option.
10991 * build/m4/banshee/dap-mtp.m4:
10992 * build/m4/banshee/dap-ipod.m4:
10993 * configure.ac: Make iPod and MTP support the default, such that if you
10994 don't have ipod-sharp or libmtp, you will get a configure error unless you
10995 pass --disable-ipod/mtp. Should help clarify what we view a default
10996 Banshee install to include.
10998 2008-05-06 Aaron Bockover <abock@gnome.org>
11000 Banshee 1.0 Beta 1 (0.99.1) Released
11002 2008-05-06 Aaron Bockover <abock@gnome.org>
11005 * src/Dap/Banshee.Dap.Ipod/Makefile.am:
11006 * src/Extensions/Banshee.BooScript/Makefile.am:
11007 * src/Extensions/Banshee.MiniMode/Makefile.am: Fixed last build issues
11009 2008-05-06 Gabriel Burt <gabriel.burt@gmail.com>
11011 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
11012 Fix bug with play queue getting recreated each time. Ugh.
11014 2008-05-06 Aaron Bockover <abock@gnome.org>
11016 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs:
11017 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastCore.cs:
11020 2008-05-06 Gabriel Burt <gabriel.burt@gmail.com>
11022 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
11023 * src/Extensions/Banshee.NotificationArea/Resources/NotificationAreaMenu.xml:
11024 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Put
11025 the Next action above the Previous action.
11027 2008-05-06 Aaron Bockover <abock@gnome.org>
11029 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Make the
11030 progress notification for iPod syncing much better
11032 2008-05-06 Gabriel Burt <gabriel.burt@gmail.com>
11034 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
11035 Parse the .is_audio_player file, except not setting the output formats
11036 yet. Install some dap properties.
11038 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Add DapProperties property
11039 that the Dap dialog shows.
11041 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapPropertiesDialog.cs: Show the
11044 * src/Backends/Banshee.Hal/Banshee.HalBackend/Device.cs: Cache the uuid.
11046 * src/Backends/Banshee.Hal/Banshee.HalBackend/Volume.cs: Catch property
11047 exception for volume that was suddenly removed.
11049 2008-05-06 Gabriel Burt <gabriel.burt@gmail.com>
11051 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Fix a bug where we
11052 attempted to transcode video files. We don't support that yet.
11054 2008-05-06 Gabriel Burt <gabriel.burt@gmail.com>
11056 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
11057 Fix bug just introduced with mass storage support via .is_a_p files.
11059 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Get rid of silly non-DAP
11060 fallbacks for generic name and icons.
11062 2008-05-06 Gabriel Burt <gabriel.burt@gmail.com>
11064 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
11065 Ignore iPods unless they have a .is_audio_player file.
11067 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Remove
11068 unnecessary override and OnTracksAdded call.
11070 2008-05-06 Aaron Bockover <abock@gnome.org>
11072 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Revert CanPlay
11073 to not be smart with playback errors; it's probably best if the engine
11074 just be allowed to try whenever a track is requested to play
11076 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
11077 Consolidated Open and OpenPlay logic into a single method to eliminate
11080 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Implemented
11081 track remove support
11083 2008-05-06 Gabriel Burt <gabriel.burt@gmail.com>
11085 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
11088 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Fix bug that caused mass
11089 storage DAPs to be ignored.
11091 2008-05-06 Gabriel Burt <gabriel.burt@gmail.com>
11093 * src/Backends/Banshee.Hal/Banshee.HalBackend/Volume.cs: Catch exceptions
11094 while trying to identify a HAL device as a volume. Should fix BGO
11097 2008-05-06 Gabriel Burt <gabriel.burt@gmail.com>
11099 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
11100 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
11101 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Make SetStatus and
11102 HideStatus methods public.
11104 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Move loading of
11105 tracks into LoadFromDevice method.
11107 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Override SetStatus and
11108 HideStatus methods to set it on the parent source and all of our children.
11110 2008-05-06 Gabriel Burt <gabriel.burt@gmail.com>
11112 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs: Don't delay add and
11113 delete user jobs, since removable devices are slow and we might as well
11114 show the progress bars asap.
11116 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Make sure the device
11117 mapping doesn't happen on the main thread. Aaron will love this. MTP's
11118 DeviceInitialize method can be very slow (10+ seconds) and we definitely
11119 shouldn't block the ui for it.
11121 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Make sure
11122 adding files to a primary source happens not on the main thread. Add
11123 protected properties for deciding whether to delay the add/delete jobs.
11125 2008-05-06 Gabriel Burt <gabriel.burt@gmail.com>
11127 * src/Libraries/Mtp/Mtp/Album.cs: Be more careful with native code.
11129 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
11132 2008-05-05 Gabriel Burt <gabriel.burt@gmail.com>
11134 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/AlbumSet.cs:
11135 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpDap.cs: Removed old files.
11137 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Add and remove
11138 album art as needed when adding/removing files.
11140 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
11141 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
11142 Move DeleteSelectedTracks handler to Abstract class so is inherited by
11143 SmartPlaylistSource too.
11145 * src/Libraries/Mtp/Mtp/Album.cs: Add public GetById method.
11147 * src/Libraries/Mtp/Mtp/MtpDevice.cs: Add FileType to mimetype method.
11149 2008-05-05 Aaron Bockover <abock@gnome.org>
11151 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs:
11152 Implement the new iPod syncing model - it's mostly done, but still some
11153 glitches that need to be addressed
11155 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodTrackInfo.cs: Implemented
11156 full two way copy of database tracks to iPod tracks and back again -
11157 track media attributes are preserved in both directions, so this allows
11158 for video syncing - yes, I said video syncing. You can now use Banshee
11159 to manage videos on your iPod. Epic. Stop using iPods though, they suck.
11160 Buy an MTP device, save a seal, vote Obama.
11162 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
11163 Removed the thread stuff which needs to be moved to DapSource (not done,
11164 so don't tell Gabe)
11166 2008-05-05 Gabriel Burt <gabriel.burt@gmail.com>
11168 * src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs: Move
11169 favorites before unwatched.
11171 * src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs: Moved
11172 Unhear to defaults, and Unrated to predefined. Added Recently Added.
11174 * NEWS: Some updates for the upcoming release.
11176 2008-05-05 Gabriel Burt <gabriel.burt@gmail.com>
11178 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellPlaybackIndicator.cs:
11179 Be more defensive with checking for null/cast errors.
11181 2008-05-05 Gabriel Burt <gabriel.burt@gmail.com>
11183 * src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs: Heh,
11184 whoops, unwatched should be plays=0 not plays=4.
11186 2008-05-05 Gabriel Burt <gabriel.burt@gmail.com>
11188 * src/Core/Banshee.ThickClient/Banshee.Query.Gui/PlaylistQueryValueEntry.cs:
11189 * src/Core/Banshee.ThickClient/Banshee.Query.Gui/SmartPlaylistQueryValueEntry.cs:
11190 Better handle there not being any playlists or smart playlists.
11192 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs: Fix
11193 loading a predefined playlist into the editor.
11195 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: If the user
11196 has no smart playlists and we've never done this before, create the
11197 default smart playlists for a primary source.
11199 * src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs: Define
11200 some default smart playlists.
11202 * src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs: Tweak a
11203 default smart playlist.
11205 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/QueryTermBox.cs: Fix bug with
11206 not setting the value of the editor entry to the value of the saved smart
11209 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/QueryTermsBox.cs: When setting
11210 the QueryNode condition tree, clear out any old conditions that may be
11211 in the editor already.
11213 2008-05-05 Aaron Bockover <abock@gnome.org>
11215 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Moved the smart playlist
11216 purging to a separate method
11218 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Load
11219 the DbId when it is first requested
11221 2008-05-05 Gabriel Burt <gabriel.burt@gmail.com>
11223 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
11225 2008-05-05 Gabriel Burt <gabriel.burt@gmail.com>
11227 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs: Fix
11230 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
11231 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
11232 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Get rid of
11233 IDisposable in DatabaseSource, reflect changes in subclasses.
11235 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: When the
11236 SourceManager is being disposed, recursively dispose any extension
11237 sources. Also dispose them when their extension goes away. Do not
11238 dispose other sources; leave that to whoever created them.
11240 * src/Core/Banshee.Core/Banshee.Streaming/SaveTrackMetadataJob.cs: Remove
11243 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs: Add public
11244 static LogAll property that can be enabled/disabled at run time to turn on
11245 logging/timing for every single SQL command.
11247 * tests/ConsoleUi.cs: Modified to not use a separate test AppDomain,
11248 allowing us to fully load Banshee from within a unit test.
11250 * tests/Banshee.ThickClient/GuiTests.cs: Still commented out, some tweaks
11253 * tests/Makefile.am: Put the assemblies into DIR_BIN, and run from there;
11254 simplifies the MONO_PATH and mono.addins business when running tests.
11256 * tests/Banshee.Core/TaglibReadWriteTests.cs: Update paths.
11258 * tests/BansheeTests.cs: Tweaks to the StartBanshee stuff, not used yet.
11260 2008-05-05 Aaron Bockover <abock@gnome.org>
11262 * src/Libraries/Hyena.Gui/Hyena.Widgets/SegmentedBar.cs: Added a
11263 ShowReflection property to enable/disable the reflection
11265 2008-05-05 Aaron Bockover <abock@gnome.org>
11267 * src/Libraries/Hyena.Gui/Hyena.Widgets/SegmentedBar.cs: Minor fixes
11269 2008-05-04 Aaron Bockover <abock@gnome.org>
11271 * src/Libraries/Hyena.Gui/Hyena.Widgets/SegmentedBar.cs: Added a spin
11272 entry to change the height for testing; queue a resize when the bar
11275 2008-05-04 Aaron Bockover <abock@gnome.org>
11277 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs: Only
11278 update the progress if it hasn't changed and if we're already pulsing
11281 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs: Show
11282 the number of files walked while building the total count so it doesn't
11283 look like we might have frozen while walking a huge directory tree
11285 * src/Libraries/Hyena.Gui/Hyena.Gui/CairoExtensions.cs: Added some
11286 Rgb uint->cairo color utility functions, make ColorShade preserve alpha
11288 * src/Libraries/Hyena.Gui/Hyena.Widgets/SegmentedBar.cs: Started working
11289 on a hot disk usage bar for DAP; very incomplete - run 'make hg' to see
11291 2008-05-04 Aaron Bockover <abock@gnome.org>
11293 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
11294 Added error handling so that no more than 20 attempts will be made to
11295 play from the active source if those attempts result in an error
11297 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
11298 Bind to the PlaybackError property to the LastStreamError column so any
11299 errors (missing codec, resource not found, etc.) are persisted in the
11302 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
11303 Added a migration for adding the new LastStreamError column on CoreTracks
11305 * src/Core/Banshee.Services/Banshee.MediaEngine/NullPlayerEngine.cs:
11306 Updated to reflect API changes in the base class
11308 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEvent.cs: Added
11311 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngine.cs:
11312 Make Play/Pause abstract instead of virtual; do not set any event or
11313 state in Open and make the underlying engine responsible for these
11315 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
11316 Changed the definition of IsPlaying to mean the engine is in one of
11317 playing, paused, or loaded states
11319 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: made CanPlay
11320 return the set value and whether or not there is a playback error set
11322 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
11323 Set the engine states based on state transitions from GStreamer proper
11324 instead of synthesizing so many based on API
11326 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellPlaybackIndicator.cs:
11327 Indicate an error if one is set on the track
11329 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
11330 Updated to act on proper engine state
11332 * libbanshee/banshee-player.c:
11333 * libbanshee/banshee-player-pipeline.c:
11334 * libbanshee/banshee-player-missing-elements.c: Add some playbin checks
11335 to prevent warning messages from being spewed when playbin is torn down
11336 in some cases, particularly when there is a pipeline error
11338 2008-05-02 Gabriel Burt <gabriel.burt@gmail.com>
11340 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Save the
11341 cached count after every reload.
11343 2008-05-02 Aaron Bockover <abock@gnome.org>
11345 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
11346 Set the sensitive property on the cell context
11348 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Render
11349 insensitive rows by changing the normal text color's alpha
11351 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/CellContext.cs: Added a
11352 Sensitive property since Gtk.StateType sucks and we care to preserve
11353 the selection state for insensitive rows
11355 2008-05-02 Gabriel Burt <gabriel.burt@gmail.com>
11357 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs: Set
11358 Love/Hate as Important so text shows up; accidentally removed.
11360 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs: Get
11361 the list of predefined smart playlists from the PrimarySource. Show the
11362 SmartPlaylistDescription to make a prettier, more informative TreeView of
11363 predefined options.
11365 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Add
11366 Default/NonDefault/PredefinedSmartPlaylist properties.
11368 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Remove
11369 unnecessary ConfigurationClient.Initialize ().
11371 * src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs:
11372 Override the SmartPlaylist properties.
11374 * src/Core/Banshee.Services/Makefile.am:
11375 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistDefinition.cs:
11376 New struct that holds the definition of a smart playlist (and a
11377 description), and that has a method for producing a SmartPlaylistSource
11380 * src/Core/Banshee.Core/Banshee.Configuration/ConfigurationClient.cs: Do
11381 not require Initialization call, instead do it implicitly/lazily.
11383 * src/Core/Banshee.Core/Banshee.Base/Paths.cs: Use GetExecutingAsembly
11384 intead of GetEntryAssembly in attempt to get Nereid-within-unit-test
11387 * src/Libraries/Hyena/Hyena.CommandLine/CommandLineParser.cs: Allow
11388 programatically setting a command line option's value.
11390 * build/build.environment.mk: Add LINK/DEPS vars for Nereid so unit tests
11391 can link against it.
11393 * tests/Hyena/RangeCollectionTests.cs:
11394 * tests/Hyena/DbBoundType.cs:
11395 * tests/Hyena/SqliteModelProviderTests.cs:
11396 * tests/Hyena/CryptoUtilTests.cs:
11397 * tests/Hyena/SqliteCommandTests.cs:
11398 * tests/Hyena/StringUtilTests.cs:
11399 * tests/Banshee.Services/PlaylistFormatTests.cs:
11400 * tests/Banshee.Core/FileNamePatternTests.cs:
11401 * tests/Banshee.Core/KernelTests.cs:
11402 * tests/Hyena/SelectionTests.cs: Add copyright information.
11404 * tests/Hyena/QueryTests.cs: Subclass from BansheeTests, and move the
11405 AssertForEach to it.
11407 * tests/Hyena/BansheeTests.cs: New abstract class that provides
11408 AssertForEach method, and some new methods for progamatically starting
11409 Banshee (currently unused, not working).
11411 * tests/Banshee.ThickClient/GuiTests.cs: New class for testing starting
11412 banshee from unit test. Currently commented out.
11414 * tests/Banshee.Services/SmartPlaylistTests.cs: New tests to ensure all
11415 predefined smart playlists can be created successfully. Currently
11418 * tests/Makefile.am: Add new test classes.
11420 * tests/Banshee.Core/TaglibReadWriteTests.cs: Subclass from BansheeTests
11421 and move some static initialization there.
11423 2008-05-02 Gabriel Burt <gabriel.burt@gmail.com>
11425 * src/Libraries/Hyena/Hyena.Query/QueryField.cs: Fix bug with queries on
11426 fields that have a custom 'column' (eg maybe they search two different
11427 columns at once, like MimeTypeField does) not having necessary parenthesis
11430 2008-05-02 Aaron Bockover <abock@gnome.org>
11432 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/GtkTheme.cs: Explicitly
11433 destroy gradient patterns and tweak the selection gradient a bit
11435 2008-05-02 Aaron Bockover <abock@gnome.org>
11437 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
11438 Use ColumnCellPositiveInt to show the year so 0 will show as empty
11440 2008-05-02 Aaron Bockover <abock@gnome.org>
11442 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs:
11443 Do all layout rendering directly to Cairo, not through GTK
11445 2008-05-02 Gabriel Burt <gabriel.burt@gmail.com>
11447 * tests/Hyena/SqliteCommandTests.cs: Update to not use ApplyValues; fix
11450 2008-05-02 Gabriel Burt <gabriel.burt@gmail.com>
11452 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs: Set
11453 SourceManager.Dispose property to true so that the SourceManager knows to
11454 Dispose us, even though we're an extension source.
11456 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
11457 Listen to the PlaybackController.SourceChanged event, and disable
11458 shuffle/repeat when switching to a StationSource, and restore when
11459 switching away and Disposing (so that the original state is not
11460 overwritten in gconf). Fixes BGO #526033.
11462 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
11463 Fix silly bug that caused the playback source to switch to the Music
11464 Library erroneously.
11466 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
11467 Load the tracks in the LoadFromDevice method, and turn threading off on
11468 the importer since LoadFromDevice is already called from a thread.
11470 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Comment out
11471 ImportPlaylist stuff that's not done.
11473 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackShuffleActions.cs:
11474 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackRepeatActions.cs: Add
11475 Sensitive override that triggers the Changed event.
11477 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/RepeatActionButton.cs:
11478 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/NextButton.cs:
11479 Set the sensitivity of the button to the ActionGroup's sensitivity.
11481 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Fix bug
11482 where we had a SqliteModelProvider created for every DatabaseSource
11483 instead of sharing one.
11485 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Dispose
11486 extension sources that have the property SourceManager.Dispose == true.
11488 * tests/Hyena/QueryTests.cs:
11489 * src/Libraries/Hyena/Hyena.Query/FileSizeQueryValue.cs:
11490 * src/Libraries/Hyena/Hyena.Query/TimeSpanQueryValue.cs:
11491 * src/Core/Banshee.Services/Banshee.Sources/DurationStatusFormatters.cs:
11492 * src/Libraries/Hyena/Hyena/StringUtil.cs:
11493 Renamed FormatDouble to DoubleToTenthsPrecision. Also changed it to use
11494 Math.Round and fixed bug where 14.96 would show up as 15.0 instead of 15.
11495 Also changed it to use the N string formatter, which causes separators to
11498 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Remove
11499 superflous assignment.
11501 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs: Add a
11502 Threaded bool property, and if false don't use the ThreadPool.
11504 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
11505 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
11506 * src/Core/Banshee.Services/Banshee.Configuration/DatabaseConfigurationClient.cs:
11507 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs:
11508 Do not explicitly call ApplyValues, but pass the values in the Query or
11509 Execute method calls.
11511 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
11512 Comment out use of transactions for now; were causing deadlock;
11514 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs: Comment
11515 out unfinished playlist import code.
11517 * tests/Hyena/StringUtilTests.cs: Add tests for DoubleToTenthsPrecision
11518 and DoubleToPluralInt methods.
11520 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs: Make
11521 ApplyValues an internal method, accessibly implicitly by passing params to
11522 the Query or Execute methods.
11524 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Lock the
11525 command before calling ApplyValues. Comment out the transaction methods,
11526 since they can cause deadlock.
11528 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs: Better logging.
11530 * src/Libraries/Hyena.Gui/Hyena.Widgets/MenuButton.cs: Rename member,
11531 add protected Arrow and ToggleButton properties so that their sensitivity
11532 can be changed, etc.
11534 2008-05-02 Aaron Bockover <abock@gnome.org>
11536 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
11537 New event system for raising handlers based on a desired event mask;
11538 handler masks can be modified, handlers can be removed, and handlers
11539 can be prepended or appended to the event handler list
11541 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEvent.cs: New
11542 player event definitions and argument classes
11544 * src/Core/Banshee.Services/Banshee.MediaEngine/IPlayerEngineService.cs:
11545 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngine.cs:
11546 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
11547 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/GtkNotificationAreaBox.cs:
11548 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
11549 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/INotificationAreaBox.cs:
11550 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationAreaBox.cs:
11551 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
11552 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
11553 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
11554 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs:
11555 * src/Extensions/Banshee.Bookmarks/Banshee.Bookmarks/BookmarksService.cs:
11556 * src/Extensions/Banshee.MiniMode/Banshee.MiniMode/MiniModeWindow.cs:
11557 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
11558 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
11559 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
11560 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellPlaybackIndicator.cs:
11561 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/AlbumListView.cs:
11562 * src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs:
11563 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs:
11564 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs:
11565 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedVolumeButton.cs:
11566 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
11567 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
11568 Updated to use the new player events API
11570 2008-05-01 Gabriel Burt <gabriel.burt@gmail.com>
11572 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtistListView.cs:
11573 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/AlbumListView.cs:
11574 * src/Extensions/Banshee.MiniMode/Banshee.MiniMode/SourceComboBox.cs:
11575 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
11576 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
11577 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
11578 Use NextSource instead of Source.
11580 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue.mdp: Updated.
11582 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
11583 Change to the play queue on the next transition after adding items to it.
11586 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Clean up method.
11588 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Override ToString = Name
11590 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
11591 Add NextSource property, which you can set to change the source on the
11594 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
11595 Add IsPlaying () convenience method.
11597 2008-05-01 Gabriel Burt <gabriel.burt@gmail.com>
11599 * src/Libraries/Migo/*: Move some files up into their namespace folder.
11601 2008-05-01 Gabriel Burt <gabriel.burt@gmail.com>
11603 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellDuration.cs:
11604 Fancy rounding commented out since it's not consistent with what is done
11605 in libbanshee. Fixes BGO #520648.
11607 2008-05-01 Gabriel Burt <gabriel.burt@gmail.com>
11609 * build/m4/banshee/dap-mtp.m4:
11610 * configure.ac: Enable MTP support by default (if libmtp is available).
11612 2008-05-01 Gabriel Burt <gabriel.burt@gmail.com>
11614 * build/build.environment.mk:
11616 * src/Extensions/Banshee.MiniMode/Banshee.MiniMode.addin.xml:
11617 * src/Extensions/Banshee.MiniMode/Banshee.MiniMode.mdp:
11618 * src/Extensions/Banshee.MiniMode/Banshee.MiniMode/MiniModeService.cs:
11619 * src/Extensions/Banshee.MiniMode/Banshee.MiniMode/MiniModeWindow.cs:
11620 * src/Extensions/Banshee.MiniMode/Banshee.MiniMode/SourceComboBox.cs:
11621 * src/Extensions/Banshee.MiniMode/Banshee.MiniMode/SourceModel.cs:
11622 * src/Extensions/Banshee.MiniMode/Makefile.am:
11623 * src/Extensions/Banshee.MiniMode/Resources/minimode.glade:
11624 * src/Extensions/Extensions.mds:
11625 * src/Extensions/Makefile.am: Patch from Bertrand Lorentz porting mini
11626 mode from stable, fixes BGO #527412. The extension is built by default,
11627 but must be enabled in the Preferences dialog.
11629 2008-04-30 Aaron Bockover <abock@gnome.org>
11631 * build/m4/banshee/boo.m4: Require Boo 0.8.1
11633 * src/Extensions/Banshee.BooScript/Makefile.am: Do not try to build if
11634 we don't actually have the Boo requirement met
11636 * src/Extensions/Banshee.BooScript/Resources/duration-status-formats.boo:
11639 2008-04-30 Aaron Bockover <abock@gnome.org>
11641 * build/build.environment.mk:
11642 * build/m4/banshee/boo.m4:
11643 * configure.ac: Build stuff for the BooScript extension
11645 * src/Core/Banshee.Core/Banshee.Base/Paths.cs: Added GetTempFileName
11647 * src/Core/Banshee.Services/Banshee.MediaEngine/TranscoderService.cs:
11648 Use the new Paths.GetTempFileName
11650 * src/Core/Banshee.Services/Banshee.Sources/DurationStatusFormatters.cs:
11651 Created a new collection that holds formatter handlers and add our
11652 default formatters; this allows scripts and extensions can add their own
11654 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Move the default
11655 duration formatters into DurationStatusFormatters and create a static
11656 instance of that collection to use for sources
11658 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodTrackInfo.cs:
11659 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Small progress
11660 on syncing, not much
11662 * src/Libraries/Hyena/Hyena.CommandLine/CommandLineParser.cs: Require
11663 arguments taking value to have the --arg=value form on the command line
11664 and treat all non -- starting arguments as 'files'
11666 * src/Extensions/Banshee.BooScript/Banshee.BooScript.addin.xml:
11667 * src/Extensions/Banshee.BooScript/Banshee.BooScript/BooScriptService.cs:
11668 Ported the Boo scripting support from old Banshee
11670 * src/Extensions/Banshee.BooScript/Resources/duration-status-formats.boo:
11671 * src/Extensions/Banshee.BooScript/Resources/filename-transform.boo:
11672 The first two Boo scripts that work on the new Banshee
11674 2008-04-30 Gabriel Burt <gabriel.burt@gmail.com>
11676 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Reload the music and video
11677 child sources after creating them, since Reloads don't happen
11678 automatically any more.
11680 2008-04-30 Gabriel Burt <gabriel.burt@gmail.com>
11682 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
11683 Don't begin/commit a transaction or run InnerMigrate if the version is
11684 current. Use Hyena.Log instead of WriteLines.
11686 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Got rid
11689 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Add
11690 better logging for when a required service fails to start.
11692 * src/Core/Banshee.Services/Banshee.SmartPlaylist/Migrator.cs:
11694 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Dispose all
11695 non-extension sources and their children, but don't dispose extension
11698 * src/Extensions/Banshee.PlayQueue/Makefile.am:
11699 * src/Extensions/Banshee.PlayQueue/Resources/Banshee.PlayQueue.addin.xml:
11700 Move addin.xml file up from Resources
11702 * src/Libraries/Hyena/Hyena/Log.cs: Make showUser default to false
11705 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs:
11706 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs:
11707 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs:
11708 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
11709 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
11710 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
11711 Explicitly set showUser = true.
11713 2008-04-30 Gabriel Burt <gabriel.burt@gmail.com>
11715 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Add a
11716 ClientStarted event, which is raised for clients that are already started
11719 * src/Core/Banshee.Services/Banshee.ServiceStack/Client.cs: Add a
11720 IsStarted property, and change the Started event to use a Action<> handler.
11722 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
11723 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Use
11724 new Application.ClientStarted event, and handle in method, not anonymous
11727 2008-04-29 Gabriel Burt <gabriel.burt@gmail.com>
11729 * src/Backends/Banshee.Unix/Banshee.IO.Unix/Directory.cs: Comment style.
11731 * src/Core/Banshee.Services/Banshee.ServiceStack/Client.cs:
11732 * src/Clients/Nereid/Nereid/Client.cs: Use Log.InformationFormat instead of
11733 Log.Information (String.Format
11735 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs: Add a
11738 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
11739 Get rid of unnecessary thread, and move reload all from anonymous delegate
11742 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
11743 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
11744 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Make OnUserNotifyUpdated
11745 protected and add public NotifyUser method.
11747 2008-04-29 Gabriel Burt <gabriel.burt@gmail.com>
11749 Prior to this commit, all sources (playlists, etc) were reloaded on
11750 startup, meaning startup got slower and slower the more playlists you had.
11751 This is no longer the case, playlists are reloaded the first time you
11752 activate (select) them.
11754 * src/Clients/Nereid/Nereid/Client.cs: Add information line at start of
11755 Main, useful to get more accurate startup timing.
11757 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
11758 Add columns for SavedCount to CorePrimarySources etc. Trigger all the
11759 sources to reload when the client is started up, just one more time, to
11760 bootstrap the SavedCount.
11762 * src/Core/Banshee.Services/Banshee.ServiceStack/Client.cs: Log when the
11763 client has fully started up.
11765 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
11766 Save is now an override, and got rid of NotifyUpdated since not needed now
11767 that Source.OnUserNotifyUpdated is public.
11769 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
11770 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
11771 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
11772 Load and save SavedCount.
11774 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Add a
11775 SavedCount protected property, used to be able to show a count in the
11776 source list on startup without having to query every soure. Implement
11777 IDisposable, and Save the source when disposed. Also, implement default
11778 Activate method that checks if the source has been reloaded this session,
11779 and reloads it if not.
11781 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Make sure
11782 all sources are Disposed (if : IDisposable) when removed, including child
11785 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
11786 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Make
11787 OnUserNotifyUpdated method public, and use it in SourceActions.
11789 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Call OnUserNotifyUpdated
11790 on new DapSources so they pulse in the source list.
11792 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
11793 Chain Dispose calls.
11795 2008-04-29 Aaron Bockover <abock@gnome.org>
11797 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedImage.cs: Do not chain
11798 SizeAllocated if the allocation doesn't actuall change - not sure why
11799 GtkImage raises this when the image changes even if the dimensions are
11802 2008-04-29 Gabriel Burt <gabriel.burt@gmail.com>
11804 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs:
11805 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
11806 Get media capabilities from the volume's parent (the block device).
11808 2008-04-29 Gabriel Burt <gabriel.burt@gmail.com>
11810 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Add
11813 * src/Core/Banshee.Services/Makefile.am:
11814 * src/Core/Banshee.Services/Banshee.ServiceStack/IDelayedInitializeService.cs:
11815 New interface for services that shouldn't be started until there is at
11816 least one Client that has started. In practice, means DapService doesn't
11817 scan and load DAPs until after the GTK client is fully loaded.
11819 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: When
11820 at least one client is started, call DelayedInitialize on
11821 IDelayedInitializeServices.
11823 * src/Core/Banshee.Services/Banshee.ServiceStack/Client.cs:
11824 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs: Add Started
11825 event and call it when appropriate.
11827 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Implement
11828 IDelayedInitializeService.
11830 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedMessageBar.cs:
11831 Remove bandaid fix for AnimatedImage since abock has committed the real
11834 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Remove self from
11835 SourceManager within Dispose, so MTP source actually disappears when
11838 2008-04-29 Aaron Bockover <abock@gnome.org>
11840 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedImage.cs: When hidden,
11841 preserve the active state and pause the stage to prevent iterations and
11842 restore the active state/resume the stage (if active); the more correct
11843 fix for the cause of BGO #523646.
11845 * src/Libraries/Hyena.Gui/Hyena.Widgets/MessageBar.cs: Explicitly show/hide
11846 the animated image when the bar show/hides
11848 2008-04-29 Gabriel Burt <gabriel.burt@gmail.com>
11850 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Be more careful
11851 with unregistering handlers to status message events.
11853 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedMessageBar.cs:
11854 Fix memory leak/cpu usage seen after selecting a Last.fm source, caused by
11855 AnimatedImage's stage continuing to play after the status message should
11856 have been hidden/removed. Its still strange that while the AnimatedImage
11857 is shown/animating it triggers so many ExposeEvents on the ListView, but
11858 at least they stop once the status message goes away. Fixes BGO #523646.
11860 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs: Explicitly mark
11861 private members as private.
11863 2008-04-29 Gabriel Burt <gabriel.burt@gmail.com>
11865 * tests/Hyena/DbBoundType.cs: Fix build.
11867 2008-04-28 Gabriel Burt <gabriel.burt@gmail.com>
11869 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs: Add
11870 RemoveActionGroup convenience override.
11872 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
11873 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs: Make
11874 sure to dispose actions when the extension is disposed, fixing crasher
11875 when you tried to disable/reenable the extension.
11877 2008-04-28 Gabriel Burt <gabriel.burt@gmail.com>
11879 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationEditor.cs:
11880 * src/Extensions/Banshee.Lastfm/Resources/lastfm.glade: Remove name entry
11881 from Last.fm dialog.
11883 2008-04-28 Gabriel Burt <gabriel.burt@gmail.com>
11885 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs:
11886 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
11887 * src/Libraries/Hyena/Hyena.Query/QueryOrder.cs: Implement smart
11888 playlists limited by file size and duration. Fixes BGO #522889.
11890 2008-04-28 Gabriel Burt <gabriel.burt@gmail.com>
11892 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
11893 Fix bug with incrementing skip count instead of play count when a song
11894 ended and the next one began (behavior was correct if the song hadn't
11895 ended and the user manually pressed next.) Fixes BGO #527879.
11897 2008-04-28 Gabriel Burt <gabriel.burt@gmail.com>
11899 WARNING: This commit is a first pass at reworking some of the Podcast/Migo
11900 internals to use Hyena and be more consistent with Banshee's style. It
11901 severely breaks the podcast extension for the time being, so unless you
11902 are working with Mike and me to fix it, you should not build or run it.
11904 * build/build.environment.mk: Link Migo against Hyena.
11906 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
11907 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
11908 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
11909 Update to new Load method (w/o superflous int arg).
11911 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
11912 Fix DatabaseColumn attributes to be on properties, not private members.
11914 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
11915 Use new IDatabaseTrackModel[Provider|Cache] interfaces to allow this class
11916 to handle DatabaseTrackInfo subclasses (eg to handle PodcastInfo objects).
11918 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
11919 Override AfterInitialized method, moving quite a bit of track model
11920 property setting there.
11922 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
11923 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
11924 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
11925 Change static LoadAll method to take a primary source id, so that as
11926 primary sources are loaded, they fetch/load only their playlists.
11928 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Add virtual
11929 HasArtistAlbum property so sources can avoid instantiating the
11930 Artist/Album models at all if they don't use them.
11932 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Check the
11933 artist/album models aren't null before using them.
11935 * src/Core/Banshee.Services/Makefile.am:
11936 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackModelCache.cs:
11937 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackModelProvider.cs:
11938 * src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseTrackModelCache.cs:
11939 * src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseTrackModelProvider.cs:
11940 New interfaces/classes to enable DatabaseTrackInfo subclasses to be
11941 used/loaded by DatabaseTrackListModel and therefore any DatabaseSource
11944 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
11945 Override HasArtistAlbum to false.
11947 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastItem.cs:
11948 Migo's FeedItem class is backed by a database table (PodcastItems), so
11949 the idea is intead of having another table for Banshee specific podcast item
11950 information, push as much as possible into Migo, and have PodcastItem
11951 actually subclass from DatabaseTrackInfo, and pull in information from the
11952 Migo tables as necessary (using VirtualDatabaseColumn attributes).
11954 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastFeed.cs:
11955 Deleted, since we just use the Migo table/Feed class now.
11957 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Dialog/PodcastFeedPropertiesDialog.cs:
11958 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Dialog/PodcastPropertiesDialog.cs:
11959 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Dialog/PodcastSubscribeDialog.cs:
11960 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Dialog/SyncPreferenceComboBox.cs:
11961 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/ColumnCells/FeedActivityColumnCell.cs:
11962 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/Models/PodcastFeedModel.cs:
11963 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/PodcastSourceContents.cs:
11964 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/Views/PodcastFeedView.cs:
11965 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/Views/PodcastItemView.cs:
11966 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastCore.cs:
11967 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastCore_Interface.cs:
11968 Many HACKING fixes, quite a lot of work to do still.
11970 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/Models/PodcastItemModel.cs:
11971 Remove the custom model since we use a DatabaseTrackListModel now.
11973 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/PodcastSource.cs:
11974 Change to subclass from PrimarySource.
11976 * src/Libraries/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs: Fix bug in
11979 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Use
11980 Action<IDataReader> instead of custom delegate type for AggregatesUpdated
11983 * src/Core/Banshee.Services/Banshee.Database/BansheeModelProvider.cs:
11984 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Make not
11985 abstract, taking default properties and empty virtual methods from
11986 BansheeModelProvider. Remove unused int arg in Load method. Add
11987 FetchAllMatching, FetchFirstMatching, FetchSingle (id), and Delete
11990 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs:
11991 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteUtils.cs: Handle bools.
11993 * src/Libraries/Migo/Makefile.am:
11994 * src/Libraries/Migo/Migo.mdp: Several files removed, a few added.
11996 * src/Libraries/Migo/Migo/Migo.Syndication/EventArgs/FeedDownloadCompletedEventArgs.cs:
11997 * src/Libraries/Migo/Migo/Migo.Syndication/EventArgs/FeedDownloadCountChangedEventArgs.cs:
11998 * src/Libraries/Migo/Migo/Migo.Syndication/EventArgs/FeedEventArgs.cs:
11999 * src/Libraries/Migo/Migo/Migo.Syndication/EventArgs/FeedItemCountChangedEventArgs.cs:
12000 * src/Libraries/Migo/Migo/Migo.Syndication/EventArgs/FeedItemEventArgs.cs:
12001 Renamed to follow HACKING.
12003 * src/Libraries/Migo/Migo/Migo.Syndication/Feed.cs:
12004 * src/Libraries/Migo/Migo/Migo.Syndication/FeedEnclosure.cs:
12005 * src/Libraries/Migo/Migo/Migo.Syndication/FeedItem.cs:
12006 * src/Libraries/Migo/Migo/Migo.Syndication/FeedUpdateTask.cs:
12007 * src/Libraries/Migo/Migo/Migo.Syndication/FeedsManager.cs: Many updates,
12008 including HACKING fixes, trying to get rid of unnecessary dictionaries
12009 etc. There are some commented out pieces of code in this commit that have
12010 broken podcasts temporarily until they are 'ported'. For the
12011 database-backed classes (Feed, FeedItem, and FeedEnclosure) use
12012 Hyena.Data.Sqlite [DatabaseColumn] attributes to flag db-backed
12015 * src/Libraries/Migo/Migo/Migo.Syndication/IFeed.cs:
12016 * src/Libraries/Migo/Migo/Migo.Syndication/IFeedEnclosure.cs:
12017 * src/Libraries/Migo/Migo/Migo.Syndication/IFeedItem.cs:
12018 * src/Libraries/Migo/Migo/Migo.Syndication/IFeedsManager.cs: Deleted.
12020 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/TablesManagers/EnclosuresTableManager.cs:
12021 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/TablesManagers/FeedsTableManager.cs:
12022 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/TablesManagers/ItemsTableManager.cs:
12023 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/Utilities/DataUtility.cs:
12024 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/Utilities/DatabaseManager.cs:
12025 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/Utilities/DbDefines.cs:
12026 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/Utilities/QueuedDbCommand.cs:
12027 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/Utilities/SQLiteUtility.cs:
12028 Deleted; Migo uses Hyena.Data.Sqlite now for db related functionality.
12030 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/Wrappers/Db/DataWrapper.cs:
12031 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/Wrappers/Db/FeedDataWrapper.cs:
12032 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/Wrappers/Db/FeedEnclosureDataWrapper.cs:
12033 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/Wrappers/Db/FeedItemDataWrapper.cs:
12034 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/Wrappers/IFeedEnclosureWrapper.cs:
12035 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/Wrappers/IFeedItemWrapper.cs:
12036 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/Wrappers/IFeedWrapper.cs:
12037 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/Wrappers/Rss/RssFeedEnclosureWrapper.cs:
12038 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/Wrappers/Rss/RssFeedItemWrapper.cs:
12039 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/Wrappers/Rss/RssFeedWrapper.cs:
12040 Deleted; Wrapper concept had a lot of redundancy in property definitions
12041 etc. The Db wrappers are unnecessary since Hyena.Data.Sqlite uses
12042 reflection to instantiate objects/set properties.
12044 * src/Libraries/Migo/Migo/Migo.Syndication/Migo.Syndication.Data/RssParser.cs:
12045 New class largley taken from the Rss*Wrapper classes.
12047 * tests/Hyena/SqliteCommandTests.cs: Test SQLification of bools.
12049 2008-04-28 Aaron Bockover <abock@gnome.org>
12051 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
12052 Make ConditionSql virtual and add a protected setter; make CanUnmap virtual
12054 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Add Music and Video
12055 group sources; delete all smart playlists and entires associated with
12056 the primary source when starting and disposing
12058 * src/Dap/Banshee.Dap/Banshee.Dap/MediaGroupSource.cs: Base source for
12059 media groups, extends SmartPlaylistSource
12061 * src/Dap/Banshee.Dap/Banshee.Dap/MusicGroupSource.cs:
12062 * src/Dap/Banshee.Dap/Banshee.Dap/VideoGroupSource.cs: A source to show
12063 all music on the device and one for all video
12065 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs: Do not implement
12066 IDiskUsageReporter - MediaGroupSource does this now
12068 * src/Libraries/Hyena.Gui/Hyena.Gui/TestModuleAttribute.cs: Attribute
12069 for flagging UI test modules
12071 * src/Libraries/Hyena.Gui/Hyena.Gui/TestModuleRunner.cs: Show a list
12072 of UI test modules and run them when activated
12074 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/QueryDebugger.cs: A UI test
12075 module for playing with the query parser
12077 2008-04-26 Aaron Bockover <abock@gnome.org>
12079 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Do not try
12080 to read the name from the iTunesDB until after we have finished loading
12083 2008-04-26 Aaron Bockover <abock@gnome.org>
12085 * src/Core/Banshee.Services/Banshee.Hardware/HardwareManager.cs:
12086 Support runtime loading/unloading of hardware provider extensions
12088 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/PodSleuthDeviceProvider.cs:
12089 * src/Core/Banshee.Services/Banshee.Hardware/ICustomDeviceProvider.cs:
12090 Implement IDisposable
12092 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:
12093 Support runtime loading/unloading of extension sources
12095 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod.addin.xml: Order the
12096 hardware provider for podsleuth first in the extension list just in case
12098 2008-04-25 Aaron Bockover <abock@gnome.org>
12100 * src/Core/Banshee.Services/Banshee.ServiceStack/IExtensionService.cs:
12101 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/Service.cs: Require
12102 all extension services to implement IDisposable
12104 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
12105 Listen to the addin manager for when service extensions are enabled or
12106 disabled and enable/disable accordingly; this allows all service extensions
12107 to now be enabled or disabled at runtime
12109 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs:
12110 Added an override for removing an action by name
12112 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdService.cs:
12113 Moved the UI actions from the source to the service since all of the
12114 UI here is global; fixes issue where there were UI conflicts with multiple
12115 CDs and also helps with the runtime enable/disable of the service
12117 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
12118 Reflect said changes above
12120 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
12121 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationAreaBox.cs:
12122 Many fixes for runtime enable/disable
12124 2008-04-25 Aaron Bockover <abock@gnome.org>
12126 This commit hopefully addresses remaining hardware and threading issues
12127 with DAP support and fixes the Mono.Addins dependency issue that people
12128 have been complaining about for the last couple of days
12130 * src/Backends/Banshee.Hal/Banshee.HalBackend/Volume.cs: Cache the uuid
12131 of the volume once it's been resolved so the device doesn't have to
12132 be queried for it again, which is problematic if the device is removed
12135 * src/Core/Banshee.Services/Banshee.Hardware/HardwareManager.cs:
12136 Listen directly on the inner manager for device added/removed and
12137 raise those events from within the service scope, performing the
12138 cast to custom device in the device added event
12140 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Defer the
12141 loading of the database to the LoadFromDevice threaded call so startup
12142 is faster; implement eject
12144 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/PodSleuthDeviceProvider.cs:
12145 Allow the provider to adapt the PodSleuthDevice to either the top level
12146 iPod storage device or the actual iPod data volume so iPod support works
12147 when an iPod is plugged in while Banshee was already running
12149 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Reworked the DapSource
12150 instantiation to deal with older Mono.Addins; fully dispose and unmap
12151 any devices bound to a DAP provider extension if that extension is
12152 removed at runtime; fully tear down the top level DAP service if it
12153 is disposed, so DAP support can be fully disabled at runtime as well
12155 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Replaced the IDevice
12156 ctor with a virtual DeviceInitialized method to cope with older
12157 Mono.Addins - this should fix the problem people have been complaining
12158 about for 2 days; store the addin ID on the source as well for
12159 unmapping in the service
12161 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs: Removed bad
12162 threading decisions, race issues, and excessive dispose calls; it is
12163 up to the device implementation to call dispose as needed inside eject
12165 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
12166 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Updated to reflect
12167 minor DapSource API changes due to Mono.Addins
12169 * src/Libraries/Hyena/Hyena/Log.cs: Walk the exception chain to generate
12170 a full stack trace printout
12172 2008-04-24 Aaron Bockover <abock@gnome.org>
12174 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Added
12175 a PurgeTracks method that will nuke all entries in CoreTracks with
12176 a matching primary source ID
12178 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Read the
12179 track database from the iPod
12181 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodTrackInfo.cs: Map the
12182 iPod tracks to Banshee database tracks
12184 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Call LoadDeviceContents
12185 after creating a DapSource
12187 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Added LoadDeviceContents
12188 and a virtual LoadFromDevice method; LoadFromDevice should be implemented
12189 by DapSources and will run async - currently only used by IpodSource
12191 2008-04-24 Aaron Bockover <abock@gnome.org>
12193 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: Some more
12194 cleanup, organizing, and implemeneted icon name support
12196 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Whitespace
12198 2008-04-24 Aaron Bockover <abock@gnome.org>
12200 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs:
12201 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs:
12202 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
12203 Updated to the new DapSource API
12205 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Uses the new enforced
12206 IDevice ctor that DapSources must have to create the device, if
12207 InvalidDeviceException is thrown, the source is discarded
12209 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Lots of refactoring and
12210 cleaning; get rid of Resovle and Initialize (IDevice) and rolled all
12211 that into the ctor; better error messages, more result checking, easier
12214 * src/Dap/Banshee.Dap/Banshee.Dap/InvalidDeviceException.cs: New exception
12215 that DapSource implementors must throw in the ctor if they can't support
12216 the device being passed to them
12218 * src/Libraries/Hyena/Hyena/Log.cs: Log exceptions through Log.Warning
12219 and added an override to provide a message with the exception
12221 2008-04-24 Gabriel Burt <gabriel.burt@gmail.com>
12223 * src/Dap/Banshee.Dap.Ipod/Makefile.am: Disable ipod build unless
12226 2008-04-24 Gabriel Burt <gabriel.burt@gmail.com>
12228 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Fix bug
12229 with seek and jump-to-playing not being sensitive when they should be.
12232 2008-04-24 Aaron Bockover <abock@gnome.org>
12234 * build/build.environment.mk:
12235 * build/build.rules.mk:
12236 * build/m4/banshee/dap-ipod.m4:
12237 * configure.ac: Build foo for iPod support
12239 * src/Backends/Banshee.Hal/Banshee.HalBackend/BlockDevice.cs: Do not
12240 check if info.category is storage since the capability query for block
12241 will validate the device, and info.category may not be storage for all
12242 storage devices (it could be portable_audio_player)
12244 * src/Core/Banshee.Services/Banshee.Hardware/IDevice.cs:
12245 * src/Backends/Banshee.Hal/Banshee.HalBackend/Device.cs: Added HAL
12246 method wrappers for properties that should only be used with extreme care;
12247 probably need to enforce how these are used. They're really just for
12248 proxying custom properties from custom IDevices; I'm not totally happy
12251 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs:
12252 * src/Backends/Banshee.Hal/Banshee.HalBackend/Volume.cs:
12253 * src/Backends/Banshee.Hal/Banshee.HalBackend/HardwareManager.cs: Some
12256 * src/Core/Banshee.Services/Banshee.Services.addin.xml:
12257 * src/Core/Banshee.Services/Banshee.Hardware/HardwareManager.cs:
12258 Implemented the ICustomDeviceProvider extension, pass all IDevice queries
12259 through the custom device providers to allow them to transform/replace
12260 a device with some custom device
12262 * src/Core/Banshee.Services/Banshee.Hardware/ICustomDeviceProvider.cs:
12263 The new interface for custom device providers
12265 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod.addin.xml: iPod extension def
12267 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/IpodSource.cs: The beginning
12268 of the iPod DAP support; doesn't do anything yet
12270 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/PodSleuthDevice.cs: A device
12271 that translates PodSleuth properties to the iPod device from ipod-sharp
12273 * src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/PodSleuthDeviceProvider.cs:
12274 Custom device provider for taking an iPod storage device and transforming
12275 its iPod volume into a PodSleuthDevice
12277 2008-04-23 Gabriel Burt <gabriel.burt@gmail.com>
12279 * src/Libraries/Lastfm.Gui/Lastfm.Gui/AccountLoginDialog.cs: Fix bug with
12280 not saving the account info when the user clicked (vs pressing space or
12281 enter) the save button.
12283 2008-04-23 Scott Peterson <lunchtimemama@gmail.com>
12285 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs:
12286 Use new StartPadding.
12288 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedBox.cs: Added
12289 StartPadding and EndPadding properties.
12291 2008-04-23 Gabriel Burt <gabriel.burt@gmail.com>
12293 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Be more careful
12296 2008-04-23 Gabriel Burt <gabriel.burt@gmail.com>
12298 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Handle the situation of
12299 the user not having any encoders and trying to transfer an unsupported
12302 2008-04-23 Aaron Bockover <abock@gnome.org>
12304 * src/Core/Banshee.ThickClient/Banshee.Addins.Gui/AddinDetailsDialog.cs:
12305 * src/Core/Banshee.ThickClient/Banshee.Addins.Gui/AddinTile.cs:
12306 * src/Core/Banshee.ThickClient/Banshee.Addins.Gui/AddinView.cs: Moved
12307 these widgets into their own proper namespace
12309 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/DefaultPreferenceWidgets.cs:
12310 Changed to reflect said move
12312 2008-04-23 Aaron Bockover <abock@gnome.org>
12314 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/BansheeDialog.cs:
12315 Allow setting the parent/transient for window
12317 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinDetailsDialog.cs:
12318 Added a simple details dialog for an addin
12320 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinView.cs:
12321 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinTile.cs:
12322 Better tile UI and added enable/disable and details buttons to the tile;
12323 actually enable/disable addins when the button is pressed - BE WARNED
12324 this has not been tested too much yet
12326 * src/Libraries/Hyena.Gui/Hyena.Widgets/WrapLabel.cs: Added a Wrap
12327 property that will allow text to be ellipsized to one line if unset
12329 * src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileComboBoxConfigurable.cs:
12330 * src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileConfigurationDialog.cs:
12331 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/DefaultPreferenceWidgets.cs:
12332 Updated to use the new WrapLabel
12334 * src/Libraries/Hyena.Gui/Hyena.Widgets/TextViewLabel.cs: Removed now
12335 that we have a proper WrapLabel
12337 * src/Backends/Banshee.GStreamer/Banshee.GStreamer.addin.xml:
12338 * src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml:
12339 * src/Backends/Banshee.Hal/Banshee.Hal.addin.xml:
12340 * src/Backends/Banshee.Unix/Banshee.Unix.addin.xml:
12341 * src/Core/Banshee.Core/Banshee.Core.addin.xml:
12342 * src/Core/Banshee.Services/Banshee.Services.addin.xml:
12343 * src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml:
12344 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage.addin.xml:
12345 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp.addin.xml:
12346 * src/Dap/Banshee.Dap/Banshee.Dap.addin.xml:
12347 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd.addin.xml:
12348 * src/Extensions/Banshee.Bookmarks/Banshee.Bookmarks.addin.xml:
12349 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.addin.xml:
12350 * src/Extensions/Banshee.MultimediaKeys/Resources/Banshee.MultimediaKeys.addin.xml:
12351 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.addin.xml:
12352 * src/Extensions/Banshee.PlayQueue/Resources/Banshee.PlayQueue.addin.xml:
12353 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.addin.xml:
12354 Updated addin metadata
12356 2008-04-23 Gabriel Burt <gabriel.burt@gmail.com>
12358 * src/Libraries/Migo/*: Rename a few more enums.
12360 2008-04-23 Gabriel Burt <gabriel.burt@gmail.com>
12362 * src/Extensions/Banshee.Podcasting/*:
12363 * src/Libraries/Migo/*: Rename FEEDS_DOWNLOAD_STATUS enum to
12364 FeedDownloadStatus. (Props to MD for making this dead easy).
12366 2008-04-23 Gabriel Burt <gabriel.burt@gmail.com>
12368 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Fix typo in
12369 delete tracks user job message.
12371 * src/Extensions/Banshee.Podcasting/*:
12372 * src/Libraries/Migo/*: Fix assembly references in .mdp, and rename one
12373 enum and its values to FDG standards.
12375 2008-04-23 Aaron Bockover <abock@gnome.org>
12377 This commit adds the initial work for the extension manager to allow
12378 you to enable and disable extensions; it does not yet work and there
12379 are still many interaction and rendering issues; no complaining
12381 * src/Core/Banshee.Services/Banshee.Preferences/Page.cs: Add the new
12382 extensions page to the preference set
12384 * src/Core/Banshee.Services/Banshee.Preferences/PreferenceBase.cs:
12385 * src/Core/Banshee.Services/Banshee.Preferences/Root.cs: Moved
12386 DisplayWidget to Root
12388 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/DefaultPreferenceWidgets.cs:
12389 Adapt the new AddinView for our extensions to the extensions page
12391 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/NotebookPage.cs:
12392 Support pages with their own DisplayWidgets
12394 * src/Libraries/Hyena.Gui/Hyena.Widgets/WrapLabel.cs: Added a new label
12395 that doesn't suck for proper wrapping; this label uses a width allocation
12396 from its parent to compute the layout and forces a height request to
12397 fit the wrapped layout; it is awesome; someone tell me if the standard
12398 GtkLabel can do this - I have in many years never been able to do this
12400 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinTile.cs: Hot
12401 new tile widget that displays information about an addin/extension and
12402 will allow you to enable/disable it; not completely done
12404 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/AddinView.cs: A view
12405 that lays out the AddinTiles
12407 2008-04-22 Gabriel Burt <gabriel.burt@gmail.com>
12409 This commit adds transcoding support to DAPs. Transcoded files are stored
12410 in ~/.config/banshee-1/transcoder/, and that folder is deleted every
12411 Banshee session. One improvement over stable's transcoding is file
12412 transfers can happen at the same time as transcoding.
12414 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs: Make IsReadOnly public.
12416 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Enable property dialogs
12417 for DapSources. Also, override AddTrack methods to first transcode if
12420 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
12421 Reflect updates in two parent classes.
12423 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Lock use of the
12424 mtp device so only one operation happens at a time. Make adding track
12425 work with new transcoding support. Add fine-grained progress when adding
12428 * src/Dap/Banshee.Dap/Makefile.am:
12429 * src/Dap/Banshee.Dap/Banshee.Dap.Gui:
12430 * src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapPropertiesDialog.cs: Ported from
12431 stable. Advanced properties and owner entry commented out.
12433 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: If the Source
12434 has a property named 'SourceProperties.GuiHandler' that is a
12435 OpenPropertiesDelegate, invoke it OnSourcePropertiesAction.
12437 * src/Core/Banshee.ThickClient/ThemeIcons/22x22/actions:
12438 * src/Core/Banshee.ThickClient/ThemeIcons/22x22/actions/encode.png: Copy
12441 * src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileConfigurationDialog.cs:
12442 * src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileComboBoxConfigurable.cs:
12443 * src/Core/Banshee.Services/Banshee.MediaProfiles/MediaProfileManager.cs:
12444 * src/Core/Banshee.Services/Banshee.MediaProfiles/PipelineVariable.cs:
12445 * src/Core/Banshee.Services/Banshee.MediaProfiles/Profile.cs:
12446 * src/Core/Banshee.Services/Banshee.MediaProfiles/Pipeline.cs:
12447 * src/Core/Banshee.Services/Banshee.MediaProfiles/ProfileConfiguration.cs:
12448 Renamed *ID properties to *Id. Also, use the ProfileConfiguration in
12449 several places we used to return just the Profile, since multiple
12450 ProfileConfigurations can share a Profile, we need to make sure this
12451 configurations variables are loaded when we use it.
12453 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Define
12454 OpenPropertiesDelegate.
12456 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Handle
12457 AddTracks not being synchronous (since there may be transcoding).
12459 * src/Core/Banshee.Services/Banshee.ServiceStack/BatchUserJob.cs: Add
12460 DetailedProgress that is the percent complete of the current sub-job.
12462 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Load
12463 the TranscoderService.
12465 * src/Core/Banshee.Services/Banshee.Services.addin.xml: Define
12466 /Banshee/MediaEngine/Transcoder extension node.
12468 * src/Core/Banshee.Services/Makefile.am:
12469 * src/Core/Banshee.Services/Banshee.Services.mdp:
12470 * src/Core/Banshee.Services/Banshee.MediaEngine/ITranscoder.cs:
12471 * src/Core/Banshee.Services/Banshee.MediaEngine/TranscoderService.cs: New
12472 files that give us transcoding. Largely ported code from stable.
12474 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GConfConfigurationClient.cs:
12475 Remove / characters from key names.
12477 * src/Backends/Banshee.GStreamer/Makefile.am:
12478 * src/Backends/Banshee.GStreamer/Banshee.GStreamer.addin.xml:
12479 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/Transcoder.cs: Add
12480 GStreamer implementation of MediaEngine.ITranscoder, mostly ported from
12483 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/AudioCdRipper.cs: Tweak
12484 way Profiles are loaded to ensure they're configured.
12486 * src/Libraries/Mtp/Mtp/Track.cs: Remove WriteLine.
12488 * libbanshee/banshee-transcoder.c: Fix broken progress updates, and Gtk
12491 * build/build.environment.mk: Require Banshee.ThickClient in Banshee.Dap
12492 now b/c of properties dialog.
12494 * data/audio-profiles/*.xml.in: Add taglib/* mimetypes.
12496 * data/banshee-1.desktop.in.in:
12497 * data/mimetypes.txt: Update list of mimetypes with some ones from TagLib#
12500 2008-04-22 Aaron Bockover <abock@gnome.org>
12502 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/PreferencesDialog.cs:
12503 * src/Core/Banshee.ThickClient/Resources/banshee-dialogs.glade: Nuke
12504 the old crappy hardcoded preferences dialog
12506 2008-04-22 Aaron Bockover <abock@gnome.org>
12508 * src/Core/Banshee.Services/Banshee.Preferences/Page.cs: Cleaned up
12509 the default preferences
12511 * src/Core/Banshee.Services/Banshee.Preferences/PreferenceService.cs:
12512 Added an InstallWidgetAdapters event and a RequestWidgetAdapters method
12514 * src/Core/Banshee.Services/Banshee.Preferences/VoidPreference.cs:
12515 A wrapper to use for fake preferences that will basically be containers
12516 for advanced widgets bound to other preferences
12518 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/DefaultPreferenceWidgets.cs:
12519 A little cleanup and use VoidPreference
12521 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/PreferenceDialog.cs:
12522 Call RequestWidgetAdapters to notify listeners that they need to create
12523 and bind their widget adapters to preferences they own
12525 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/SectionBox.cs:
12526 Set the MnemonicWidget if the preference gets a label
12528 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdService.cs:
12529 Last of the preference migration - adds the import profile combo
12531 2008-04-22 Aaron Bockover <abock@gnome.org>
12533 * src/Core/Banshee.Services/Banshee.MediaEngine/IAudioCdRipper.cs:
12534 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/AudioCdRipper.cs:
12535 Added a enableErrorCorrection argument to the Begin method
12537 * src/Core/Banshee.Core/Banshee.Configuration.Schema/ImportSchema.cs:
12538 Removed the error correction schema
12540 * src/Core/Banshee.Services/Banshee.Preferences/Collection.cs: Added remove
12542 * src/Core/Banshee.Services/Banshee.Preferences/Preference.cs:
12543 * src/Core/Banshee.Services/Banshee.Preferences/Root.cs:
12544 * src/Core/Banshee.Services/Banshee.Preferences/SchemaPreference.cs:
12545 Added Description property and ctor overrides
12547 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/PreferencesDialog.cs:
12550 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/SectionBox.cs:
12553 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs:
12554 Pass the schema value ot Begin
12556 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdService.cs:
12557 Add the first preference for audio CD support
12559 * src/Libraries/Hyena.Gui/Hyena.Gui/TooltipSetter.cs: A new awesome
12560 tooltip wrapper that will either use the old Gtk.Tooltips API or the new
12561 Gtk.Widget.TooltipText property, depending on what is available
12563 2008-04-22 Aaron Bockover <abock@gnome.org>
12565 * src/Core/Banshee.Services/Banshee.Preferences/Page.cs: Set up default
12566 preferences for some more things
12568 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/DefaultPreferenceWidgets.cs:
12569 Added widget adapters for the file/folder pattern preferences
12571 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/SectionBox.cs:
12572 Layout preference widgets properly using a table so everything lines
12573 up and looks pretty
12575 * src/Core/Banshee.Services/Banshee.Preferences/Collection.cs: Added
12578 * src/Core/Banshee.Services/Banshee.Preferences/PreferenceBase.cs:
12579 Added a ShowLabel property
12581 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/WidgetFactory.cs:
12582 Remove a console.writeline
12584 * src/Libraries/Hyena.Gui/Hyena.Widgets/TextViewLabel.cs: Moved from
12585 somewhere in Banshee proper
12587 * src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileComboBoxConfigurable.cs:
12588 * src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui/ProfileConfigurationDialog.cs:
12589 Reflect the moving of TextViewLabel to Hyena.Widgets
12591 2008-04-22 Aaron Bockover <abock@gnome.org>
12593 This commit adds very initial and incomplete support for better preference
12594 management that makes it easy for extensions to add new preferences
12596 * src/Core/Banshee.Services/Banshee.Preferences/Root.cs: A root object
12597 for all things preferency
12599 * src/Core/Banshee.Services/Banshee.Preferences/Collection.cs: A base
12600 preference object that represents a collection of preference things
12602 * src/Core/Banshee.Services/Banshee.Preferences/Page.cs: Non gui collection
12603 representing pages for the preference dialog
12605 * src/Core/Banshee.Services/Banshee.Preferences/Section.cs: A section
12606 is a group of preferences in a page
12608 * src/Core/Banshee.Services/Banshee.Preferences/Preference.cs: Generic
12609 preference object that maps to as single preference item
12611 * src/Core/Banshee.Services/Banshee.Preferences/PreferenceBase.cs: Base
12612 single item preference object (non-generic)
12614 * src/Core/Banshee.Services/Banshee.Preferences/PreferenceService.cs:
12615 The core preference service
12617 * src/Core/Banshee.Services/Banshee.Preferences/SchemaPreference.cs:
12618 A preference item object that binds to our lovely SchemaEntry configuration
12619 objects that makes exposing configuration as preferences really easy
12621 * src/Core/Banshee.Services/Banshee.Library/LibraryLocationPreference.cs:
12622 Preference object for setting the library location
12624 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
12625 Load the preference service
12627 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/BansheeDialog.cs:
12628 A new base dialog object that makes writing new dialogs very nice
12630 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/PreferenceDialog.cs:
12631 The new preference dialog
12633 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/NotebookPage.cs:
12634 A GUI wrapper for the preference Page object
12636 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/SectionBox.cs:
12637 A GUI wrapper for the preference Section object
12639 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/WidgetFactory.cs:
12640 A static class that builds and binds widgets to non-GUI preferences
12642 * src/Core/Banshee.ThickClient/Banshee.Preferences.Gui/DefaultPreferenceWidgets.cs:
12643 A set of default preference widget adaptors that represent more complex
12644 UI for interacting with preferences
12646 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Open the
12647 new preferences dialog
12649 2008-04-19 Aaron Bockover <abock@gnome.org>
12651 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedVolumeButton.cs:
12652 Added a classic ctor override
12654 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/RepeatActionButton.cs:
12655 Allow the button to have only the icon
12657 * src/Core/Banshee.Widgets/Banshee.Widgets/VolumeButton.cs:
12658 Added a classic mode that just pops up the slider above the widget,
12659 which is best for fullscreen
12661 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenControls.cs:
12662 Ensure the controls don't go away if the volume button is active
12664 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
12665 Some fixes; increase the timeout to 5s
12667 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/OverlayWindow.cs:
12668 Make the background slightly transparent if compositing is supported
12670 * src/Libraries/Hyena.Gui/Hyena.Gui/CompositeUtils.cs: Utilities for
12671 dealing with awesome stuff in composited environments that doesn't
12672 require the latest bleeding GTK; ported from F-Spot, thank you Larry
12674 * src/Libraries/Hyena.Gui/Hyena.Widgets/RoundedFrame.cs: Fix the
12677 2008-04-19 Aaron Bockover <abock@gnome.org>
12679 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenControls.cs:
12680 Add the default accel group and make it as wide as the screen (probably
12681 lame but gabaug was complaining)
12683 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
12684 Add the default accel group and some custom keybindings for seeking
12685 and showing/hiding the control bar
12687 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/OverlayWindow.cs:
12688 Make gabaug happy and move the bar to the bottom of the screen
12690 2008-04-19 Aaron Bockover <abock@gnome.org>
12692 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs:
12693 Added new horizontal layout mode that is nice for fullscreen
12695 * src/Core/Banshee.Widgets/Banshee.Widgets/StreamPositionLabel.cs:
12696 Rebuild the layouts when the format string changes
12698 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenControls.cs:
12699 Allow the seek slider to fill any remaining space in the window and
12700 make sure the window takes 85% of the screen width
12702 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
12703 Fixed the popup auto-hide when the mouse was over the controls
12705 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/OverlayWindow.cs:
12706 Added better sizing to allow the window to adapt to the screen size
12708 * src/Libraries/Hyena.Gui/Hyena.Widgets/MenuButton.cs:
12709 Implemented two empty method overrides to avoid GtkContainer's bitching
12711 2008-04-19 Aaron Bockover <abock@gnome.org>
12713 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenControls.cs:
12714 First pass at adding fullscreen controls - it's by no means complete, and
12715 yes I know there are some bugs and missing items
12717 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
12718 Show/hide the controls overlay window when necessary
12720 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/OverlayWindow.cs:
12721 Started porting the overlay controls window from F-Spot
12723 * src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs: Use F instead
12724 of F11 as the fullscreen accel
12726 * src/Libraries/Hyena.Gui/Hyena.Widgets/MenuButton.cs: Moved the widget
12727 construction to a protected function and added a default ctor
12729 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/NextButton.cs: Added
12730 a small wrapper for creating the next action button
12732 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Use the new NextButton
12734 2008-04-19 Aaron Bockover <abock@gnome.org>
12736 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
12737 Lots of window manager and parent window interaction stuff so that
12738 fullscreen behaves properly when a user does strange window management
12739 like alt-tab when in fullscreen
12741 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs:
12742 Ensure that if for some reason the source is changed underneath the
12743 fullscreen, it's merged back into the source UI
12745 * src/Libraries/Hyena.Gui/Hyena.Widgets/RoundedFrame.cs: Use the proper
12746 drawing call for non-standard border renders
12748 2008-04-18 Aaron Bockover <abock@gnome.org>
12750 * libbanshee/banshee-player-video.c: (bp_video_find_xoverlay): Do not
12751 let the video sink handle X events
12753 2008-04-18 Aaron Bockover <abock@gnome.org>
12755 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
12756 Hide the cursor if it hasn't moved in 2.5 seconds, allow 150px of movement
12757 before showing it again if it was hidden already
12759 2008-04-18 Aaron Bockover <abock@gnome.org>
12761 This commit adds video rendering to the fullscreen window and fixes all
12762 of the GTK CRITICAL messages that could be seen when switching from the
12763 now playing source to something else
12765 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs:
12766 Implemented a sweet widget reparenting hack to work around the windowing
12767 issues with GstXOverlay; when the video wiget is not to be displayed,
12768 it is reparented to the fullscreen window, which will be hidden; this
12769 also implements the rest of fullscreen support as far as video rendering
12770 is concerned (there are no fullscreen controls yet, but you can press
12771 escape to close the window)
12773 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
12774 Hide and unfullscreen self instead of destroying
12776 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs:
12777 Abstracted non GstXOverlay specific pieces of the video widget to make
12778 the code easier to maintain
12780 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/XOverlayVideoDisplay.cs:
12781 Fixes with the internal windowing to better work with the reparenting
12782 hack outlined above
12784 2008-04-18 Scott Peterson <lunchtimemama@gmail.com>
12786 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
12787 We were instantiating a List<string> on every render. Now we just
12788 use one list per instance and clear it on each render.
12790 2008-04-17 Aaron Bockover <abock@gnome.org>
12792 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs:
12793 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
12794 Moved the fullscreen UI logic from the source to the interface
12796 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
12797 Use Destroy explicitly
12799 2008-04-17 Scott Peterson <lunchtimemama@gmail.com>
12801 * tests/Hyena/SqliteModelProviderTests.cs: Added test for null strings.
12803 2008-04-17 Scott Peterson <lunchtimemama@gmail.com>
12805 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Look
12806 for DB-bound members amoung the public fields. Don't know what we
12807 didn't do that before.
12809 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Don't
12810 throw an exception if we can't retrieve a schema due to the table
12811 not existing. This is important because the Provider uses
12812 Scheme.Count == 0 to detect a non-existant table!
12814 * tests/Hyena/DbBoundType.cs: A type which can be used with an
12815 SqliteModelProvider for testing purposes.
12817 * tests/Hyena/SqliteModelProviderTests.cs: Logical tests for the
12818 SqliteModelProvider.
12820 2008-04-16 Aaron Bockover <abock@gnome.org>
12822 * Makefile.am: Add a gdb target
12824 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Added
12825 AddImportant override for ToggleActionEntry
12827 * src/Core/Banshee.ThickClient/Banshee.Gui/BaseClientWindow.cs: Moved
12828 the fullscreen code
12830 * src/Core/Banshee.hickClient/Banshee.Gui/ViewActions.cs: Implement the
12831 fullscreen action and allow the fullscreen logic to be overridden
12833 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs:
12834 The window that will house the fullscreen UI for video playback
12836 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs:
12837 Add a property for getting the VideoDisplay widget
12839 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
12840 Added a custom fullscreen handler that will fullscreen the video window
12841 when fullscreen action is toggled and the now playing source is active
12843 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs:
12844 Inherit from GtkEventBox since it does what we needed and simplifies some
12845 things; still has that CRITICAL warning though
12847 * src/Extensions/Banshee.NowPlaying/Resources/ActiveSourceUI.xml: UI for
12848 merging the fullscreen action into the toolbar
12850 2008-04-16 Alexander Hixon <hixon.alexander@mediati.org>
12852 * build/build.environment.mk
12853 * src/Extensions/Banshee.Daap/Daap/ServiceLocator.cs: We don't like
12856 2008-04-16 Wouter Bolsterlee <wbolster@svn.gnome.org>
12858 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapLoginDialog.cs:
12859 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastCore_
12862 Added a few translator comments.
12864 2008-04-16 Gabriel Burt <gabriel.burt@gmail.com>
12866 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Specify what
12867 folder to upload the track to - Music or Video.
12869 * src/Libraries/Mtp/Mtp/MtpDevice.cs: Set the parent_id on the track
12870 before uploading it.
12872 * src/Libraries/Mtp/Mtp/Track.cs: Improve the DetectFileType method.
12874 * src/Libraries/Hyena/Hyena.Query/FileSizeQueryValue.cs:
12875 * src/Libraries/Hyena/Hyena.Query/RelativeTimeSpanQueryValue.cs:
12876 * src/Libraries/Hyena/Hyena.Query/TimeSpanQueryValue.cs: Parse values as
12877 doubles instead of ints, allowing queryies and smart playlists to specy
12878 "size>2.2MB" for instance.
12880 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/FileSizeQueryValueEntry.cs:
12881 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/TimeSpanQueryValueEntry.cs: Add
12882 a single decimal place to the spin button.
12884 * src/Libraries/Hyena/Hyena/StringUtil.cs: Improve FormatDouble method,
12885 now returns 1 if N < 1.1, etc.
12887 2008-04-16 Gabriel Burt <gabriel.burt@gmail.com>
12889 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
12890 When the CorePrimarySource table was modified a few commits back (after
12891 Alpha 3, I think) I forgot to make the change for new databases as well.
12892 Patch from Bertrand Lorentz, fixes BGO #528469.
12894 2008-04-16 Gabriel Burt <gabriel.burt@gmail.com>
12896 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Fix bug
12897 introduced by Alex's last commit. Fix a couple style issues.
12899 2008-04-16 Scott Peterson <lunchtimemama@gmail.com>
12901 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs:
12902 * src/Libraries/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs: Reverted
12903 IL injection changes.
12905 2008-04-16 Alexander Hixon <hixon.alexander@mediati.org>
12907 This commit basically changes the DAAP namespace to Daap, removes the
12908 server bits from daap-sharp, and puts in support for using avahi-sharp
12909 instead of Mono.Zeroconf when compiling the extension (note that the
12910 build stuff hasn't quite been hooked up yet). There's also a few
12911 changes to using generics in daap-sharp, and DaapPlaylistSource uses
12912 the database, rather than keeping stuff in memory.
12914 * src/Extensions/Banshee.Daap/Daap/ContentFetcher.cs:
12915 * src/Extensions/Banshee.Daap/Daap/Client.cs:
12916 * src/Extensions/Banshee.Daap/Daap/User.cs:
12917 * src/Extensions/Banshee.Daap/Daap/ServerInfo.cs:
12918 * src/Extensions/Banshee.Daap/Daap/BrokenMD5.cs:
12919 * src/Extensions/Banshee.Daap/Daap/ContentParser.cs:
12920 * src/Extensions/Banshee.Daap/Daap/LoginException.cs:
12921 * src/Extensions/Banshee.Daap/Daap/AuthenticationException.cs:
12922 * src/Extensions/Banshee.Daap/Daap/Playlist.cs:
12923 * src/Extensions/Banshee.Daap/Daap/Utility.cs:
12924 * src/Extensions/Banshee.Daap/Daap/Track.cs:
12925 * src/Extensions/Banshee.Daap/Daap/ContentWriter.cs
12926 * src/Extensions/Banshee.Daap/Daap/Hasher.cs:
12927 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapLoginDialog.cs:
12928 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapService.cs:
12929 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapTrackInfo.cs:
12930 Simple namespace change from DAAP to Daap.
12932 * src/Extensions/Banshee.Daap/Daap/ContentCodeBag.cs:
12933 * src/Extensions/Banshee.Daap/Daap/Database.cs: Use Generics instead of
12934 regular Collection classes. Also update the namespaces from DAAP to Daap.
12936 * src/Extensions/Banshee.Daap/Daap/ServiceLocator.cs: Provide support for
12937 avahi-sharp as well as Mono.Zeroconf. Also use Hyena logging instead of
12938 spewing via Console.WriteLine.
12940 * src/Extensions/Banshee.Daap/Daap/sync-tree.sh: Remove this since it's
12941 practically useless now.
12943 * src/Extensions/Banshee.Daap/Daap/Server.cs: Remove this since we're
12944 not serving up DAAP shares from Banshee directly anymore.
12946 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs:
12947 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapPlaylistSource.cs: Track
12948 the database IDs rather than the entire track information, and use the
12951 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
12952 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Add
12953 virtual AddTrack method that should be overriden by implementing classes
12956 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: New
12957 AddTrack methods for adding existing tracks from the database to a
12958 playlist without reassigning the ParentSource property.
12960 * build/build.environment.mk: Nasty hack to include the avahi-sharp
12961 bindings at compile time. This should really be optional, but my auto*
12962 foo is poor. Good thing we don't enable DAAP by default. :)
12964 2008-04-16 Alexander Hixon <hixon.alexander@mediati.org>
12966 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
12967 Patch by Bertrand Lorentz that fixe an NRE when the player engine would be
12968 disposed before the TrackInfoDisplay. Fixes BGO #527888.
12970 2008-04-16 Scott Peterson <lunchtimemama@gmail.com>
12972 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs:
12973 Use a BorderWidth of 8 for the AnimatedVBox. This adds 8 pixels on
12976 2008-04-16 Scott Peterson <lunchtimemama@gmail.com>
12978 * src/Libraries/Hyena.Gui/Hyena.Gui.Theatrics/Choreographer.cs: More
12979 accurate easing equations.
12981 2008-04-16 Scott Peterson <lunchtimemama@gmail.com>
12983 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedBox.cs: Added support
12984 for BorderWidth. Sexeh!
12986 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedWidget.cs: Use
12987 QueueRedrawNoResize rather than QueueRedraw. This makes things
12988 smoother with Downstage blocking.
12990 * src/Libraries/Hyena.Gui/Hyena.Gui.Theatrics/SingleActorStage.cs: Add
12991 an overload for Reload which takes a new duration.
12993 2008-04-15 Scott Peterson <lunchtimemama@gmail.com>
12995 This patch does two things. First, it cleans up the AnimatedBox classes
12996 and improves the spacing logic. Spacing should now behave correctly
12997 under all situations. Second, we use Relfection.Emit to compile IL that
12998 gets and sets database-bound members to and from the database
12999 formats. We were previously using regular old relfection. This puts to
13000 rest any concerns about the performance of an attribute-based
13003 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Changed
13004 to handle generic DatabaseColumn.
13006 * src/Libraries/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs: Made
13007 DatabaseColumn classes generic. Generate IL for saving/loading data
13008 to database-bound members.
13010 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedBox.cs: Previously
13011 there was a lot of code dup between AnimatedVBox and AnimatedHBox
13012 with the only differences being the height/width properties. All
13013 size negotiation is now done in the abstract AnimatedBox which has
13014 a "horizontal" bool in its protected constructor.
13016 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedVBox.cs:
13017 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedHBox.cs: Moved logic
13020 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedWidget.cs:
13021 AnimatedWidgets now have thier own size computation logic. They
13022 also have a horizontal bool in the ctor.
13024 2008-04-13 Christopher James Halse Rogers <chalserogers@gmail.com>
13026 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/AudioCdRipper.cs:
13027 Hook up the paranoia-mode logic to the error-correction preference.
13029 2008-04-12 Gabriel Burt <gabriel.burt@gmail.com>
13031 This commit adds usable MTP device support. Still no transcoding for any
13032 DAPs, but that's next.
13034 * src/Backends/Banshee.Hal/Banshee.HalBackend/Device.cs: If usb.serial
13035 property exists on the device, use it for the Uuid. Used for matching Mtp
13036 devices to the libmtp device list.
13038 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
13039 * src/Clients/Nereid/Nereid/ViewContainer.cs: Add a disk usage
13040 label/progres bar and display it when the source implements
13041 IDiskUsageReporter. Also, show the source context menu when the source's
13042 title in the view container is right clicked.
13044 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Set the default
13045 MediaAttributes to Default.
13047 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
13048 Add GetTrackIdForUri method, used by Mtp support to associate existing
13049 tracks when mtp device entries.
13051 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
13052 Change CorePrimarySource entries for Library/VideoLibrary to use UniqueId.
13054 * src/Backends/Banshee.Hal/Banshee.HalBackend/HardwareManager.cs:
13055 * src/Core/Banshee.Services/Banshee.Hardware/HardwareManager.cs:
13056 * src/Core/Banshee.Services/Banshee.Hardware/IHardwareManager.cs: Add
13057 GetAllDevices call.
13059 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Use UniqueId
13060 to identify primary sources, not TypeUniqueId. Add user notify calls when
13061 deleting items. And every 10 items added or deleted, refresh.
13063 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Use String.Format
13066 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Implement track
13067 loading, adding, and deleting. Implement disk usage, and eject, and
13070 * src/Core/Banshee.Services/Makefile.am:
13071 * src/Core/Banshee.Services/Banshee.Sources/IDiskUsageReporter.cs: New
13072 interface for sources that want disk usage info displayed (eg DAPs).
13074 * src/Dap/Banshee.Dap.Mtp/Makefile.am:
13075 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpDapTrackInfo.cs:
13076 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpTrackInfo.cs: Fixes to
13077 property mapping, renamed, added to build.
13079 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Listen for DapSources
13080 being removed by the SourceManager and remove them from the map. Also,
13081 when unmapping them, call Dispose on them.
13083 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Override AddChildSourc
13084 with warning about how they aren't saved to the device (yet). Add
13085 internal Device property.
13087 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs: Implement
13088 IDiskUsageReporter.
13090 * src/Libraries/Mtp/Mtp/Track.cs: Style fixes.
13093 * tests/Makefile.am: Change make test instead of make run-test
13095 * tests/Banshee.Core/TaglibReadWriteTests.cs: Add unit tests to make sure
13096 Banshee.IO.System and Banshee.IO.Unix read and write tags properly.
13098 * src/Backends/Banshee.Unix/Banshee.IO.Unix/DemuxVfs.cs: Fix major bug
13099 where writing metadata to file wasn't working in trunk if you were using
13100 Banshee.IO.Unix (which most/all people are).
13102 2008-04-11 Aaron Bockover <abock@gnome.org>
13104 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Do not automatically
13105 resize the source view (BGO #527340)
13107 2008-04-11 Aaron Bockover <abock@gnome.org>
13109 * libbanshee/banshee-gst.c:
13110 * libbanshee/banshee-gst.h: Implemented our own logging functions that
13111 can call a handler function which is defined in managed code; this allows
13112 libbanshee to use the same logging facilities that are available to managed
13115 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/Service.cs: Implement
13116 the native logging function and proxy calls to the Hyena logger
13118 * libbanshee/banshee-player-private.h: Made the bp_debug macro expand to
13119 the new native logging function
13121 * src/Libraries/Hyena/Hyena/Log.cs: Made Commit method public
13123 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Pack the status label in
13124 an EventBox; when the event box is clicked, call CycleStatusFormat on
13125 the active source; use the new MainMenu widget instead of fetching it
13126 directly from the UI manager
13128 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Implemented
13129 CycleStatusFormat and some supporting properties; and two new status
13130 formatters for time; added a ConfigurationId property
13132 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/PersistentColumnController.cs:
13133 Use the Source.ConfigurationId property
13135 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/MainMenu.cs: Load the
13136 main menu from the UI manager and connect the new repeat and shuffle menus
13138 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs:
13139 Split FindAction into a FindActionGroup method
13141 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackRepeatActions.cs:
13142 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackShuffleActions.cs:
13143 Implemented CreateSubmenu and AttachSubmenu methods
13145 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Add some
13148 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
13149 Removed the hardcoded menu entries for shuffle and repeat
13151 * src/Extensions/Banshee.NotificationArea/Resources/NotificationAreaMenu.xm:
13152 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
13153 Added shuffle and repeat menus back to the tray menu
13155 2008-04-11 Gabriel Burt <gabriel.burt@gmail.com>
13157 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
13158 Fix IndexOutOfBounds exception.
13160 2008-04-11 Scott Peterson <lunchtimemama@gmail.com>
13162 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
13163 Make sure we don't handle header-related interaction stuff if the
13164 header isn't shown. Fixes BGO #527510.
13166 2008-04-11 Sebastian Dröge <slomo@circular-chaos.org>
13168 * build/m4/banshee/gtk-sharp.m4: gconf-sharp is part of gnome-sharp
13169 so check for it there and not a second time here.
13171 2008-04-11 Scott Peterson <lunchtimemama@gmail.com>
13173 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedBox.cs: Use bools
13174 instead of the None enums (previously instituted to eliminate some
13177 * src/Libraries/Hyena.Gui/Hyena.Widgets/MenuButton.cs: Got rid of
13178 OnRealized OnUnrealized overrides - we don't really need them.
13180 * src/Libraries/Hyena.Gui/Hyena.Gui.Theatrics/Choreographer.cs: Got rid
13181 of Easing and Blocking.None
13183 2008-04-10 Aaron Bockover <abock@gnome.org>
13185 Banshee 1.0 Alpha 3 (0.98.3) Released
13187 2008-04-10 Scott Peterson <lunchtimemama@gmail.com>
13189 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedWidget.cs: Fixed stupid
13192 2008-04-10 Aaron Bockover <abock@gnome.org>
13196 * configure.ac: Turned off the DEVEL_BUILD flag for the release
13198 2008-04-10 Aaron Bockover <abock@gnome.org>
13200 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs:
13201 Do /not/ call base.OnRealized because we don't like to crash
13203 2008-04-10 Gabriel Burt <gabriel.burt@gmail.com>
13205 * NEWS: Update for 0.98.3
13207 2008-04-10 Scott Peterson <lunchtimemama@gmail.com>
13209 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
13210 We now inherit from Widget and render to the parent GdkWindow and
13211 call base.OnRealize (). This fixes BGO #524429.
13213 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_DragAndDrop.cs:
13214 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
13215 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
13216 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
13217 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
13218 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView.cs:
13219 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs:
13220 Call base.OnRealize () and inherit from Widget.
13222 * src/Libraries/Hyena.Gui/Hyena.Widgets/MenuButton.cs:
13223 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedWidget.cs:
13224 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs:
13225 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedBox.cs: Call
13228 2008-04-10 Aaron Bockover <abock@gnome.org>
13230 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdTrackInfo.cs:
13231 Added an override for TrackEqual that addresses audio CD track equality
13233 2008-04-10 Aaron Bockover <abock@gnome.org>
13235 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/AlbumListView.cs:
13236 Refresh when a track info updated event is raised by the player engine;
13237 this fixes BGO #524865
13239 2008-04-10 Gabriel Burt <gabriel.burt@gmail.com>
13241 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
13242 Fix capitalization of menu items, use 'Last.fm' instead of 'Audioscrobbler'.
13244 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
13247 * src/Libraries/Lastfm.Gui/Lastfm.Gui/AccountLoginDialog.cs: Replace Close
13248 button with Cancel / Save and Log In buttons. Should fix BGO #525585.
13250 * src/Libraries/Lastfm.Gui/Lastfm.Gui/AccountLoginForm.cs: Make Save
13253 2008-04-10 Gabriel Burt <gabriel.burt@gmail.com>
13255 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
13256 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/AlbumListView.cs:
13257 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtistListView.cs:
13258 Call Next () instead of First () when source/artist/album activated, so that
13259 random works. Fixes BGO #527218.
13261 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
13262 Lock around Reload, GetRandom, and this[] to avoid refresh race. Fixes
13265 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
13266 Fix bug with double clicking on an item not activating it every other
13269 2008-04-10 Gabriel Burt <gabriel.burt@gmail.com>
13271 * src/Core/Banshee.Services/Banshee.Collection/TrackListModel.cs:
13272 * src/Core/Banshee.Services/Banshee.Collection/MemoryTrackListModel.cs:
13273 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
13274 Implement GetRandom method, using SQL for DatabaseTrackListModel.
13276 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
13277 Move IncrementPlay/SkipCount logic into public IncrementLastPlayed method.
13279 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
13280 Cann IncrementLastPlayed before getting the next song since that affects
13281 the random query method. Fix repeat/restart in linear query. Change
13282 QueryTrackRandom to call GetRandom on TrackModel.
13284 * src/Core/Banshee.Services/Banshee.PlaybackController/IBasicPlaybackController.cs:
13285 * src/Core/Banshee.Services/Banshee.PlaybackController/ICanonicalPlaybackController.cs:
13286 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
13287 Add restart arg to Previous.
13289 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Add GetSingle
13290 method that can be passed a condition/order by fragment and returns one
13293 2008-04-10 Scott Peterson <lunchtimemama@gmail.com>
13295 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Use the fancy new
13296 PersistantPanController. FANCY!
13298 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/PersistentColumnController.cs:
13299 Got rid of now-unnessisary volatile modifier.
13301 * src/Core/Banshee.ThickClient/Banshee.Gui/PersistentPaneController.cs:
13302 The PersistentPanController can be used to save/restore the
13303 position of a Gtk.Pane automatically. Passing a Gtk.Paned and some
13304 schema info to the static Control method will set it up and it will
13305 always do the right thing.
13307 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
13308 Use PeristentPaneController for browser panes. This fixes BGO
13311 * src/Core/Banshee.Core/Banshee.Configuration/SchemaEntry.cs: Since
13312 this is a public struct, we do the neighborly thing and impliment
13313 IEquatable. I thought I was going to use this but ended up not
13314 doing so. Still, it's the right thing to do.
13316 2008-04-10 Scott Peterson <lunchtimemama@gmail.com>
13318 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs:
13319 Added a ViewActions property.
13321 * src/Core/Banshee.ThickClient/Banshee.Gui/BaseClientWindow.cs: Handle
13322 fullscreen toggling. This fixes BGO #526618.
13324 2008-04-10 Gabriel Burt <gabriel.burt@gmail.com>
13326 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellPositiveInt.cs:
13327 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
13328 * src/Core/Banshee.ThickClient/Makefile.am: Add Disc column. Fixes
13331 2008-04-10 Scott Peterson <lunchtimemama@gmail.com>
13333 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
13334 Better vadjustment handling. This fixes BGO #526689.
13336 * src/Libraries/Hyena.Gui/Hyena.Widgets/MenuButton.cs: Minor, perhaps
13337 unessiary, changes.
13339 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedWidget.cs: Use a bool
13340 instead of a nullable type.
13342 2008-04-09 Gabriel Burt <gabriel.burt@gmail.com>
13344 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Add
13345 information popup if user tries to add track(s) to a playlist from outside
13346 its primary source (since not yet implemented).
13348 * src/Core/Banshee.Services/Makefile.am: Reorder.
13350 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastManager/Source/PodcastSource.cs:
13351 Set CanAddTracks to false since it doesn't work.
13353 2008-04-09 Gabriel Burt <gabriel.burt@gmail.com>
13355 This commit makes adding and deleting from a PrimarySource async, and pops
13356 up UserJobs if those operations take very long. Very importantly, it also
13357 adds the ability to copy the track model selection so slow running jobs
13358 can process it w/o risking it changing on them.
13360 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
13361 Handle having no artist or album model gracefully.
13363 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Fixed up
13364 Add/Delete methods.
13366 * src/Core/Banshee.Services/Banshee.ServiceStack/UserJob.cs: Handle
13367 multiple Finish calls gracefully.
13369 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: New
13370 AddAllTracks method for use by MergeSource method.
13372 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Change slow
13373 operations to use a new CachedList object instead of iterating over the
13374 model's Selection, since it or the model might change underneath us. Add
13375 UserJobs for adding/deleting.
13377 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Don't raise
13378 UserNotifyUpdated if we're the active source.
13380 * src/Core/Banshee.Services/Makefile.am: New files
13382 * src/Core/Banshee.Services/Banshee.Collection.Database/CachedList.cs: New
13383 class that contains a SqliteModelCache, so it's backed by CoreCache and
13384 can be used to store info (eg the selected tracks from a source) so they
13385 can be operated on independent of the original selection/model.
13387 * src/Core/Banshee.Services/Banshee.ServiceStack/BatchUserJob.cs: UserJob
13388 convenience subclass.
13390 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
13391 Do MergeSource operations in a thread. Should probably be done in
13394 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
13397 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
13398 Get rid of OnUserNotifyUpdated, this is done in DatabaseSource now.
13400 * src/Libraries/Hyena/Hyena.Collections/RangeCollection.cs: Add Count
13401 property to Range to avoid doing End - Start + 1 everywhere.
13403 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Make work
13404 without a Selection.
13406 2008-04-10 Aaron Bockover <abock@gnome.org>
13408 * src/Libraries/Hyena.Gui/Hyena.Gui.Theatrics/Choreographer.cs:
13409 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedBox.cs: Avoid using
13410 nullable types for some stuffs
13412 2008-04-09 Scott Peterson <lunchtimemama@gmail.com>
13414 * src/Libraries/Hyena.Gui/Hyena.Widgets/MenuButton.cs:
13415 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedWidget.cs: Fixed
13416 style attachtment problem which was gave spew when the theme was
13419 2008-04-09 Aaron Bockover <abock@gnome.org>
13421 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
13422 * src/Core/Banshee.Widgets/Banshee.Widgets/StreamPositionLabel.cs:
13423 Fix DPI and size request issues
13425 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
13426 Use the generic CreateLayout cairo method in CairoExtensions
13428 * src/Libraries/Hyena.Gui/Hyena.Gui/CairoExtensions.cs: Moved the
13429 CreateLayout method from the list view to this utils class
13431 * src/Libraries/Hyena.Gui/Hyena.Widgets/MenuButton.cs: Added OnUnrealized
13433 2008-04-09 Aaron Bockover <abock@gnome.org>
13436 * build/build.rules.mk: Added a DEVEL_BUILD variable - if set, compiler
13437 warnings will be treated as errors. We'll always keep it on except for
13438 when we distcheck for a release
13440 * build/m4/banshee/gtk-sharp.m4: Require Gtk# 2.10
13442 * data/icon-theme-hicolor/Makefile.am: Copy the app icons to the local
13443 uninstalled icon theme
13445 2008-04-09 Aaron Bockover <abock@gnome.org>
13447 * build/build.rules.mk:
13448 * build/m4/banshee/daap.m4:
13449 * build/m4/banshee/libbanshee.m4:
13450 * build/m4/banshee/mono-zeroconf.m4:
13451 * build/m4/shamrock/gstreamer.m4:
13452 * configure.ac: Lots of build fixes, disable DAAP and Podcasting by default;
13453 only link against core gstreamer libraries and gdk-x11
13455 * libbanshee/banshee-transcoder.c: Remove all GnomeVFS code
13457 2008-04-09 Gabriel Burt <gabriel.burt@gmail.com>
13459 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
13460 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
13461 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
13462 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs:
13463 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs:
13464 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
13465 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
13466 * src/Core/Banshee.Services/Banshee.Collection/IHasTrackSelection.cs:
13467 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
13468 * src/Core/Banshee.Services/Banshee.Services.mdp:
13469 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
13470 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
13471 * src/Core/Banshee.Services/Makefile.am:
13472 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
13473 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs:
13474 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
13475 Rename *ListDatabaseModel to Database*ListModel.
13477 2008-04-09 Aaron Bockover <abock@gnome.org>
13479 * build/build.environment.mk:
13480 * configure.ac: Set up the sample extension in the build
13482 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
13483 Added a new TrackIntercept event that allows objects to stop the
13484 player engine from opening a trac
13486 * src/Extensions/Banshee.Sample/: Set up a quick sample extension to help
13487 new developers; it sort of breaks things right now, but I'll fix that soon
13489 2008-04-09 Gabriel Burt <gabriel.burt@gmail.com>
13491 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
13492 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Fix issue
13493 with reloading way too many things when adding tracks to a source.
13495 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
13496 Fix issues with the 'New Playlist' that appears when you drag over the
13497 source list. It now will appear under any LibrarySource when you hover
13498 over it or its children. And it will only expand the LibrarySource when
13499 within it, and collapse it when out of it (if it was collapsed to start
13500 with). Fixes BGO #410121.
13502 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
13503 When items are added to the play queue and the PlayerEngine is not already
13504 playing, set us as the playback source.
13506 2008-04-09 Scott Peterson <lunchtimemama@gmail.com>
13508 OK, I totally re-did the arrow button stuff. We still don't use the
13509 standard Gtk MenuToolButton because I am WAY to cool for it.
13510 It like _thought_ it was all cool enough to sit at my lunch table,
13511 but I was all like Ut-Uh! So we now use the sufficiently cool and
13512 totally custom MenuButton. This sucker is lean, mean, with an
13513 emphasis on correctness. No hacky-hacky here. Nosiree. I'd
13514 maybe entertain the idea that there's a better way to handle
13515 the RepeatActionButton, but I'm seriously fine with it as-is.
13517 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Use the new stuff.
13519 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackShuffleActions.cs,
13520 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackRepeatActions.cs:
13521 Added nice CreateMenu() method which does just what you think.
13523 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/NextArrowButton.cs:
13524 * src/Libraries/Hyena.Gui/Hyena.Gui/IRadioActionGroup.cs:
13525 * src/Libraries/Hyena.Gui/Hyena.Widgets/ArrowButton.cs:
13526 * src/Libraries/Hyena.Gui/Hyena.Widgets/ActionGroupButton.cs:
13527 * src/Libraries/Hyena.Gui/Hyena.Widgets/ActionButton.cs: Got rid of
13528 these god-aweful classes.
13530 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/RepeatActionButton.cs:
13531 Redone to use MenuButton.
13533 * src/Libraries/Hyena.Gui/Hyena.Widgets/MenuButton.cs: This is the
13534 lovely new widget. Pass it a widget (like a Button or a MenuButton,
13535 for example) and it will menu-fy it! If showArrow is true, a
13536 way-pretty arrow will appear to the side of the widget you pass,
13537 providing access to the menu. If showArrow is false, the widget you
13538 pass will get packed inside the button and clicking anywhere will
13541 2008-04-09 Gabriel Burt <gabriel.burt@gmail.com>
13543 * build/build.environment.mk: Banshee.Dap.Mtp depends on Mtp library.
13545 * src/Backends/Banshee.Hal/Makefile.am:
13546 * src/Backends/Banshee.Hal/Banshee.HalBackend/DeviceMediaCapabilities.cs:
13547 * src/Core/Banshee.Services/Makefile.am:
13548 * src/Core/Banshee.Services/Banshee.Hardware/IDeviceMediaCapabilities.cs:
13549 New files for exposing portable_audio_player properties.
13551 * src/Backends/Banshee.Hal/Banshee.HalBackend/Device.cs:
13552 * src/Core/Banshee.Services/Banshee.Hardware/IDevice.cs: Add Product,
13553 Vendor, and MediaCapabilities properties.
13555 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
13558 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Add
13559 ShuttingDown bool property.
13561 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
13562 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs:
13563 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
13564 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Add
13565 CanAddTracks and Merge-related overrides.
13567 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Add Dispose
13568 method, and override AddTrack/Merge methods.
13570 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Get rid
13573 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
13574 Add the ability to add tracks to DAPs. No transcoding yet, and doesn't
13575 respect FolderDepth yet.
13577 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs: Copy more
13578 initialization code over. Still far from usable.
13580 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: Call DapSource.Resolve
13581 instead of Initialize.
13583 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Add better defaults.
13585 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs: Move Dispose method
13586 up to PrimarySource. Get rid of Merge/AcceptsInput overrides.
13588 * src/Core/Banshee.Services/Banshee.Sources/ITrackModelSource.cs:
13589 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
13590 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapPlaylistSource.cs:
13591 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs: Add
13592 CanAddTracks property.
13594 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs: Call
13597 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
13598 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
13599 Use updated AddSelectedTracks method.
13601 * src/Libraries/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs: Add GetRawValue
13602 method for use in provider's Copy method.
13604 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Add Copy
13605 method for transferring all db fields (except pk) from one instance to another.
13607 2008-04-09 Mike Urbanski <michael.c.urbanski@gmail.com>
13609 * src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastFeed.cs:
13610 Fixes table name clashes on dbs migrated from banshee 0.x. drr...
13612 2008-04-08 Aaron Bockover <abock@gnome.org>
13614 This commit adds the initial checkin of the new podcasting code by
13615 Mike Urbanski. It's rough in many areas around the extension, but it
13616 works for the most part. It's very much a WIP, but it's quite awesome.
13618 * build/build.environment.mk:
13619 * configure.ac: Integrate the Migo and Banshee.Podcasting assemblies
13622 * src/Libraries/Migo: Migo is the new library that does all the feed
13623 reading and downloading, among other things; it's reusable and not
13624 Banshee specific, sort of like Hyena for feed related problems
13626 * src/Extensions/Banshee.Podcasting: Banshee.Podcasting is the extension
13627 that provides the actual podcast support in Banshee, and uses Migo to
13628 do the heavy lifting
13630 2008-04-08 Scott Peterson <lunchtimemama@gmail.com>
13632 * src/Extensions/Banshee.NotificationArea/Resources/NotificationAreaMenu.xml:
13633 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
13634 Got rid of references to old ShuffleAction.
13636 2008-04-08 Scott Peterson <lunchtimemama@gmail.com>
13638 * src/Libraries/Hyena.Gui/Hyena.Widgets/ActionButton.cs: Fixed stupid
13641 2008-04-08 Scott Peterson <lunchtimemama@gmail.com>
13643 * src/Libraries/Hyena.Gui/Hyena.Widgets/ArrowButton.cs: Cosmetic
13646 * src/Libraries/Hyena.Gui/Hyena.Widgets/ActionButton.cs: Got rid of
13647 some useless checks. There are some cornercases I'm just not
13648 prepared to spend the energy to handle properly.
13650 2008-04-08 Scott Peterson <lunchtimemama@gmail.com>
13652 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackShuffleActions.cs:
13653 Ctor now takes a PlaybackActions object so that it always has a
13654 reference to the next action.
13656 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Move
13657 instantiation of the repeat and shuffle actions to after the other
13658 actions so that the shuffle action can change the next action's
13661 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/NextArrowButton.cs:
13662 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/RepeatActionButton.cs:
13663 Set visual style in ctor.
13665 * src/Libraries/Hyena.Gui/Hyena.Widgets/ArrowButton.cs: Derives from
13666 ActionGroupButton and uses an ActionButton for the "main" button
13667 part. Also proxies things like style, relief, &c. to the main
13670 * src/Libraries/Hyena.Gui/Hyena.Widgets/ActionGroupButton.cs: Now
13671 derives from ActionButton.
13673 * src/Libraries/Hyena.Gui/Hyena.Widgets/ActionButton.cs: ActionButton
13674 is now the base of custom action-bound buttons. It doesn't do the
13675 cool Action.ConnectProxy shit that ToolButton does (because Gtk+
13676 Suxorz Teh Big One!!1!11), but it's pretty close. It also
13677 integrates with the style of a Toolbar you pass it.
13679 2008-04-08 Aaron Bockover <abock@gnome.org>
13681 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs:
13682 Properly calculate the row height based on actual pango layout calculations
13683 so that the row height will adapt to DPI changes
13685 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
13686 Recalculate the header size when DPI changes
13688 2008-04-07 Aaron Bockover <abock@gnome.org>
13690 * src/Libraries/Hyena.Gui/Hyena.Gui/PangoCairoHelper.cs:
13691 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
13692 Let Cairo know what DPI we're using so text is rendered at the right size,
13693 and recalculate the row height on style set in case the DPI changed;
13694 fixes BGO #522500, and is completely awesome - I recommend people change
13695 their DPI settings while Banshee is running a few times to really take in
13696 the awesomeness of this fix. Really.
13698 I also added a nicer way for row heights to be queried so renderers can
13699 provide their desired heights; it's a better solution than the previous
13700 hack, which was not nice.
13702 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs:
13703 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellTrack.cs:
13704 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Provide
13705 row height calculating functions; ColumnCellText's version is static and
13706 is referenced by ListView as the default calculator
13708 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TerseTrackListView.cs:
13709 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/AlbumListView.cs:
13710 Set the renderer row height computing functions to the view
13712 2008-04-07 Gabriel Burt <gabriel.burt@gmail.com>
13714 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
13715 Disable the case-sensitive LIKEs pragma as it was breaking queries. Fixes
13718 2008-04-07 Gabriel Burt <gabriel.burt@gmail.com>
13720 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs: Patch from
13721 Michael Monreal adding a disconnect icon. Fixes BGO #526815.
13723 2008-04-07 Gabriel Burt <gabriel.burt@gmail.com>
13725 * ChangeLog: Forgot to thank Bertrand two commits ago.
13727 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/AlbumSet.cs:
13728 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpDap.cs:
13729 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpDapTrackInfo.cs: Copied over
13730 from stable, not yet built.
13732 2008-04-07 Gabriel Burt <gabriel.burt@gmail.com>
13734 * src/Dap/Banshee.Dap.Mtp/Makefile.am: Don't build unless enabled.
13736 2008-04-07 Gabriel Burt <gabriel.burt@gmail.com>
13738 * build/build.environment.mk: Add Mtp and Banshee.Dap.Mtp deps.
13740 * build/build.rules.mk: Handle *.config files.
13742 * build/m4/banshee/mono-zeroconf.m4:
13743 * src/Extensions/Banshee.Daap/Makefile.am: Make Daap support optional,
13744 though on by default. Thanks to Bertrand Lorentz for the patch. Fixes
13747 * build/m4/banshee/dap-mtp.m4:
13748 * configure.ac: Check for libmtp, and make MTP support optional (currently
13749 off by default, enable with --enable-mtp).
13751 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp.addin.xml:
13752 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp.mdp:
13753 * src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs:
13754 * src/Dap/Banshee.Dap.Mtp/Makefile.am:
13756 * src/Dap/Makefile.am: New skeleton for Mtp device support.
13758 * src/Libraries/Libraries.mds:
13759 * src/Libraries/Makefile.am:
13760 * src/Libraries/Mtp/*: Move libmtp-sharp code over from latest in stable.
13763 2008-04-07 Aaron Bockover <abock@gnome.org>
13765 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/ExtensionManagerDialog.cs:
13766 Nothing here yet, hopefully I can actually spare some time for it
13768 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
13769 * src/Libraries/Hyena.Gui/Hyena.Gui/ShadingTestWindow.cs: Removed rogue
13770 LayoutPath calls, replaced with ShowLayout
13772 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Did some
13773 profiling and switched the text renderer to Cairo since it's actually
13774 faster than GTK - this is fucking awesome:
13776 Cairo (pango_cairo_show_layout): 0.303
13777 GTK (gtk_paint_layout): 0.369
13778 Cairo (pango_cairo_layout_path): 0.980
13780 This means text is now drawn directly to the cairo context and not to
13781 the GdkDrawable, which means we'll be able to cache the rendering to
13782 an image surface which supports an alpha channel (unlike GdkPixmap), which
13783 will lead to more performance improvements, specifically when dragging
13785 * src/Libraries/Hyena.Gui/Hyena.Gui/PangoCairoHelper.cs: Added a contract
13786 argument to LayoutPath that conveys it has crappy performance
13788 2008-04-07 Scott Peterson <lunchtimemama@gmail.com>
13790 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Pack in the
13793 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackShuffleActions.cs:
13794 Adds all of the shuffle action definitions.
13796 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Use new
13799 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackRepeatActions.cs:
13800 Replaced if/elses with a cast of the action value to the enum type.
13802 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/NextArrowButton.cs:
13803 The next button now has a drop-down menu to select the shuffle
13806 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/RepeatActionButton.cs:
13807 Moved all of the logic into Hyena.Widgets.ActionButton.
13809 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
13810 Added new shuffle actions to the menu, replace the old next button
13811 with a placeholder for the fancy new one.
13813 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackShuffleMode.cs:
13814 Added values for shuffling by song, artist, album.
13816 * src/Libraries/Hyena.Gui/Hyena.Gui/IRadioActionGroup.cs: An interface
13817 we seem to need until someone comes up with a more creative
13820 * src/Libraries/Hyena.Gui/Hyena.Widgets/ArrowButton.cs: This widget
13821 visually works just the Firefox 2 forward/back buttons. There is a
13822 main button which is tied to the active action and an arrow to the
13823 right side. Clicking the arrow brings up a menu of the actions in
13824 the IRadioActionGroup.
13826 * src/Libraries/Hyena.Gui/Hyena.Widgets/ActionButton.cs: An
13827 ActionButton is a button which pops up a menu when you click on it.
13828 It is tied to an IRadioActionGroup.
13830 2008-04-07 Gabriel Burt <gabriel.burt@gmail.com>
13832 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs: Remove
13833 unnecessary Reload calls and method/property overrides.
13835 2008-04-07 Gabriel Burt <gabriel.burt@gmail.com>
13837 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Save the
13838 original IconName for an action within UpdateAction, like we do for
13839 labels, so we can restore it when we switch to a source that doesn't
13842 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Use IconName
13843 instead of the StockId so icons can be overridden.
13845 2008-04-07 Gabriel Burt <gabriel.burt@gmail.com>
13847 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
13848 Add force_copy protected bool that we pass to CopyToLibraryIfAppropriate.
13849 Used when importing DAPs to force copy to library.
13851 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
13852 Rename CopyToLibrary method, and add bool arg that forces it to copy the
13853 track, even if the user's preference is not to do so.
13855 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
13857 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Fix up
13858 ImportSourceAction so it's now functional.
13860 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
13861 Avoid spawning unnecessary thread. Fix bug with accessing the
13862 BaseDirectory; cache the Hal.Device's mount point property. Implement
13863 IImportSource, so can now import MassStorageSources from the Media ->
13864 Import menu and via its context menu (dnd to come).
13866 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs: Implement most of
13869 2008-04-07 Alexander Hixon <hixon.alexander@mediati.org>
13871 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapService.cs: Only show the
13872 DAAP container source if we actually have any shares available, otherwise
13873 don't spam the source list.
13875 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs:
13876 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapPlaylistSource.cs: Make
13877 sure elements are actually in the list before we do any operations on
13880 2008-04-07 Gabriel Burt <gabriel.burt@gmail.com>
13882 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
13883 Fix love/ban icons.
13885 * src/Libraries/Lastfm/Lastfm/RadioConnection.cs: Remove unnecessary
13886 logging, log exceptions with Log.Exception (e).
13888 2008-04-06 Aaron Bockover <abock@gnome.org>
13890 This commit functionally complete ripping. Ripped albums will now show
13891 up in the library with all the metadata properly stored and organized.
13892 There are now only a few things to polish regarding ripping.
13894 * libbanshee/banshee-ripper.c: Removed a bad unref call - the pipeline
13895 should only be unreffed when destroying it
13897 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/TagList.cs: Merge
13898 release date, and musicbrainz ID properties into the tag list
13900 * src/Core/Banshee.Core/Banshee.Collection/AlbumInfo.cs: Added Release
13901 Date and MusicBrainzId properties
13903 * src/Core/Banshee.Core/Banshee.Collection/ArtistInfo.cs:
13904 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Added
13905 MusicBrainzId properties
13907 * src/Core/Banshee.Core/Banshee.Streaming/CommonTags.cs: Added GStreamer
13908 tag names for MusicBrainz
13910 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
13911 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
13912 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
13913 Bind MusicBrainzId properties to respective database columns so these
13914 are now stored/loaded properly
13916 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
13917 Support saving a lot of extra information from MusicBrainz and properly
13918 create the album, artist, and album artist records
13920 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs:
13921 Save the track, artist, and album artist records into the database
13922 when a track finishes ripping
13924 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdTrackInfo.cs:
13925 Extend DatabaseTrackInfo and persist artist, album, and album artist
13926 objects on the track which can be saved to the database when ripped
13928 2008-04-06 Gabriel Burt <gabriel.burt@gmail.com>
13930 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
13931 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
13932 Make sure to load all columns in FindOrCreate methods.
13934 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
13935 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
13936 Change PrimarySourceIds to a int [].
13938 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
13939 Fix bug in ContainsUri method.
13941 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs: Add support
13942 for Arrays as query values (for use in "IN (?)" conditions).
13944 * tests/Hyena/SqliteCommandTests.cs: Test array support.
13946 2008-04-06 Gabriel Burt <gabriel.burt@gmail.com>
13948 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
13949 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
13950 Add UpdateOrCreate methods that will overwrite an artist/album if it
13951 already exists, otherwise will just save the new one.
13953 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Change Edit
13954 Track Metadata to Edit Track Information in pursuit of user-friendliness.
13955 Thanks to Chris Lord for the suggestion.
13957 2008-04-06 Gabriel Burt <gabriel.burt@gmail.com>
13959 This patch extends the relative-Uri goodness we use for Library tracks to
13960 any PrimarySource's tracks, meaning if your DAP has one mount point one
13961 time, and another the next, we'll detect the songs that are already in the
13962 database since we now check against the relative Uri. Also, delete from
13963 MassStorage sources is working.
13965 * src/Core/Banshee.Core/Banshee.IO/IFile.cs:
13966 * src/Core/Banshee.Core/Banshee.IO/File.cs:
13967 * src/Core/Banshee.Core/Banshee.IO.SystemIO/File.cs:
13968 * src/Backends/Banshee.Unix/Banshee.IO.Unix/File.cs: Add Copy method.
13970 * src/Core/Banshee.Core/Banshee.Base/Paths.cs: Factory MakePathRelative
13971 out, not-library specific.
13973 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
13974 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
13975 Add a couple virtual properties for making the relative-Uri stuff
13976 PrimarySource agnostic.
13978 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
13979 Make the process of making a Uri relative and reconstructing it from the
13980 relative path saved in the db generic so it can be used by other
13981 PrimarySources. Scope ContainsUri method to one or more primary sources,
13982 since it's fine if a track is on a DAP and in the library.
13984 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Add methods
13985 for making the Uri of a track relative (if possible). Add default
13986 DeleteTrackRange implementation pulled from LibrarySource, but make it
13987 call a virtual DeleteTrack method that each PrimarySource can implement.
13989 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
13990 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs: Override
13991 DeleteTrack method to delete files from disk.
13993 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Don't show the
13994 context menu at all if it has no visible items. Fix crasher with the
13995 playlist menu b/c of recent icon changes.
13997 * tests/Makefile.am:
13998 * tests/Banshee.Core/TaglibReadWriteTests.cs: Test our read/write tags to
13999 file code. Commented out b/c abock doesn't want the 390KB of music files
14002 * tests/Hyena/QueryTests.cs: Changes to AssertForEach method.
14004 2008-04-06 Aaron Bockover <abock@gnome.org>
14006 * libbanshee/banshee-gst.c: Added banshee_is_debugging and
14007 banshee_get_version_number functions; gstreamer_initialize now takes a
14008 debugging argument that banshee_is_debugging will return
14010 * libbanshee/banshee-ripper.c: Save the GstTagList that is passed to
14011 the rip function to the encoder element; fixed bug with setting the
14012 encoder version tag
14014 * libbanshee/banshee-tagger.c: Added bt_tag_list_add_date and
14015 bt_tag_list_dump, which will dump the entire contents of a GstTagList
14016 for debugging purposes
14018 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/AudioCdRipper.cs:
14019 Delete a ripped file if the file was not finished
14021 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/Service.cs:
14022 Pass the debug mode to libbanshee
14024 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/TagList.cs:
14025 Added AddDate and AddYear functions, binding bt_tag_list_add_date
14027 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
14028 Read the disc number and release date from musicbrainz and set it on
14029 the disc tracks so this information will be written to the output files
14031 2008-04-06 Aaron Bockover <abock@gnome.org>
14033 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/GtkTheme.cs: Fixed column
14036 2008-04-06 Aaron Bockover <abock@gnome.org>
14038 * build/build.rules.mk: Fixed up the new private icon theme rules so the
14039 icons get 'installed' when building, installing, and uninstalling; this
14040 should fix the missing icon issues now when you run banshee installed
14042 * build/private-icon-theme-installer: A script for installing and
14043 uninstalling the private icon theme files
14045 * src/Extensions/Makefile.am: Enabled DAAP again, halex says it won't
14046 ruin the database now
14048 2008-04-06 Aaron Bockover <abock@gnome.org>
14050 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationAreaBox.cs:
14051 Fixed the icon sizing issue hopefully once and for all - still the same
14052 proper result but without the invalid size warning
14054 2008-04-06 Aaron Bockover <abock@gnome.org>
14056 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/RepeatActionButton.cs:
14057 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs:
14058 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs:
14059 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackRepeatActions.cs: Fixed
14060 some more icon theme issues relating to switching a lot of stuff from
14061 stock icons to theme icons
14063 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerLevelsBox.cs:
14064 * src/Core/Banshee.Widgets/Banshee.Widgets/DiscUsageDisplay.cs:
14065 * src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs:
14066 * src/Core/Banshee.Widgets/Banshee.Widgets/Tile.cs: Updated to use some
14067 of the drawing utilites that moved into Hyena.Gui
14069 * src/Core/Banshee.Widgets/Banshee.Widgets/ActionButton.cs:
14070 * src/Core/Banshee.Widgets/Banshee.Widgets/CoverArtThumbnail.cs:
14071 * src/Core/Banshee.Widgets/Banshee.Widgets/CoverArtView.cs:
14072 * src/Core/Banshee.Widgets/Banshee.Widgets/DrawingUtilities.cs:
14073 * src/Core/Banshee.Widgets/Banshee.Widgets/EllipsizeLabel.cs:
14074 * src/Core/Banshee.Widgets/Banshee.Widgets/FadingAlignment.cs:
14075 * src/Core/Banshee.Widgets/Banshee.Widgets/LinearProgress.cs:
14076 * src/Core/Banshee.Widgets/Banshee.Widgets/MultiStateToggleButton.cs:
14077 * src/Core/Banshee.Widgets/Banshee.Widgets/RadialProgress.cs:
14078 * src/Core/Banshee.Widgets/Banshee.Widgets/ShadowContainer.cs:
14079 * src/Core/Banshee.Widgets/Banshee.Widgets/SimpleNotebook.cs:
14080 * src/Core/Banshee.Widgets/Banshee.Widgets/ToggleState.cs: Deleted these
14081 legacy widgets, hooray for bloat cut
14083 2008-04-06 Aaron Bockover <abock@gnome.org>
14085 * libbanshee/banshee-ripper.c: More cleanup and refactoring, it's mostly
14086 working but tags are not yet saved since I changed the way we do tagging
14089 * libbanshee/banshee-tagger.c: Basically this API provides a 1:1 with
14090 the GstTagList API and exists to make managed interop easier
14092 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/TagList.cs: A wrapper
14093 and utility class around GstTagList that converts TrackInfo objects
14094 into GstTagList objects that can be passed directly to a GStreamer
14095 element that supports tagging
14097 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/AudioCdRipper.cs:
14098 Wrote most of the ripper stuff - it works, but there are quirks not
14099 yet solved - it's not completely done
14101 * src/Core/Banshee.Services/Banshee.MediaEngine/IAudioCdRipper.cs:
14102 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs:
14103 Updated some interface members
14105 2008-04-05 Scott Peterson <lunchtimemama@gmail.com>
14107 * src/Libraries/MusicBrainz/*: Synced w/ MB#
14109 2008-04-05 Scott Peterson <lunchtimemama@gmail.com>
14111 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
14112 Got rid of unnessisary null checks.
14114 2008-04-05 Scott Peterson <lunchtimemama@gmail.com>
14116 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
14117 Got rid of now unnessiary work around and use new Query overload.
14119 * src/Libraries/MusicBrainz/MusicBrainz/MusicBrainzObject.cs:
14120 * src/Libraries/MusicBrainz/MusicBrainz/Relation.cs:
14121 * src/Libraries/MusicBrainz/MusicBrainz/Label.cs:
14122 * src/Libraries/MusicBrainz/MusicBrainz/Release.cs:
14123 * src/Libraries/MusicBrainz/MusicBrainz/Event.cs:
14124 * src/Libraries/MusicBrainz/MusicBrainz/Disc.cs:
14125 * src/Libraries/MusicBrainz/MusicBrainz/MusicBrainzEntity.cs:
14126 * src/Libraries/MusicBrainz/MusicBrainz/XmlRequestEventArgs.cs:
14127 * src/Libraries/MusicBrainz/MusicBrainz/LocalDisc.cs:
14128 * src/Libraries/MusicBrainz/MusicBrainz/Utils.cs:
14129 * src/Libraries/MusicBrainz/MusicBrainz/DiscLinux.cs:
14130 * src/Libraries/MusicBrainz/MusicBrainz/Track.cs:
14131 * src/Libraries/MusicBrainz/MusicBrainz/MusicBrainzItem.cs:
14132 * src/Libraries/MusicBrainz/MusicBrainz/Query.cs:
14133 * src/Libraries/MusicBrainz/MusicBrainz/MusicBrainzException.cs:
14134 src/Libraries/MusicBrainz/MusicBrainz/DiscWin32.cs:
14135 * src/Libraries/MusicBrainz/MusicBrainz/Artist.cs:
14136 * src/Libraries/MusicBrainz/MusicBrainz/MusicBrainzService.cs: Synced
14139 2008-04-05 Scott Peterson <lunchtimemama@gmail.com>
14141 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
14142 Reverted last change - it apparently borks migration :(
14144 2008-04-05 Scott Peterson <lunchtimemama@gmail.com>
14146 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
14147 Minor SQL improvement when getting the count of items in an
14150 2008-04-05 Alexander Hixon <hixon.alexander@mediati.org>
14152 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapPlaylistSource.cs: Small
14155 2008-04-05 Alexander Hixon <hixon.alexander@mediati.org>
14157 * src/Extensions/Banshee.Daap/Daap/ServiceLocator.cs: Try to resolve all
14158 possible addresses for the first resolved hostname if it gives us an IPv6
14161 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapPlaylistSource.cs: Child
14162 playlist source for DAAP sources. Uses DaapTrackInfo from parent source to
14163 populate trackmodel.
14165 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs: Create playlist
14166 sources if the DAAP share provides any. Also hookup different icons for
14167 protected/unprotected shares. Now also handles the remote removing tracks
14168 from the share and updating our local view to reflect changes.
14170 2008-04-04 Gabriel Burt <gabriel.burt@gmail.com>
14172 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmTrackInfo.cs:
14173 Whoops, I had Alex only scrobble TrackInfos with the Music attribute, but
14174 I forgot Last.fm radio tracks didn't. Fixes BGO #525464.
14176 2008-04-04 Aaron Bockover <abock@gnome.org>
14178 * libbanshee/banshee-ripper.c: Renamed and new API akin to what I did
14179 for the player engine; started cleaning up the code, but not finished
14181 * libbanshee/gst-cd-rip.h:
14182 * libbanshee/gst-misc.h: Removed, not needed
14184 * libbanshee/gst-transcode-0.10.c: Fixed bloated ctor and removed dead code
14186 2008-04-03 Aaron Bockover <abock@gnome.org>
14188 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/AudioCdRipper.cs:
14189 Get the cd importing profile and generate the pipeline for the encoder
14191 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/Service.cs: Ported
14192 the GStreamer media profile process stuff, including the SExpEngine
14193 extensions/GStreamer binding, fully enabling GStreamer media profiles
14195 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs:
14198 * src/Libraries/Hyena/Hyena.SExpEngine/EvaluatorBase.cs: Minor API fix
14200 2008-04-03 Gabriel Burt <gabriel.burt@gmail.com>
14202 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
14203 Only load volumes that have a .is_audio_player file. For now.
14205 2008-04-03 Gabriel Burt <gabriel.burt@gmail.com>
14207 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
14208 When the Play Queue is initialized, if it has tracks and the PlayerEngine
14209 is not already playing, set it as the playback source.
14211 2008-04-03 Aaron Bockover <abock@gnome.org>
14213 * build/build.rules.mk:
14214 * data/audio-profiles/Makefile.am: Changed the uninstall data directory
14215 layout inside of bin/; copy audio profiles as well so they'll work
14216 bundled or uninstalled
14218 * src/Core/Banshee.Core/Banshee.Base/ApplicationContext.cs: Minor fixes
14220 * src/Core/Banshee.Core/Banshee.Base/Paths.cs: Fixed up the code to detect
14221 what to use as 'datadir' - if there is a share directory in the directory
14222 that contains the entry assembly, we will use that directory as the
14223 installation prefix which means external datadir files will work
14224 when running uninstalled or if bundled, like we'll ship on Windows;
14225 otherwise the proper prefix is calculated (i.e. /usr)
14227 * src/Core/Banshee.Services/Banshee.MediaProfiles:
14228 * src/Core/Banshee.ThickClient/Banshee.MediaProfiles.Gui: Renamed from
14229 Banshee.AudioProfiles* since one day we'll support video profiles as well
14231 * src/Core/Banshee.Services/Banshee.MediaProfiles/MediaProfileManager.cs:
14232 Fix up the profile loading/path code so profiles actually load now
14234 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/PreferencesDialog.cs:
14237 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeIconFactory.cs:
14238 Use the new datadir detection path
14240 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs:
14243 2008-04-03 Gabriel Burt <gabriel.burt@gmail.com>
14245 This patch adds back the extension code from DapCore and completes the
14246 separation of the MassStorage support from the DapService.
14248 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
14249 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
14250 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
14251 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs:
14252 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Provide a way for Sources
14253 to be lazily initialized with a protected virtual Initialize method that
14254 each subclass overrides, calling base and then its own intialization.
14256 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
14257 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
14258 Rename Initialize method so doesn't conflict with above.
14260 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage.addin.xml:
14261 Extend the DeviceClass node.
14263 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
14264 Lazily intialize, after its seen that the Initialize (IDevice) will
14267 * src/Dap/Banshee.Dap/Makefile.am:
14268 * src/Dap/Banshee.Dap.MassStorage/Makefile.am: Fix build.
14270 * src/Dap/Banshee.Dap/Banshee.Dap.addin.xml: Define DeviceClass extension
14271 point, from DapCore.
14273 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs: When new DAP
14274 DeviceClasses are loaded, check existing devices to see if they are now
14277 * src/Makefile.am: Add Dap back to the build.
14279 2008-04-03 Aaron Bockover <abock@gnome.org>
14281 * src/Core/Banshee.Services/Banshee.MediaEngine/IAudioCdRipper.cs:
14282 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/AudioCdRipper.cs:
14283 Added error reporting
14285 * src/Backends/Banshee.Hal/Banshee.HalBackend/CdromDevice.cs:
14286 * src/Core/Banshee.Services/Banshee.Hardware/ICdromDevice.cs:
14287 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
14288 Added drive door locking support
14290 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs: Handle
14291 errors and dispose better; lock and unlock the drive door
14293 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
14294 Better error handling and do not allow ejecting if the door is locked
14296 2008-04-03 Gabriel Burt <gabriel.burt@gmail.com>
14298 Almost done with move. Banshee.Dap* not in build yet.
14300 * build/build.environment.mk:
14301 * configure.ac: Add Banshee.Dap setup.
14303 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/DapService.cs:
14304 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/DapSource.cs:
14305 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/RemovableSource.cs:
14306 * src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs:
14307 * src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs:
14308 * src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs: Moved.
14310 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage.mdp:
14311 * src/Dap/Banshee.Dap.MassStorage/Makefile.am: Removed the above files.
14313 * src/Dap/Banshee.Dap/Banshee.Dap.addin.xml:
14314 * src/Dap/Banshee.Dap/Banshee.Dap.mdp:
14315 * src/Dap/Banshee.Dap/Makefile.am: New files for Banshee.Dap.
14318 * src/Dap/Makefile.am: Add Banshee.Dap.
14320 * src/Extensions/Extensions.mds:
14321 * src/Extensions/Makefile.am: Remove the Dap.MassStorage extension entries.
14323 2008-04-03 Gabriel Burt <gabriel.burt@gmail.com>
14325 * src/Extensions/Banshee.Dap.MassStorage/*:
14326 * src/Dap/Banshee.Dap.MassStorage/*: Move from Extensions to Dap.
14328 2008-04-03 Gabriel Burt <gabriel.burt@gmail.com>
14330 * src/Dap/*: Remove obsolete code.
14332 2008-04-03 Aaron Bockover <abock@gnome.org>
14334 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs:
14335 Implemented all of the rip queue/interaction logic and user job stuff;
14336 very nice and pretty status reporting including speed calculations; this
14337 part of the ripper is mostly done, only need to do the GStreamer work now
14339 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/AudioCdRipper.cs:
14340 Implemented a dummy ripper that pretends to be ripping but is really
14341 just some fancy clock work so I could have something to test the
14342 extension ripper code as I went without destroying my drive
14344 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
14345 Added UnlockAllTracks
14347 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdTrackInfo.cs:
14348 Added RipEnabled property that we'll connect to check boxes at some point
14350 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationAreaBox.cs:
14351 Force the icon size to 22px so it doesn't look funny - the image was
14352 choosing a 16px icon which looked like ass and didn't fit in
14354 2008-04-03 Aaron Bockover <abock@gnome.org>
14356 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs:
14357 * src/Core/Banshee.Services/Banshee.ServiceStack/UserJob.cs:
14358 * src/Core/Banshee.Services/Banshee.ServiceStack/TestUserJob.cs:
14359 * src/Core/Banshee.Services/Banshee.ServiceStack/InterfaceAction.cs:
14360 * src/Core/Banshee.Services/Banshee.ServiceStack/IUserJob.cs:
14361 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs:
14362 Removed the Name property from UserJob as it's a bit redundant and annoying
14364 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Set the
14365 IconName property instead of StockId
14367 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeIconFactory.cs: Removed
14368 a ton of legacy code to load theme and resource icons into the icon theme
14369 and stock icon set; support loading of a custom proper icon theme from
14370 disk; no more resources - much easier to maintain and properly flexible
14372 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationType.cs:
14373 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
14374 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs: Updated
14377 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs: Stubbed
14380 * build/build.rules.mk: Copy theme icons into a proper private icon theme
14381 that will work when running uninstalled
14383 2008-04-03 Gabriel Burt <gabriel.burt@gmail.com>
14385 * src/Backends/Banshee.Hal/Banshee.HalBackend/Device.cs: Bring a function
14386 for getting the best name for a Hal.Device over from stable.
14388 * src/Extensions/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/RemovableSource.cs:
14389 Add BytesUsed, BytesCapacity, and StorageUsageFraction properties.
14391 * src/Extensions/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
14392 Implement BytesUsed, BytesCapacity.
14394 2008-04-03 Gabriel Burt <gabriel.burt@gmail.com>
14396 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
14397 Avoid NRE when loading dependents of smart playlist.
14399 2008-04-03 Gabriel Burt <gabriel.burt@gmail.com>
14401 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Playlists
14402 and smart playlsits loaded by each PrimarySource now.
14404 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: When loaded,
14405 load our playlists and smart playlists.
14407 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: In AddChildSource
14408 check that we don't already have this child.
14410 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Hide the
14411 Remove and Delete actions unless CanRemove/Delete true. Previously just
14412 set them insensitive.
14414 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Add
14415 RemovableSource context menu.
14417 * src/Extensions/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/RemovableSource.cs:
14418 Set the context menu action path property. On dispose, clear children.
14419 And don't allow removing tracks (delete only). Add Merge* foo from
14420 PlaylistSource, but not really hooked up yet.
14422 * src/Extensions/Banshee.Dap.MassStorage/Makefile.am: MD sorted.
14424 2008-04-03 Aaron Bockover <abock@gnome.org>
14426 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnHeaderCellText.cs:
14427 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
14428 Explicitly set TextAsForeground as necessary when entering the header
14429 and row drawing methods since now we use a single cell context object;
14430 fixes regression where lists with headers had all cell text drawn using
14431 the foreground color, not the foreground color for the header and the
14432 text color for the rows
14434 2008-04-03 Gabriel Burt <gabriel.burt@gmail.com>
14436 This patch adds the first support for DAPs to trunk. It currently only
14437 support loading the songs/videos on a USB drive, but synching, adding,
14438 removing, transcoding etc are not implemented yet.
14441 * build/build.environment.mk:
14442 * src/Extensions/Makefile.am:
14443 * src/Extensions/Extensions.mds: Add Banshee.Dap.MassStorage
14445 * src/Backends/Banshee.Hal/Banshee.HalBackend/Device.cs: Make Uuid virtual
14446 and HalDevice internal.
14448 * src/Backends/Banshee.Hal/Banshee.HalBackend/Volume.cs: Do not treat
14449 unmounted volumes as existing - intead, wait for them to be mounted and
14450 then notify they've been added.
14452 * src/Backends/Banshee.Hal/Banshee.HalBackend/HardwareManager.cs: Make
14453 method internal so Volume can access them.
14455 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs: Add
14456 property to keep the user job hidden, used by MassStorageSource when
14457 loading its tracks.
14459 * src/Backends/Banshee.Hal/Banshee.HalBackend/BlockDevice.cs:
14460 * src/Core/Banshee.Services/Banshee.Hardware/IBlockDevice.cs: Add
14461 IsRemovable property.
14463 * src/Core/Banshee.Services/Banshee.Hardware/IVolume.cs: Remove IsMounted
14464 property, rename IsMountedReadOnly to IsReadOnly, and add ShouldIgnore and
14465 FileSystem properites.
14467 * src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs: Authors.
14469 * src/Core/Banshee.Services/Banshee.PlayerMigration/AmarokPlayerImportSource.cs:
14470 Call renamed ImportTrack method.
14472 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Lazy
14473 initialize the ErrorSource.
14475 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
14476 Factor most everythign out into DatabaseImportManager so can be reused for
14477 all sorts of disk-based primary sources.
14479 * src/Core/Banshee.Services/Makefile.am:
14480 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseImportManager.cs:
14481 Take most methods from LibraryImportManager, allow setting the ErrorSource
14482 and the method that chooses what primary source to put a DatabaseTrackInfo
14485 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Add SetStatus that
14486 gives access to every detail of the StatusMessage.
14488 * src/Extensions/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage.addin.xml:
14489 * src/Extensions/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage.mdp:
14490 * src/Extensions/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/DapService.cs:
14491 * src/Extensions/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/DapSource.cs:
14492 * src/Extensions/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageSource.cs:
14493 * src/Extensions/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/RemovableSource.cs:
14494 * src/Extensions/Banshee.Dap.MassStorage/Makefile.am: New extension, first
14495 pass at loading disk-based volumes. Currently only loads usb mass storage
14496 drives. Adding and deleting tracks on these drives is not yet tested.
14498 * src/Libraries/Hyena/Hyena.Data/PropertyStore.cs: Handle set value == null.
14500 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtistListView.cs:
14501 Add todo for artist/browser context menu.
14503 2008-04-03 Scott Peterson <lunchtimemama@gmail.com>
14505 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
14506 Instantiate the CellContext on realization.
14508 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
14509 Use one CellContext all the time, just changing properties when we
14512 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/CellContext.cs: Made all
14513 properties settable and got rid of fancy constructor.
14515 * src/Libraries/Hyena.Gui/Hyena.Widgets/SmoothScrolledWindow.cs: Made
14518 2008-04-02 Gabriel Burt <gabriel.burt@gmail.com>
14520 * src/Libraries/Hyena/Hyena.Query/QueryField.cs: Fix issue with searching
14521 and NULL values, eg "a not like '%a%'" would not match NULL values.
14523 2008-04-02 Scott Peterson <lunchtimemama@gmail.com>
14525 * src/Libraries/Hyena.Gui/Hyena.Widgets/SmoothScrolledWindow.cs: More
14528 2008-04-02 Scott Peterson <lunchtimemama@gmail.com>
14530 You can now pass --debug-sql to get a full log of all SQL commands
14533 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
14534 Listen to Executing event and log the command text if we're
14537 * src/Core/Banshee.Core/Banshee.Base/ApplicationContext.cs: We're also
14538 debugging if --debug-sql was passed.
14540 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs: Raise
14541 HyenaSqliteConnection.Executing event.
14543 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Added
14546 2008-04-02 Scott Peterson <lunchtimemama@gmail.com>
14548 * src/Libraries/Hyena.Gui/Hyena.Widgets/SmoothScrolledWindow.cs:
14549 Removed max velocity limit.
14551 2008-04-02 Aaron Bockover <abock@gnome.org>
14553 * libbanshee/banshee-player.c: Implement better null/pause state selection
14554 when handling a playback stop request; always go to NULL if the caller
14555 requests it, but override PAUSED requests with NULL if the playing
14556 resource is not CDDA
14558 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
14559 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngine.cs:
14560 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
14561 Allow Close callers to force the NULL state (e.g. release all resources
14562 forcefully so ejecting media can happen cleanly, for instance)
14564 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs:
14565 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
14566 Stubbed some more stuff out, still not working (ripping); ejecting while
14567 playing works again
14569 2008-04-02 Scott Peterson <lunchtimemama@gmail.com>
14571 This adds experimental smooth scrolling. The behavior still needs to be
14572 tweaked, and comments/opinions are welcome. To enable smooth
14573 scrolling, run banshee with the command line argument --smooth-scroll.
14575 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs:
14576 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedBox.cs:
14577 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedVBox.cs:
14578 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedHBox.cs:
14579 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedWidget.cs:
14580 * src/Libraries/Hyena.Gui/Hyena.Gui.Theatrics/Choreographer.cs: Fixed
14581 some namespace stuff.
14583 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
14584 Use smooth scrolling if --smooth-scroll command argument is passed.
14586 * src/Libraries/Hyena.Gui/Hyena.Widgets/SmoothScrolledWindow.cs: A
14587 first-pass smooth scrolling widget.
14589 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
14591 * src/Extensions/Makefile.am: Include the Daap extension here too.
14593 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
14595 * src/Backends/Banshee.Unix/Banshee.IO.Unix/Directory.cs:
14596 * src/Core/Banshee.Core/Banshee.Base/SafeUri.cs:
14597 * src/Core/Banshee.Widgets/Banshee.Widgets/RadialProgress.cs:
14598 DllImport libglib-2.0.so.0 and libgdk-x11-2.0.so.0 instead of
14599 libglib-2.0.so and libgdk-x11-2.0.so as the latter are only
14600 in the development packages for many distributions.
14602 2008-04-01 Aaron Bockover <abock@gnome.org>
14604 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/AudioCdRipper.cs:
14605 * src/Core/Banshee.Services/Banshee.MediaEngine/IAudioCdRipper.cs: More
14606 stubbing, no real glory yet
14608 2008-04-01 Aaron Bockover <abock@gnome.org>
14610 * src/Backends/Banshee.GStreamer/Banshee.GStreamer.addin.xml:
14611 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/AudioCdRipper.cs:
14612 Stub an implementation of IAudioCdRipper and expose it as an extension
14614 * src/Core/Banshee.Services/Banshee.MediaEngine/IAudioCdRipper.cs:
14615 Interface for implementing an audio CD ripping engine
14617 * src/Core/Banshee.Services/Banshee.Services.addin.xml:
14618 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
14619 Added the AudioCdRipper extension point, rename the PlayerEngine extenion
14620 point so that there is a common parent node in the path
14622 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
14623 Log extension exceptions
14625 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeIconFactory.cs:
14626 Make AddResourceToIconSet public
14628 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs:
14629 Stubbed an implementation of the AudioCdRipper (engine agnostic)
14631 * src/Extensions/Banshee.AudioCd/Resources/ActiveSourceUI.xml:
14632 * src/Extensions/Banshee.AudioCd/Resources/GlobalUI.xml:
14633 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
14634 Implement the UI actions for duplicating and ripping CDs
14636 2008-04-01 Gabriel Burt <gabriel.burt@gmail.com>
14638 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Disable
14639 actions that require a playing track when there is none. In restart
14640 song action, check that the track is not null.
14642 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
14643 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
14644 * src/Extensions/Banshee.NotificationArea/Resources/NotificationAreaMenu.xml:
14645 Change the Music menu to the Media menu.
14647 2008-04-01 Scott Peterson <lunchtimemama@gmail.com>
14649 This fixes BGO #525453
14651 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
14652 Set the indicator column's min and max width to 30.
14654 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/Column.cs: Add constructor
14655 that takes min and max width (we need C# 3! Object initialization
14658 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
14659 Added support for MaxWidth. Some scenearios are still not supported
14660 but I'll get the corner cases later.
14662 2008-04-01 Gabriel Burt <gabriel.burt@gmail.com>
14664 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
14665 Fix bug where newly migrated databases kept refreshing metadata each time
14668 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs: Fix
14669 bug with assuming the column cache has > 0 items in it. Fixes BGO #525598.
14671 2008-04-01 Alexander Hixon <hixon.alexander@mediati.org>
14673 * src/Extensions/Banshee.Daap/Daap/ServiceLocator.cs: Use Generics instead
14674 of Hashtable. Use IPv4 addresses where available, but still provide
14675 fallbacks to whatever we first got if we didn't get any other alternatives.
14677 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapService.cs: Update from
14678 changes in ServiceLocator, since we get OnServiceAdded multiple times now.
14680 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs: Spit out a
14681 warning dialog if we fail to connect. Hookup the TrackAdded callback, and
14682 stubbed out TrackRemoved. Implement IImportSource (doesn't do much yet).
14684 2008-04-01 Alexander Hixon <hixon.alexander@mediati.org>
14686 * src/Extensions/Banshee.Daap/Daap/ServiceLocator.cs: Slightly better
14687 workaround for IPv6 addresses (that is, only listen for IPv4 addresses).
14689 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapContainerSource.cs: Remove
14690 commented Add/RemoveChildSource and Count overrides.
14692 2008-04-01 Alexander Hixon <hixon.alexander@mediati.org>
14694 * src/Extensions/Extensions.mds:
14695 * src/Extensions/Banshee.Daap/Banshee.Daap.mdp: Add the DAAP extension to
14696 the Extensions solution, and add new files.
14698 * src/Extensions/Banshee.Daap/Daap/ServiceLocator.cs: Workaround for bug
14699 in Mono where we can't correctly work with IPv6 addresses.
14701 * src/Extensions/Banshee.Daap/Makefile.am:
14702 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs: Add Unmap
14703 support, remove hacky Client connecting code, remove tracks from DB once
14704 we're finished with them, cleaned up status messages, and use new classes.
14706 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapLoginDialog.cs: Port login
14707 dialog from stable.
14709 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapTrackInfo.cs: Move
14710 DAAP.Track to TrackInfo logic out into seperate class that inherits from
14713 * src/Core/Banshee.Core/Banshee.Base/Paths.cs: Check to see if the path
14714 passed was null or empty before performing path operations.
14716 * build/build.environment.mk: Depend on ThickClient, not just Services.
14718 2008-03-31 Gabriel Burt <gabriel.burt@gmail.com>
14720 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs:
14721 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
14722 * src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs:
14723 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
14724 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
14725 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
14726 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapContainerSource.cs:
14727 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs:
14728 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
14729 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
14730 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
14731 Change the default for CanSearch and CanRename to false, and add a virtual
14732 Count implementation that returns 0. Less cruft for many subclasses to
14735 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Don't show
14736 the menu unless it has > 0 visible items.
14738 2008-03-31 Aaron Bockover <abock@gnome.org>
14740 * libbanshee/banshee-player-cdda.c:
14741 * libbanshee/banshee-player-cdda.h:
14742 * libbanshee/banshee-player-equalizer.c:
14743 * libbanshee/banshee-player-missing-elements.c:
14744 * libbanshee/banshee-player-missing-elements.h:
14745 * libbanshee/banshee-player-pipeline.c:
14746 * libbanshee/banshee-player-pipeline.h:
14747 * libbanshee/banshee-player-private.h:
14748 * libbanshee/banshee-player-video.h:
14749 * libbanshee/banshee-player.c:
14750 * libbanshee/banshee-player.h: Hopefully the last big round of changes
14751 to the player engine; moved the main pipeline and equalizer code into
14752 separate modules so banshee-player is basically just the p/invokable
14753 'public' API and doesn't contain much logic at all
14755 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
14756 Updated to reflect API changes in libbanshee
14758 2008-03-31 Gabriel Burt <gabriel.burt@gmail.com>
14760 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
14761 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
14762 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
14763 Handle Title/Name being null in *Lowered getter. Fixes BGO #525448.
14765 2008-03-31 Gabriel Burt <gabriel.burt@gmail.com>
14767 * src/Libraries/Hyena/Hyena.Query/DateQueryValue.cs:
14768 * src/Libraries/Hyena/Hyena.Query/IntegerQueryValue.cs:
14769 * src/Libraries/Hyena/Hyena.Query/RelativeTimeSpanQueryValue.cs:
14770 * src/Libraries/Hyena/Hyena.Query/TimeSpanQueryValue.cs: Pass
14771 InvariantCulture in ToString calls, though probably not too necessary for
14774 * tests/Makefile.am:
14775 * tests/Hyena/QueryTests.cs: New tests for query parsing etc.
14776 Currently failing to round trip a couple user queries.
14778 2008-03-31 Gabriel Burt <gabriel.burt@gmail.com>
14780 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs: Make sure
14781 to create the SQL with culturally invariant string formatting. Fixes BGO
14784 * tests/Hyena/SqliteCommandTests.cs: Test HyenaSqliteCommand in many ways,
14785 including testing for the above bug.
14787 * tests/Makefile.am: Set to run in it_IT so we can check for cultural
14790 2008-03-31 Aaron Bockover <abock@gnome.org>
14792 * libbanshee/banshee-player.c:
14793 * libbanshee/banshee-player.h:
14794 * libbanshee/banshee-player-video.c:
14795 * libbanshee/banshee-player-video.h: Split out video related code into a
14798 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
14799 Updated to reflect changes in libbanshee
14801 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
14802 Make the engine service IDisposable and dispose of its child engines
14804 2008-03-31 Aaron Bockover <abock@gnome.org>
14806 * libbanshee/banshee-player.c:
14807 * libbanshee/banshee-player.h:
14808 * libbanshee/banshee-player-missing-elements.c:
14809 * libbanshee/banshee-player-missing-elements.h: Moved code that handles
14810 missing plugins/plugin installation into a separate module
14812 2008-03-31 Gabriel Burt <gabriel.burt@gmail.com>
14814 * src/Core/Banshee.Core/Banshee.IO/Utilities.cs: Uncomment
14815 DeleteFileTrimmingParentDirectories method, fixes BGO #524914.
14817 2008-03-31 Gabriel Burt <gabriel.burt@gmail.com>
14819 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
14820 Before incrementing play/skip count, Refresh the track so we don't
14821 overwrite any changes that have been made since it started playing. Fixes
14824 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Remove
14827 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Add
14828 Refresh method that takes an object and reloads its data from the database.
14830 2008-03-31 Gabriel Burt <gabriel.burt@gmail.com>
14832 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
14833 Only pulse Now Playing if the new item is a video and we're not auto
14834 switching to Now Playing.
14836 2008-03-31 Gabriel Burt <gabriel.burt@gmail.com>
14838 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Move SetStatus and
14839 HideStatus methods here from StationSource since they are generally useful.
14841 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs: Use
14842 Source's SetStatus and HideStatus methods, and move the account button
14843 status code into a static method on LastfmSource.
14845 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs: Set
14846 the status when not connected.
14848 2008-03-31 Gabriel Burt <gabriel.burt@gmail.com>
14850 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: When one of our
14851 SourceMessages is updated, notify the message bar. Fixes bug where the
14852 message bar didn't update with new icon/text etc.
14854 * src/Core/Banshee.Services/Banshee.Sources/SourceMessage.cs: Get rid of
14855 unnecessary Interlocked calls.
14857 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs: Add
14858 check for whether personal station is for this user, and if so, don't load
14859 for non-subscribers.
14861 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationType.cs: Don't
14862 set the personal station type as subscriber-only - this was my
14863 misunderstanding; non-subscribers can have personal stations for any user
14866 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
14868 * build/m4/banshee/daap.m4: Remove old, obsolete file.
14870 2008-03-31 Gabriel Burt <gabriel.burt@gmail.com>
14872 * src/Core/Banshee.Widgets/Banshee.Widgets/TileView.cs:
14873 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSourceContents.cs:
14874 Fix up some style issues on the last.fm data screen. Still have white
14875 fonts on darkilouche when should be black.
14877 2008-03-31 Aaron Bockover <abock@gnome.org>
14879 * build/build.environment.mk:
14880 * src/Extensions/Banshee.Daap/Makefile.am:
14881 * src/Extensions/Extensions.mds:
14882 * src/Extensions/Makefile.am: Enable the DAAP extension in the build
14884 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
14886 * build/m4/banshee/mono-zeroconf.m4:
14888 * src/Extensions/Banshee.Daap/Makefile.am: Add autotools magic to
14889 build the Daap extension. It's still not built by default yet.
14891 2008-03-31 Aaron Bockover <abock@gnome.org>
14893 * libbanshee/banshee-player-cdda.h: Split out all of the special code
14894 for handling CDDA nicely into a separate easy to maintain file; fixes
14895 some CDDA bugs and is documented so I don't forget why I wrote half
14898 * libbanshee/banshee-player.c: Renamed a lot of stuff to be less confusing
14899 with actual GStreamer API, uses bp_ function prefix and BansheePlayer
14900 prefix for structs and callbacks
14902 * libbanshee/banshee-player.h: Split out some stuff to a proper header
14903 file even though it should never be used outside of p/invoke from managed
14905 * libbanshee/gst-tagger.c:
14906 * libbanshee/gst-tagger.h: Nuked, this code has never actually been used
14907 since we use a fully managed tagging solution (TagLibg#) - it's just been
14908 library bloat for a couple of years - awesome
14910 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
14911 Updated to call into the new bp_ functions
14913 2008-03-31 Scott Peterson <lunchtimemama@gmail.com>
14915 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/PersistentColumnController.cs:
14916 Queue saving of column widths.
14918 * src/Libraries/Hyena/Hyena.Data/ColumnDescription.cs: Added a
14919 WidthChanged event.
14921 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnHeaderCellText.cs:
14922 Better MinWidth math.
14924 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/Column.cs: Formatting fixes.
14926 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnController.cs: Seperate
14927 reaction to width changes from visibility changes. Get rid of
14928 QueueUpdate since it is no longer used.
14930 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_DragAndDrop.cs:
14931 Abstracted out the drag scroll stuff so that it can be used for
14932 both the hadjustment and vadjustment.
14934 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
14935 Call new column resize methods when nessisary. Moved canvas
14936 generation into its own method so that it can be done after column
14939 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
14940 Loads of fun stuff. Columns now never get smaller than their
14941 minimum size. All availible width is used, and when there is no
14942 more room, we have an hadjustment. Lots of math to make sure that
14943 columns maintain their reletive sizes for as long as possible.
14945 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
14946 Take the hadjustment into account when rendering.
14948 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
14949 Added horizontal adjustment. Abstracted some of the
14950 OnMotionNotifyEvent stuff so we can send synthetic motion events
14951 when the list is automatically scrolling horizontally, but the
14952 mouse is not moving.
14954 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs:
14955 Use new UpdateAdjustments override.
14957 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Use virtual
14958 property rather than private field for ellipsize mode.
14960 2008-03-30 Aaron Bockover <abock@gnome.org>
14962 * build/m4/banshee/gstreamer.m4: Link against CDDA base library
14964 * libbanshee/: Starting to reorganize some things, added an MD project
14966 * src/Libraries/MusicBrainz/MusicBrainz/MusicBrainzItem.cs:
14967 * src/Libraries/MusicBrainz/MusicBrainz/Release.cs:
14968 * src/Libraries/MusicBrainz/MusicBrainz/Track.cs: Fix synced from
14971 2008-03-30 Gabriel Burt <gabriel.burt@gmail.com>
14973 This commit adds Jump to Playing support, and hides the search box for
14974 sources that can't be search.
14976 * Makefile.am: Add make test target.
14978 * src/Clients/Nereid/Nereid/ViewContainer.cs: Keep the visibility of the
14979 search entry tied to whether its sensitive (eg hide if !source.CanSearch).
14981 * src/Clients/Nereid/Nereid/PlayerInterface.cs: When changing the active
14982 source is changed, if the view used implements the new
14983 ITrackModelSourceContents interface, set some properties on the source
14984 itself linking ith with the Track/Artist/Album views.
14986 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Be even more
14987 defensive when setting the active source.
14989 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
14990 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Add Jump to
14991 Playing Song/Video action.
14993 * src/Core/Banshee.ThickClient/Makefile.am:
14994 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/ITrackModelSourceContents.cs:
14995 New interface for source contents that have track, artist, and album
14998 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
14999 Implement ITrackModelSourceContents.
15001 * src/Libraries/Hyena.Gui/Makefile.am:
15002 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/IListView.cs: New interface that
15003 ListView implements. Will allow us to implement alternative views for
15004 track/artist/albums but still have some sharing functionality (like jump
15007 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/Column.cs: Fix newlines.
15009 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView.cs: Implement
15012 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
15013 Change ScrollToRow to ScrollTo, and add CenterOn method (both implementing
15016 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs: Use
15017 CenterOn method instead of implementing it here too.
15019 2008-03-30 Alexander Hixon <hixon.alexander@mediati.org>
15021 * src/Extensions/Banshee.Daap/daap-sharp/Mono.Zeroconf: Nuke this since
15022 we now use the Mono.Zeroconf assembly instead of some random stuff we
15025 2008-03-30 Alexander Hixon <hixon.alexander@mediati.org>
15027 * src/Extensions/Banshee.Daap/daap-sharp/Server.cs
15028 * src/Extensions/Banshee.Daap/daap-sharp/Database.cs:
15029 * src/Extensions/Banshee.Daap/daap-sharp/Client.cs: Fix some warnings so
15030 it is actually possible to build the thing.
15032 * src/Extensions/Banshee.Daap/daap-sharp/ContentCodeBag.cs: Only load the
15033 content-code resource, instead of everything.
15035 * src/Extensions/Banshee.Daap/daap-sharp/ServiceLocator.cs:
15036 * src/Extensions/Banshee.Daap/daap-sharp/Server.cs: Use Mono.Zeroconf
15037 instead of having #if statements all over the place to support both direct
15038 Avahi support and Mono.Zeroconf.
15040 * src/Extensions/Banshee.Daap/Makefile.am: Use the Mono.Zeroconf package
15041 directly. We should probably build this info the build/*.mk stuff.
15043 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs: Try to connect
15044 to the source anyway, even if we fail - wrap it in a try as well.
15046 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapService.cs: Dispose any
15047 child sources that are connected to stuff when we dispose the service.
15049 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapContainerSource.cs:
15050 Implement Count override. Woops.
15052 2008-03-30 Alexander Hixon <hixon.alexander@mediati.org>
15054 * src/Extensions/Banshee.Daap/daap-sharp: Copy across daap-sharp from
15057 * src/Extensions/Banshee.Daap/Banshee.Daap.mdp:
15058 * src/Extensions/Banshee.Daap/Makefile.am:
15059 * src/Extensions/Banshee.Daap/Banshee.Daap:
15060 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapSource.cs:
15061 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapService.cs:
15062 * src/Extensions/Banshee.Daap/Banshee.Daap/DaapContainerSource.cs:
15063 * src/Extensions/Banshee.Daap/Resources/Banshee.Daap.addin.xml: Import
15064 Daap extension that I've completed so far. Isn't hooked up to the
15065 the Extensions Makefile yet, so this doesn't build. Also, if you did
15066 hook it up, my autotools foo isn't up to scratch so you'd probably have
15067 to modify something. :)
15069 2008-03-30 Alexander Hixon <hixon.alexander@mediati.org>
15071 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs: Changed a few
15072 multiline comments to single line comments. Fixed some logging bits that
15073 would accidentally be displayed to the user instead of silently being
15074 sent to the console. Closes BGO #524954.
15076 2008-03-30 Gabriel Burt <gabriel.burt@gmail.com>
15078 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GConfConfigurationClient.cs:
15079 Optimize CreateKey method.
15081 * src/Core/Banshee.Core/Banshee.Base/Paths.cs:
15082 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
15083 Use the CachedLibraryLocation to save a lot of unnecessary work.
15084 LibraryLocation should probably just be cached itself.
15086 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: If a
15087 service fails to start, log the exception.
15089 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Add a
15090 couple TODOs about reusing some object [].
15092 * tests/Hyena/StringUtilTests.cs: Add another test case.
15094 2008-03-30 Alexander Hixon <hixon.alexander@mediati.org>
15096 * src/Core/Banshee.Services/Banshee.PlaybackController/ICanonicalPlaybackController.cs:
15097 * src/Core/Banshee.Services/Banshee.PlaybackController/IBasicPlaybackController.cs:
15098 Update interfaces to provide for repeat support in playback controller.
15100 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
15101 Add repeat support to controller service, call updated PlaybackController
15102 methods provided by sources. 'Repeat Single' only activates at the end of
15103 a stream, not if you forcefully change tracks.
15105 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackRepeatActions.cs:
15106 Don't disable the repeat actions, since they're now working. Also hook
15107 up changing the RadioAction to changing the current PlaybackRepeatMode.
15109 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
15110 Update to reflect changes in playback controller interfaces.
15112 2008-03-29 Aaron Bockover <abock@gnome.org>
15114 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdTrackInfo.cs:
15115 Prepare the CDDA URI properly (it needs the track number, not index)
15117 2008-03-29 Aaron Bockover <abock@gnome.org>
15119 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdService.cs:
15120 Remove all AudioCdSources when disposing the service and clear the map
15122 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
15123 If the disc is playing, tell the player engine that track information was
15124 updated after the metadata is loaded from MB; disable all tracks when
15125 ejecting so they can't be played while the eject is in progress
15127 2008-03-29 Aaron Bockover <abock@gnome.org>
15129 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
15130 Queue a timeout when the engine goes to idle; if when the timeout handler
15131 runs the engine is still idle, then fade the display out; the timeout is
15132 necessary to avoid a fade when we are really just transitioning tracks
15134 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Set
15135 action.StockId if the <Action>IconName property is set
15137 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs: Set
15138 the unmap icon to eject and do not allow renaming of the source
15140 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Update the source title
15141 in the view container when the active source is updated
15143 2008-03-29 Aaron Bockover <abock@gnome.org>
15145 * src/Core/Banshee.Widgets/Banshee.Widgets/HoverImageButton.cs: Removed
15146 unnecessary property override
15148 2008-03-29 Aaron Bockover <abock@gnome.org>
15150 * src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs: Properly fix
15151 the style/color issue with the search entry (BGO #504633) by doing a style
15152 update when the entry style changes and when the entry state changes
15154 * src/Core/Banshee.Widgets/Banshee.Widgets/HoverImageButton.cs: Call the
15155 base expose event, which was preventing the style changes from being
15156 reflected (BGO #504633)
15158 2008-03-29 Aaron Bockover <abock@gnome.org>
15160 * libbanshee/gst-playback-0.10.c: Actually set the pipeline to NULL, not
15161 PAUSED when stopping the pipeline so any resources locked by the pipeline
15164 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Added ClearMessages
15166 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
15167 Search for metadata using MusicBrainz
15169 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
15170 Show status messages when searching for metadata and ejecting; if the
15171 playing track is located on the disc that is to be ejected, stop the
15172 playback before ejecting to release the device lock
15174 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdTrackInfo.cs:
15175 Hold a reference to the model on each track in the model so it can
15176 be checked when ejecting
15178 2008-03-29 Gabriel Burt <gabriel.burt@gmail.com>
15180 Thanks to Allan Day for suggesting these changes.
15182 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Change the title to be
15183 "title by artist" instead of "title (artist)".
15185 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
15186 Change the skip button text to 'Skip this item' instead of 'Play next item'.
15188 2008-03-29 Sebastian Dröge <slomo@circular-chaos.org>
15190 * libbanshee/gst-transcode-0.10.c:
15191 Remove 'const' keyword from the output_uri as we don't use it as
15192 const and this produces compiler warnings.
15194 2008-03-29 Alexander Hixon <hixon.alexander@mediati.org>
15196 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackRepeatActions.cs:
15197 Simple fix that removes the mnemonic conflict between 'Repeat Single' and
15198 'Next'. Closes BGO #501889. Based on patch from Alex Kloss.
15200 2008-03-29 Alexander Hixon <hixon.alexander@mediati.org>
15202 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Remember
15203 the shuffle state over restarts. Fixes BGO #523681.
15205 * src/Core/Banshee.Widgets/Banshee.Widgets/HoverImageButton.cs:
15206 * src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs: Make sure we
15207 set the background colour correctly depending on the Sensitive state.
15208 Closes BGO #504633.
15210 2008-03-29 Gabriel Burt <gabriel.burt@gmail.com>
15212 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSourceContents.cs:
15213 Remove all children when refreshing. And add playcount to top artist tiles.
15215 2008-03-29 Gabriel Burt <gabriel.burt@gmail.com>
15217 * src/Core/Banshee.Services/Banshee.Collection/MemoryTrackListModel.cs:
15218 Fully bounds check the index before accessing it. Fixes BGO #524805.
15220 2008-03-29 Gabriel Burt <gabriel.burt@gmail.com>
15222 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSourceContents.cs:
15223 Make much much prettier. Pack in a RoundedFrame, draw white bg, add Top
15224 Artists, make button presses pretty, make vertically scrollable.
15226 * src/Core/Banshee.Widgets/Banshee.Widgets/TileView.cs: Fix bug where
15227 wouldn't expand set a height request of more than 1, so unless packed in a
15228 vbox with fill/expand = true, it wasn't visible.
15230 * src/Libraries/Hyena.Gui/Hyena.Widgets/RoundedFrame.cs: Fix bug with not
15231 having the child calculate its size request before trying to get it.
15233 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
15234 Add improved metadata refreshing support - store a value in the
15235 CoreConfiguration when its successful, meaning it will keep retrying unti
15236 it is (so if you close it or it dies before its done, no big deal).
15238 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs:
15239 * src/Libraries/Lastfm/Lastfm/RadioConnection.cs: Clean up
15240 comments/debugging.
15242 * src/Core/Banshee.ThickClient/Banshee.Gui/IconThemeUtils.cs: Check name
15243 and return if null/empty.
15245 2008-03-29 Gabriel Burt <gabriel.burt@gmail.com>
15247 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Be more
15248 careful with types when iterating over action proxies. Should fix BGO
15249 #524706. Thanks to Matt Enright for the pointer.
15251 2008-03-28 Aaron Bockover <abock@gnome.org>
15253 * src/Backends/Banshee.Hal/Banshee.HalBackend/BlockDevice.cs:
15254 * src/Backends/Banshee.Hal/Banshee.HalBackend/Volume.cs: Actually return
15257 * src/Core/Banshee.Services/Banshee.Hardware/IVolume.cs: Added a DeviceNode
15258 property since volumes have 'em as well
15260 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
15261 Read the audio CD tracks from the disc and push to the model
15263 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
15266 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdTrackInfo.cs:
15267 TrackInfo object specific to the audio cd
15269 2008-03-28 Aaron Bockover <abock@gnome.org>
15271 * build/build.environment.mk:
15272 * build/pkg-config/banshee-1-core.pc.in:
15273 * build/pkg-config/banshee-1-musicbrainz.pc.in:
15275 * src/Libraries/Libraries.mds:
15276 * src/Libraries/Makefile.am:
15277 * src/Libraries/MusicBrainz/: Added Scott's musicbrainz-sharp code locally
15278 to the project for now; in the future we will just depend on the library
15279 but for now we'll incubate it
15281 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs:
15282 Renamed from AudioCdDisc, inhereit MemoryTrackListModel
15284 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdService.cs:
15285 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
15286 Changes to reflect the model stuff
15288 2008-03-28 Aaron Bockover <abock@gnome.org>
15290 * src/Core/Banshee.Services/Banshee.Hardware/IVolume.cs: Added Eject
15291 and Unmount properties/methods
15293 * src/Backends/Banshee.Hal/Banshee.HalBackend/Volume.cs: Implemented
15294 the new Eject/Unmount members
15296 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdService.cs:
15297 Make UnmapDiscVolume internal so the source can call it when being
15298 unmapped by the user
15300 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
15301 Implement the unmap method to eject the disc from the drive
15303 * src/Libraries/Hyena/Hyena/Log.cs: Added an Exception method to which
15304 all exceptions that are handled should be logged; currently it just
15305 prints the exception, but we should later save them to a log file
15307 2008-03-28 Aaron Bockover <abock@gnome.org>
15309 * src/Backends/Banshee.Hal/Banshee.HalBackend/HardwareManager.cs:
15310 * src/Core/Banshee.Services/Banshee.Hardware/HardwareManager.cs:
15311 * src/Core/Banshee.Services/Banshee.Hardware/IHardwareManager.cs: Added
15312 hardware add/remove events and properly resolve the devices in the HAL
15315 * src/Backends/Banshee.Hal/Banshee.HalBackend/Volume.cs: Resolve a
15316 volume device manually if no parent is passed
15318 * src/Core/Banshee.Services/Banshee.Collection/MemoryTrackListModel.cs:
15319 Moved from Last.fm since it's useful for other sources; provides a
15320 track model that uses an in-memory generic List for storage
15322 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
15323 Provide a property for easily accessing the HardwareManager
15325 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDisc.cs: Empty
15326 stub of the disc object we'll need soon
15328 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdService.cs:
15329 Implemented most of the service that manages disc sources from the
15330 HardwareManager; awesome
15332 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdSource.cs:
15333 Stubbed out most things we'll need in the audio CD source
15335 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
15336 Use the MemoryTrackListModel object
15338 2008-03-28 Aaron Bockover <abock@gnome.org>
15340 * build/build.environment.mk:
15342 * src/Extensions/Extensions.mds:
15343 * src/Extensions/Makefile.am: Build the new audio CD service
15345 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd.addin.xml: Addin mainifest
15346 for the audio CD extension
15348 * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdService.cs:
15349 Stubbed out the empty audio CD service object
15351 2008-03-28 Aaron Bockover <abock@gnome.org>
15353 * src/Backends/Banshee.Hal/Banshee.HalBackend/BlockDevice.cs: Implement
15354 GetEnumerator to provide child volumes
15356 * src/Backends/Banshee.Hal/Banshee.HalBackend/Device.cs:
15357 * src/Backends/Banshee.Hal/Banshee.HalBackend/DiskDevice.cs:
15358 * src/Backends/Banshee.Hal/Banshee.HalBackend/CdromDevice.cs:
15359 * src/Backends/Banshee.Hal/Banshee.HalBackend/HardwareManager.cs: Fix up
15360 protection levels and support holding on to the manager reference
15362 * src/Backends/Banshee.Hal/Banshee.HalBackend/Volume.cs: Implemented the
15363 base HAL volume object with some properties
15365 * src/Backends/Banshee.Hal/Banshee.HalBackend/DiscVolume.cs: Implemented
15366 a child HAL volume object for optical disc volumes
15368 * src/Core/Banshee.Services/Banshee.Hardware/IDiscVolume.cs: Added
15369 MediaCapacity property
15371 * src/Core/Banshee.Services/Banshee.Hardware/IVolume.cs: Make Available
15372 long instead of ulong since it could be invalid (-1)
15374 * src/Core/Banshee.Services/Banshee.Hardware/HardwareManager.cs: Add
15375 some more tests/debug
15377 2008-03-28 Gabriel Burt <gabriel.burt@gmail.com>
15379 This patch adds proper case-insensitive sorting and searching. It should
15380 also speed searching and other ops up a bit.
15382 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
15383 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
15384 Add internal Reload method that doesn't raise Reloaded right way, so that
15385 the track model can trigger them to reload, reload itself, but get its
15386 alert out first so its can start redrawing while the others refresh. Also,
15387 sort by new *Lowered column.
15389 * src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs: Add
15390 internal RaiseReload method for the track model to use on artist/album
15393 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
15394 Do the above mentioned shenanigans.
15396 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
15397 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
15398 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
15399 Add Title/NameLowered properties with Select = false, meaning the value is
15400 not retrieved in SELECT queries, but is INSERTed/UPDATEd.
15402 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs: Set
15403 some more pragas in the quest for better performance.
15405 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
15406 Add Title/NameLowered columns to CoreTracks/Artists/Albums. Is literally
15407 just obj.Name/Title.ToLower (), but means we can do case-insensitive
15408 sorting and searching w/o having to use Sqlite's lower() method (which is
15409 slow to use on the fly vs caching this, and only works for latin1.) Also,
15410 remove a bunch of indicies and add some new ones, in search of
15411 performance. Trigger another metadata refresh to fill the *Lowered columns.
15413 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Use the
15414 *Lowered columns for sorting and querying.
15416 * src/Libraries/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs:
15417 * src/Libraries/Hyena/Hyena.Data.Sqlite/DatabaseColumnAttribute.cs:
15418 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs:
15419 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Allow
15420 setting Select = True/false on the DatabaseColumn attribute, and if its
15421 false, do not SELECT it (or requier a setter on the property/field).
15422 Also, do not UPDATE or INSERT the primary key.
15424 * src/Libraries/Hyena/Hyena.Query/QueryField.cs: Determine once (instead
15425 of every time we generate SQL) whether the given column is a custom
15426 format. Also, scan for 'Lowered' and if it's there, do not use the hacky
15427 "a like b OR lower(a) like b.ToLower ()".
15429 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmTrackListModel.cs:
15432 2008-03-27 Aaron Bockover <abock@gnome.org>
15434 * src/Backends/Banshee.Hal: First pass at the HAL implementation for the
15435 new hardware layer; very incomplete
15437 * src/Core/Banshee.Services/Banshee.Hardware/IHardwareManager.cs:
15438 * src/Core/Banshee.Services/Banshee.Hardware/HardwareManager.cs: Filled
15439 out some functionality; GetAllBlockDevices, GetAllCdromDevices, and
15442 * src/Core/Banshee.Services/Banshee.Hardware/IBlockDevice.cs:
15443 * src/Core/Banshee.Services/Banshee.Hardware/ICdromDevice.cs:
15444 * src/Core/Banshee.Services/Banshee.Hardware/IDevice.cs:
15445 * src/Core/Banshee.Services/Banshee.Hardware/IDiscVolume.cs:
15446 * src/Core/Banshee.Services/Banshee.Hardware/IDiskDevice.cs:
15447 * src/Core/Banshee.Services/Banshee.Hardware/IVolume.cs: Stubbed out
15448 more interfaces for the hardware object model
15450 * src/Core/Banshee.Services/Banshee.Services.addin.xml: Added the
15451 hardware manager extension point
15453 2008-03-28 Alexander Hixon <hixon.alexander@mediati.org>
15455 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs::
15456 Make sure we only scrobble and set the Now Playing information on Music
15457 tracks, rather than anything played.
15459 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/Queue.cs:
15460 Removed some extra debug spew that was unnecessary.
15462 2008-03-27 Gabriel Burt <gabriel.burt@gmail.com>
15464 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
15465 Change some string comparisons to use IsNullOrEmpty.
15467 2008-03-27 Aaron Bockover <abock@gnome.org>
15469 * src/Core/Banshee.Services/Banshee.Hardware/HardwareManager.cs: Stubbed
15470 the base hardware manager service out; load extension managers from MA
15472 * src/Core/Banshee.Services/Banshee.Hardware/IBlockDevice.cs:
15473 * src/Core/Banshee.Services/Banshee.Hardware/IDevice.cs:
15474 * src/Core/Banshee.Services/Banshee.Hardware/IHardwareManager.cs:
15475 * src/Core/Banshee.Services/Banshee.Hardware/IVolume.cs: Stubbed some
15476 basic hardware related interfaces
15478 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
15479 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:
15480 * src/Core/Banshee.Services/Banshee.ServiceStack/UserJobManager.cs:
15481 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
15482 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
15483 Implement IRequiredService since we can't survive without these
15485 * src/Core/Banshee.Services/Banshee.ServiceStack/IRequiredService.cs:
15486 Services that are important enough to cause startup to fail if they cannot
15487 be started should implement IRequiredService
15489 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
15490 Do not bail if a core service throws an exception that is not an
15493 2008-03-27 Gabriel Burt <gabriel.burt@gmail.com>
15495 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Fix formatting
15496 issue with showing full precision in certain cases when the value was < 2.
15498 2008-03-27 Gabriel Burt <gabriel.burt@gmail.com>
15500 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
15501 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
15502 Fix issue with importing items that have null artist or album names.
15505 2008-03-27 Gabriel Burt <gabriel.burt@gmail.com>
15507 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
15508 The First () method is used to start playback when a source, artist, or album
15509 is activated, and represents a break from the previous playback. It should
15510 not raise the Transition event. Fixes BGO #524556.
15512 2008-03-27 Gabriel Burt <gabriel.burt@gmail.com>
15514 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/AlbumListView.cs:
15515 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtistListView.cs:
15516 When an artist or album is activated, make sure we switch playback to the
15517 active source before playing the first song in the playback source. Fixes
15520 2008-03-27 Gabriel Burt <gabriel.burt@gmail.com>
15522 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
15523 Pulse the Now Playing source when a song or video starts playing and it's
15524 not the active source.
15526 2008-03-27 Gabriel Burt <gabriel.burt@gmail.com>
15528 * data/mimetypes.txt: List of mimetypes, one per line, combining what we
15529 already had with Totem's list.
15531 * data/mimetypes.pl: Perl script that sorts and removes duplicates from
15532 mimetypes.txt, and prints out a ; separated list suitable for the .desktop
15535 * data/banshee-1.desktop.in.in: Use the output from mimetypes.pl, and
15536 change the name to Banshee Media Player.
15538 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs: Add
15539 some more file extensions to the whitelist.
15541 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Load
15542 smart playlists here just like we load playlists.
15544 * src/Core/Banshee.Services/Makefile.am:
15545 * src/Core/Banshee.Services/Banshee.Services.mdp:
15546 * src/Core/Banshee.Services/Banshee.Query/SmartPlaylistQueryValue.cs:
15547 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistCore.cs:
15548 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Remove
15549 SmartPlaylistCore. The functionality from it that remained is now in
15550 SmartPlaylistSource, mostly as static methods.
15552 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
15553 Moved the SmartPlaylistCore code into here. On the first Reload call, if
15554 we haven't yet Refresh'd, do it.
15556 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Avoid
15557 activating a source twice by returning if it's already the active souce.
15559 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/PersistentColumnController.cs:
15560 If the source has a Parent, use its UniqueId to determine what columns to
15561 show, otherwise use the source's UniqueId.
15563 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Add UniqueId
15564 property, and protected abstract TypeUniqueId that doesn't have to be
15565 unique across different Source subclasses.
15567 * src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs:
15568 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
15569 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
15570 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
15571 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
15572 Override TypeUniqueId and use UniqueId.
15574 2008-03-26 Aaron Bockover <abock@gnome.org>
15576 Banshee 1.0 Alpha 2 (0.98.2) Released
15578 2008-03-26 Aaron Bockover <abock@gnome.org>
15580 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea.dll.config:
15581 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationArea.cs:
15582 Change the default DllImport for libX11 directly to libX11.so.6 and then
15583 provide a .config file map that distributors could override if necessary
15585 2008-03-26 Aaron Bockover <abock@gnome.org>
15587 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs:
15588 Some code clean up and render the idle logo when there is no video playing
15590 * src/Libraries/Hyena.Gui/Hyena.Gui/EntryInsertAction.cs: Avoid an NRE
15593 2008-03-26 Gabriel Burt <gabriel.burt@gmail.com>
15595 * src/Core/Banshee.Core/Banshee.Streaming/SaveTrackMetadataJob.cs: Port
15596 fix for Artist tag saving from stable.
15598 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs: Remove
15599 artist/album readonly warning, whitespace fixes.
15601 2008-03-26 Gabriel Burt <gabriel.burt@gmail.com>
15603 * NEWS: Update for forthcoming 0.98.2 release.
15605 2008-03-26 Sebastian Dröge <slomo@circular-chaos.org>
15607 * build/m4/banshee/notify-sharp.m4:
15608 * src/Extensions/Banshee.NotificationArea/Makefile.am:
15609 * configure.ac: Allow building against an external notify-sharp if one
15610 is found. This is especially important as the next notification-daemon
15611 release in a few days changes the DBus API and a newer notify-sharp is
15614 2008-03-25 Gabriel Burt <gabriel.burt@gmail.com>
15616 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/AlbumListView.cs:
15617 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtistListView.cs:
15618 Start playing when activated. Fixes BGO #524412.
15620 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs:
15621 Catch exceptions with loading artwork. Catches 'no data in image' error.
15623 2008-03-25 Scott Peterson <lunchtimemama@gmail.com>
15625 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
15626 Emergency fix0rz!!1!
15628 2008-03-25 Gabriel Burt <gabriel.burt@gmail.com>
15630 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
15631 Don't display 'Add Station' action when on a station source.
15633 2008-03-25 Scott Peterson <lunchtimemama@gmail.com>
15635 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
15636 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
15639 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
15640 New QueueDraw method so that new rendering model will properly
15643 2008-03-25 Aaron Bockover <abock@gnome.org>
15645 * build/Makefile.am: Removed the old .pc file, SUBDIRS the new pkg-config
15647 * build/pkg-config/Makefile.am: Generate .pc files from the .pc.in files
15649 * build/pkg-config/banshee-1-core.pc.in:
15650 * build/pkg-config/banshee-1-hyena-gui.pc.in:
15651 * build/pkg-config/banshee-1-hyena.pc.in:
15652 * build/pkg-config/banshee-1-lastfm-gui.pc.in:
15653 * build/pkg-config/banshee-1-lastfm.pc.in:
15654 * build/pkg-config/banshee-1-mono-media.pc.in:
15655 * build/pkg-config/banshee-1-services.pc.in:
15656 * build/pkg-config/banshee-1-thickclient.pc.in: .pc files that represent
15657 the entire assembly layout of the core Banshee Media Framework
15659 * configure.ac: Bumped version
15661 2008-03-25 Gabriel Burt <gabriel.burt@gmail.com>
15663 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
15664 Change icon to application-multimedia. Not perfect, but at least not
15665 confusing with the play button.
15667 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Override
15668 clear, calling base and resetting the first_order_id, fixing bug in
15669 IndexOf that was causing playback issues with smart playlists.
15671 * src/Libraries/Hyena/Hyena.Data/ArrayModelCache.cs:
15672 * src/Libraries/Hyena/Hyena.Data/DictionaryModelCache.cs: Remove lock
15673 around Clear method since now done in subclass.
15675 2008-03-25 Wouter Bolsterlee <wbolster@svn.gnome.org>
15677 reviewed by: Gabriel Burt <gabriel.burt@gmail.com>
15679 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
15681 Correctly guard against null SourceView instances, so
15682 that non-Nereid clients without a SourceView do not
15683 instantly crash upon startup. Patch suggested by Gabriel
15686 2008-03-25 Aaron Bockover <abock@gnome.org>
15688 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
15689 Set the source on the track view column controller when it changes
15691 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/PersistentColumnController.cs:
15692 Preliminary work to allow column settings to persist against each primary
15693 source; all settings go to the default save location for now
15695 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
15696 Set the FillAlpha when rendering the sort rectangle for the column so it
15697 blends with the row rules
15699 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/GtkTheme.cs: Render the
15700 row rule with a set FillAlpha
15702 2008-03-25 Gabriel Burt <gabriel.burt@gmail.com>
15704 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
15705 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
15706 In FindOrCreate methods, cache the last result to avoid looking up an
15707 artist and album for each track in an album.
15709 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
15710 Within the Save method make sure the artist and album are up to date and
15713 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
15714 Album/artist creation now done in DatabaseTrackInfo.
15716 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs:
15717 Re-enable editing of artist/albums.
15719 * src/Libraries/Hyena/Hyena.Data/ArrayModelCache.cs: Forgot to put
15720 threading fix in this when previously updated DictionaryModelCache.
15722 2008-03-25 Gabriel Burt <gabriel.burt@gmail.com>
15724 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
15725 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
15726 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
15727 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistInfo.cs:
15728 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
15729 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
15730 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
15731 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
15732 * src/Core/Banshee.Services/Makefile.am: Rename LibraryArtistInfo class to
15733 DatabaseArtistInfo.
15735 2008-03-25 Gabriel Burt <gabriel.burt@gmail.com>
15737 * src/Core/Banshee.Core/Resources/translators.xml: Updated.
15739 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
15740 Don't allow renaming or searching.
15742 2008-03-24 Gabriel Burt <gabriel.burt@gmail.com>
15744 This patch fixes issues with smart playlist/search date fields not working
15745 right/at all. Also adds support for different widgets within one field on
15746 the smart playlist editor dialog (eg absolute dates vs relative dates for
15749 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Use new
15750 TimeSpanQueryValue for DurationField, and use RelativeTimeSpanQueryValue
15751 in addition to DateQueryValue for LastPlayed/Skipped.
15753 * src/Core/Banshee.Services/Banshee.SmartPlaylist/Migrator.cs: Use new
15754 RelativeTimeSpanQueryValue class.
15756 * src/Core/Banshee.ThickClient/Banshee.Query.Gui/SmartPlaylistQueryValueEntry.cs:
15757 Avoid crashing if there are no smart playlists.
15759 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/DateQueryValueEntry.cs: Old code
15760 moved mostly to *TimeSpanQueryValueEntry, replaced with an actual abs date
15763 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/NullQueryValueEntry.cs: Empty,
15764 if the user has selected this 'operator', no more UI is needed.
15766 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/QueryTermBox.cs: Handle
15767 QueryFields having multiple ValueTypes (each with their own set of
15768 operators). This allows us to have both relative dates and absolute date
15769 widegts for one field (LastPlayed, say).
15771 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/QueryTermsBox.cs: When creating
15772 a new row, set it to the previous row's field/operator.
15774 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/QueryValueEntry.cs: Connect new
15775 QueryValue types to their Entry types. Add static lookup method.
15777 * src/Libraries/Hyena/Hyena.Query/DateQueryValue.cs: Move the
15778 relative/TimeSpan code out.
15780 * src/Libraries/Hyena.Gui/Makefile.am:
15781 * src/Libraries/Hyena/Hyena.Query/NullQueryValue.cs: New QueryValue class with
15782 one operator to see if a value is null.
15784 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/RelativeTimeSpanQueryValueEntry.cs:
15785 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/TimeSpanQueryValueEntry.cs: New
15786 classes, mostly a copy of the old DateQueryValueEntry code, with an entry
15787 and a units (factors) dropdown (and an "ago" label for the Relative one).
15789 * src/Libraries/Hyena/Hyena.Query/QueryField.cs: Instead of QueryFields
15790 having one ValueType, make it an array.
15792 * src/Libraries/Hyena/Hyena.Query/QueryTermNode.cs:
15793 * src/Libraries/Hyena/Hyena.Query/QueryValue.cs: Handle multiple ValueTypes.
15795 * src/Libraries/Hyena/Hyena.Query/QueryOperator.cs: If the Label is null
15796 return the Name. Useful for debugging with adding new operators.
15798 * src/Libraries/Hyena/Makefile.am:
15799 * src/Libraries/Hyena/Hyena.Query/TimeSpanQueryValue.cs:
15800 * src/Libraries/Hyena/Hyena.Query/RelativeTimeSpanQueryValue.cs: New files
15801 for representing time spans in queries.
15803 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSourceContents.cs:
15804 Use new ExtensionCacheRoot.
15806 2008-03-24 Aaron Bockover <abock@gnome.org>
15808 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Use
15809 InstalledApplicationData to build the catalog path for gettext and
15810 initialize it (whoops) (BGO #523047)
15812 * src/Core/Banshee.Core/Banshee.Base/Paths.cs: Added
15813 InstalledApplicationPrefix, InstalledApplicationDataRoot, and
15814 InstalledApplicationData properties that are detected at runtime based
15815 on the path of the entry assembly (used to figure out datadir, basically,
15816 without having to hardcode the paths at compile time)
15818 2008-03-24 Aaron Bockover <abock@gnome.org>
15820 * src/Clients/Nereid/Nereid/Client.cs: Implement new ClientId property
15822 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Support
15823 a stack of client objects; ideally we'll be able to run multiple clients
15824 in a single application instance (think mini mode) - this is probably
15825 not well thought out, but it's a start
15827 * src/Core/Banshee.Services/Banshee.ServiceStack/Client.cs: Added a new
15828 base Client class that is not GUI based
15830 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/PersistentColumnController.cs:
15831 Support loading/saving the column widths
15833 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
15834 Set up some good visibility defaults for the columns
15836 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs: Extend the
15837 new Client class and push itself into the application client stack
15839 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/SortableColumn.cs: Some new ctor
15842 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/Column.cs: Some new ctor signatures
15843 and removed the IsVisible property
15845 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnController.cs: Added a
15848 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
15849 Call QueueUpdate on the column controller when a column is resized
15851 2008-03-24 Aaron Bockover <abock@gnome.org>
15853 * src/Core/Banshee.Core/Banshee.Base/CoverArtSpec.cs: Use XDG_CACHE_HOME
15854 as the base directory for the album art disk cache
15856 * src/Core/Banshee.Core/Banshee.Base/Paths.cs: Changed some other paths
15857 to use XDG_CACHE_HOME, especially for extension caches
15859 * src/Core/Banshee.Core/Banshee.Base/XdgBaseDirectorySpec.cs: Moved the
15860 XDG code into its own class from Paths
15862 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs:
15863 Ensure the artwork cache directory gets created if it doesn't exist
15865 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/Queue.cs:
15866 Use the new ExtensionCacheRoot path
15868 2008-03-24 Aaron Bockover <abock@gnome.org>
15870 * libbanshee/gst-playback-0.10.c: Disable the equalizer
15871 temporarily as it is causing a few audio problems for some people
15872 and is not properly implemented in the pipeline (BGO #523878)
15874 2008-03-24 Aaron Bockover <abock@gnome.org>
15876 * libbanshee/gst-playback-0.10.c:
15877 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
15878 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngine.cs:
15879 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VisualisationConfigBox.cs:
15880 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs:
15881 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
15882 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.mdp:
15883 * src/Extensions/Banshee.NowPlaying/Makefile.am: Reverted Alexander Hixon's
15884 visualization patches from 2008-03-23 since a number of people have been
15885 reporting playback issues after this landed - also it had no review
15887 2008-03-21 Gabriel Burt <gabriel.burt@gmail.com>
15889 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GnomeService.cs: Attempt
15890 to fix compiler error for older versions of mono.
15892 2008-03-23 Alexander Hixon <hixon.alexander@mediati.org>
15894 * libbanshee/gst-playback-0.10.c: Fix up some tab to space formatting.
15896 2008-03-23 Alexander Hixon <hixon.alexander@mediati.org>
15898 * src/Extensions/Banshee.NowPlaying/Makefile.am:
15899 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying.mdp:
15900 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs:
15901 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
15902 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VisualisationConfigBox.cs:
15903 Add a new cool-looking visualisation switcher bar to the top of the
15904 visualisation display. Hides away if we watch video.
15906 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngine.cs:
15907 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
15908 * libbanshee/gst-playback-0.10.c: Add support for multiple visualisations,
15909 with configurable sizes.
15911 2008-03-22 Scott Peterson <lunchtimemama@gmail.com>
15913 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
15914 Moved the ColumnHeaderCellText.HasSort determination from
15915 PaintHeaderCell into RegenerateColumnCache. This means we run that
15918 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
15919 Fixed stupid bug in rendering which I can't believe I missed.
15920 Better, faster, stronger.
15922 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
15923 Regenerate the column cache after the sort column changes so that
15924 we re-assign the HasSort properties of the ColumnHeaderCellText
15926 2008-03-22 Scott Peterson <lunchtimemama@gmail.com>
15928 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/Column.cs: Added MaxWidth
15929 property (currently not used anywhere).
15931 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
15932 Began reworking the column layout code. Columns will now resize
15933 themselves to take up the header width. No logic yet for min or max
15934 column widths: that's tommorrow!
15936 2008-03-22 Alexander Hixon <hixon.alexander@mediati.org>
15938 * libbanshee/gst-playback-0.10.c: Hookup the 'goom' visualisation element
15939 to the playbin so we can watch wicked things during Now Playing for an
15940 audio track. We'd probably want to go throught the element registry
15941 to find a suitable element later.
15943 2008-03-21 Scott Peterson <lunchtimemama@gmail.com>
15945 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_DragAndDrop.cs:
15946 Fixed rendering issue when dragging ends.
15948 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
15949 New column sorting effect.
15951 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
15952 Fixed column resize cursor appearing when the mouse is over the
15955 2008-03-21 Scott Peterson <lunchtimemama@gmail.com>
15957 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
15958 Minor improvements to rendering. Vertical resizing is now much more
15959 efficient, only rendering new rows that com into view as a result
15960 of resizing (rather than rendering everything on every pass).
15962 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
15963 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
15964 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
15965 Minor improvements to rendering.
15967 2008-03-21 Gabriel Burt <gabriel.burt@gmail.com>
15969 This patch implements actually updating the play/skip counts and last
15970 played/skipped stamps.
15972 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Update the status bar when
15973 the active source is Updated.
15975 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Add
15976 IncrementSkipCount method and LastSkipped property, and update LastSkipped
15977 and LastPlayed within their respective Increment methods.
15979 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
15980 Save the track after incremting its play/skip count.
15982 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
15983 Add a LastSkippedStamp column to CoreTracks.
15985 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
15986 When opening a new track or uri, if there is a currently playing song, if
15987 it's over half way done, call IncrementPlayCount on it, otherwise call
15988 IncrementSkipCount.
15990 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
15991 Add a NOTE about refactoring to allow models to provide the random track
15994 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Add LastSkipped
15995 query field and sorting.
15997 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
15998 Add a Last Skipped column.
16000 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmTrackInfo.cs:
16001 Within IncrementPlayCount override call the base method.
16003 2008-03-21 Aaron Bockover <abock@gnome.org>
16005 This commit should make Banshee look better on darker themes
16007 * src/Clients/Nereid/Nereid/Client.cs: Allow ignoring the gtkrc if
16008 --no-gtkrc is passed; nice for debugging
16010 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Remove the subtle
16011 midtone coloring since I can't figure out a reliable way to make it
16012 work on darker themes and lighter themes; GTK themes seriously suck and
16013 I hate them and where in the hell is GTK 3. Seriously.
16015 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
16016 Hacky version of the mid tone stuff since it's absolutely necessary here
16018 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:
16019 Set a GLib log handler when in --debug mode
16021 * src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs:
16022 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
16023 Get a proper mid tone using the base and text colors
16025 * src/Core/Banshee.Widgets/Banshee.Widgets/StreamPositionLabel.cs:
16026 Render text using the foreground, not text colors, like other text that
16027 should be rendered on background and not base
16029 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/CellContext.cs:
16030 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs:
16031 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnHeaderCellText.cs: Allow
16032 rendering text in the cell as foreground or text colors
16034 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
16035 Fixed some small rendering/theme issues; do not render a highlight under
16036 the sorted column since it looks like ass on some themes and I'm tired
16039 * src/Libraries/Hyena.Gui/Hyena.Gui/CairoExtensions.cs:
16040 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/GtkTheme.cs: Add some
16043 * src/Libraries/Hyena.Gui/Hyena.Gui/ShadingTestWindow.cs: Just something
16044 I'm working on, nothing interesting, never used
16046 2008-03-21 Scott Peterson <lunchtimemama@gmail.com>
16048 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
16049 Override QueueDraw to use our own methods. (Fixes bug where
16050 hiding/showing columns did not update list)
16052 2008-03-21 Scott Peterson <lunchtimemama@gmail.com>
16054 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
16055 Added some rendering fixes, hook up the Pixmap canvases.
16057 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
16058 Rendering of the list is now done to an off-screen Pixmap. This is
16059 done so that we can recycle pixels when scrolling the list: the
16060 contents of the pixmap are shifted up or down by the amount of
16061 scrolling, and only the newly visible rows are rendered in place.
16063 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
16064 Don't paint everything when we're scrolling vertically.
16066 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs:
16067 Paint everything when the model changes.
16069 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/Theme.cs:
16070 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/GtkTheme.cs: Add
16071 DrawListBackground, re-ordered some methods to match their
16072 execution order for readability.
16074 2008-03-21 Gabriel Burt <gabriel.burt@gmail.com>
16076 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/QueryBuilder.cs:
16077 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/QueryBuilderModel.cs:
16080 2008-03-21 Alexander Hixon <hixon.alexander@mediati.org>
16082 * src/Core/Banshee.Widgets/Banshee.Widgets/VolumeButton.cs: Patch missing
16083 from previous revision.
16085 2008-03-21 Alexander Hixon <hixon.alexander@mediati.org>
16087 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs:
16088 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/PreferencesDialog.cs:
16089 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/AboutDialog.cs:
16090 Unbreak builds for people using newer versions of Gtk#.
16092 2008-03-20 Scott Peterson <lunchtimemama@gmail.com>
16094 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
16095 Better polymorphism, removed unnessisary qualifications.
16097 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
16098 Better polymorphism.
16100 2008-03-20 Scott Peterson <lunchtimemama@gmail.com>
16102 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
16103 This fixes the header disapearing if you switch to and from the Now
16106 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
16109 2008-03-20 Aaron Bockover <abock@gnome.org>
16111 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TerseTrackListView.cs:
16112 Started a new track view that can be very narrow and won't have columns;
16113 think, 'is this what a detachable play queue looks like?'
16115 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellTrack.cs:
16116 Started a cell renderer for showing a track in a list with a single column
16118 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/BetaReleaseViewOverlay.cs:
16119 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
16120 Get rid of the preview release overlay thingy. It sucked.
16122 2008-03-20 Scott Peterson <lunchtimemama@gmail.com>
16124 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Better
16127 2008-03-20 Scott Peterson <lunchtimemama@gmail.com>
16129 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
16130 Minor rendering fix when reordering columns.
16132 2008-03-20 Gabriel Burt <gabriel.burt@gmail.com>
16134 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
16135 Patch from Michael Miceli adding a composer column to the TrackListView,
16138 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Add a Composer
16141 2008-03-20 Scott Peterson <lunchtimemama@gmail.com>
16143 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
16144 Fixed rendering in with non-composited window managers.
16146 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
16147 Got rid of private method - instead use Gdk.Rectangle.Contains()
16149 2008-03-20 Scott Peterson <lunchtimemama@gmail.com>
16151 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs:
16152 Got rid of padding stuff. That will be taken care of in
16155 2008-03-20 Scott Peterson <lunchtimemama@gmail.com>
16157 This gets rid of the 5 (count 'em: five) GdkWindows we were using
16158 to render the ListView. We now render everything to the GdkWindow
16159 of the ListView's parent.
16161 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
16162 ListWindow is no more.
16164 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs:
16165 Use Style to paint the layout rather than the Drawable. This is not
16166 ideal, but nessisary so we can clip.
16168 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnHeaderCellText.cs: Moved
16169 triangle-drawing code into the Theme.
16171 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_DragAndDrop.cs:
16172 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView.cs:
16173 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs:
16174 InvalidateListWindow is now InvalidateList.
16176 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
16177 Replaced five input-output GdkWidows with one input-only GdkWindow.
16178 Also improved RowsInView calculation.
16180 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
16181 Changed the math to account for just one GdkWindow, got rid of
16182 unnessisary method ShowHideHeader().
16184 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
16185 Rework of rendering. Everything draws to a single GdkWindow.
16187 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
16188 Changed the math to account for just one GdkWindow. Split the
16189 OnButtonPressEvent and OnButtonReleaseEvent methods into methods
16190 specific to the header and list.
16192 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Clip to the
16195 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/CellContext.cs: Add a clip
16196 property for the clipping box.
16198 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/Theme.cs: Added
16199 DrawRectangle. Split DrawFrame into DrawFrameBackground and
16202 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/GtkTheme.cs: Added
16203 DrawRectangle. Split DrawFrame into DrawFrameBackground and
16204 DrawFrameBorder. Misc rendering improvements.
16206 2008-03-20 Alexander Hixon <hixon.alexander@mediati.org>
16208 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Revert change from
16211 2008-03-20 Alexander Hixon <hixon.alexander@mediati.org>
16213 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs:
16214 Added left padding, so it doesn't look so bad on fullscreen. Also made
16215 addition to code comment from previous commit, and some evil whitespace.
16217 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
16218 Patch to fix small bug introduced in r3487 where the missing pixbuf icon
16219 would be displayed as an album cover type when it shouldn't be (ie the
16220 black box around the icon).
16222 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Slightly more
16223 awesome status bar text, shamelessly ported from stable.
16225 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs: Removed
16226 more mentions of 'songs' and replaced with 'media'.
16228 2008-03-20 Alexander Hixon <hixon.alexander@mediati.org>
16230 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs:
16231 Stop hiding the job tile host, so that any ease-out animations that occur
16232 with only a single widget in the host display correctly, instead of being
16235 2008-03-20 Gabriel Burt <gabriel.burt@gmail.com>
16237 * src/Extensions/Banshee.Bookmarks/Banshee.Bookmarks/BookmarksService.cs:
16238 Work around issue with CanSeek being equal to false for a bit after the
16239 engine loads the song we want to jump within.
16241 2008-03-19 Gabriel Burt <gabriel.burt@gmail.com>
16243 Patch from Bertrand Lorentz porting the Bookmarks plugin.
16245 * build/build.environment.mk:
16247 * src/Extensions/Banshee.Bookmarks/Banshee.Bookmarks.addin.xml:
16248 * src/Extensions/Banshee.Bookmarks/Banshee.Bookmarks.mdp:
16249 * src/Extensions/Banshee.Bookmarks/Banshee.Bookmarks/BookmarksService.cs:
16250 * src/Extensions/Banshee.Bookmarks/Makefile.am:
16251 * src/Extensions/Banshee.Bookmarks/Resources/BookmarksMenu.xml:
16252 * src/Extensions/Extensions.mds:
16253 * src/Extensions/Makefile.am: Port the Bookmarks plugin to trunk.
16255 2008-03-19 Gabriel Burt <gabriel.burt@gmail.com>
16257 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs:
16258 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
16259 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs:
16260 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs:
16261 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Lots of 'song'
16264 2008-03-19 Gabriel Burt <gabriel.burt@gmail.com>
16266 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs: Take the title
16267 from the filename if needed.
16269 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
16270 Display a video icon for missing video 'album art'.
16272 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
16273 Change 'song' to 'item' in a few places.
16275 2008-03-19 Aaron Bockover <abock@gnome.org>
16277 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
16278 Added a TrackStarted event that will always be raised, even if the
16279 playback controller did not transition to the track, but most importantly
16280 it will _always_ be raised after the Transition event; this allows
16281 users to connect to both events to determine if the track that is
16282 playing was manually played or not
16284 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
16285 Activate the now playing source if the user manually started playing a
16286 track with a video stream; uses the nice transition/track start stuff
16289 2008-03-19 Aaron Bockover <abock@gnome.org>
16291 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Stubbed
16292 some stuff out to allow showing separator rows; not complete
16294 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs:
16295 Pack the video widget into a rounded frame to look sexy
16297 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs:
16299 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/GtkTheme.cs: Respect ShowStroke
16301 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/ThemeContext.cs: Added
16302 ShowStroke property
16304 * src/Libraries/Hyena.Gui/Hyena.Widgets/RoundedFrame.cs: Allow setting
16305 a custom fill color and the ability to hide the border/stroke
16307 2008-03-19 Aaron Bockover <abock@gnome.org>
16309 * build/m4/banshee/gstreamer.m4: Link gstinterfaces and gstvideo libraries
16311 * libbanshee/gst-playback-0.10.c: First pass at hopefully properly
16312 implementing the GstXOverlay stuff; adds video rough video support
16313 to the pipeline/player engine
16315 * src/Core/Banshee.Services/Banshee.MediaEngine/NullPlayerEngine.cs:
16316 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngine.cs:
16317 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
16318 Implement a few video related features to allow setting/exposing to a
16319 GdkWindow for video support
16321 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
16322 Send the GdkWindow/Video calls into the player engine - binds the
16323 pipeline XOverlay to a window in the UI
16325 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs:
16326 Managed GdkWindow and video slab display widget thingy that can be
16327 drawn on by an engine
16329 2008-03-18 Gabriel Burt <gabriel.burt@gmail.com>
16331 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
16332 Forgot to make the db schema changes in the InitializeFreshDatabase method.
16334 2008-03-18 Aaron Bockover <abock@gnome.org>
16336 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Hide the view container
16337 when the source doesn't support custom contents or has a track model
16339 * src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs:
16340 * src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs:
16341 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
16342 Fix up the source ordering to allow for some play
16344 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
16345 Changed the argument to have MA spew its guts to --debug-addins
16347 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
16348 Changed to reflect the Nereid source contents properties and hide the
16349 source contents header since it's pointless for Last.fm
16351 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingSource.cs:
16352 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/NowPlayingInterface.cs:
16353 Stubbed out the basics for the new 'Now Playing' source that will be used
16354 to display video, visualizations, and other data related to the currently
16357 * src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/VideoDisplay.cs:
16358 Basic placeholder GdkWindow to be used to render video
16360 2008-03-18 Gabriel Burt <gabriel.burt@gmail.com>
16362 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
16363 Set ShowBrowser to the same value as our Parent, by default. So playlists
16364 under VideoLibrary will not show the browser.
16366 2008-03-18 Gabriel Burt <gabriel.burt@gmail.com>
16368 This commit makes it easy/possible to create playlists and smart playlists
16369 on any PrimarySource.
16371 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
16372 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
16373 Add PrimarySourceID column to Core[Smart]Playlists.
16375 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
16376 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
16377 Load and save PrimarySourceID.
16379 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs:
16380 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistCore.cs:
16381 Handle loading smart playlists from various primary sources.
16383 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs:
16385 * src/Core/Banshee.ThickClient/Resources/banshee-dialogs.glade:
16386 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Change Music
16387 to Media where appropriate.
16389 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs:
16390 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
16391 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs:
16392 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: When creating
16393 new playlists, create them with the correct primary source.
16395 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
16396 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
16397 This needs to be fixed up - the 'New Playlist' playlist that appears when
16398 you drag tracks over the SourceView only displays for the Music Library
16401 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
16402 Update to new PlaylistSource ctor.
16404 2008-03-18 Gabriel Burt <gabriel.burt@gmail.com>
16406 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs: If a
16407 file contains video, put it in the VideoLibrary instead of the
16410 * src/Core/Banshee.Services/Makefile.am:
16411 * src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs:
16412 * src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs: New
16413 files. VideoLibrarySource turns off the browser.
16415 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs: Changed to
16416 not be music specific. Subclassed by new Music/VideoLibrarySource classes.
16418 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
16419 * src/Core/Banshee.Services/Banshee.Library/ThreadPoolImportSource.cs:
16420 Update SourceManager.Library references to SourceManager.MusicLibrary.
16422 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Create
16423 VideoLibrarySource.
16425 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Rename
16426 Library property to MusicLibrary, and add VideoLibrary property.
16428 * src/Core/Banshee.ThickClient/Banshee.Gui/IconThemeUtils.cs: Check the
16429 executing assembly for the resource file if it's not found in the given
16432 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
16433 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
16434 Rename ImportMusicAction to ImportAction.
16436 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
16437 Change icon to normal playlist icon for now since the Music Library now
16438 uses our old icon. Listen for events on the VideoLibrary too.
16440 2008-03-18 Sebastian Dröge <slomo@circular-chaos.org>
16442 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
16443 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerView.cs:
16444 Change the unit of the preamp setting into dB, otherwise the scale
16445 next to it is confusing.
16447 2008-03-18 Gabriel Burt <gabriel.burt@gmail.com>
16449 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs: Fix delete
16450 from library code so that remove tracks from database is only called once
16453 2008-03-17 Aaron Bockover <abock@gnome.org>
16455 * src/Core/Banshee.Services/Banshee.Sources/MessageAction.cs: Non-GUI
16456 action that can be attached to a SourceMessage
16458 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Added SourceMessage
16459 support to replace the Message.* properties; supports a stack of messages
16461 * src/Core/Banshee.Services/Banshee.Sources/SourceMessage.cs: Message
16462 class replacing all of the Message.* properties
16464 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedMessageBar.cs:
16465 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
16466 Updated to use the new Source/SourceMessage changes
16468 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedBox.cs:
16469 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedHBox.cs:
16470 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedVBox.cs: Some code
16471 clean ups and the ability to remove all widgets at once
16473 * src/Libraries/Hyena.Gui/Hyena.Widgets/MessageBar.cs: Minor rendering fix
16475 2008-03-17 Gabriel Burt <gabriel.burt@gmail.com>
16477 * src/Core/Banshee.Widgets/Banshee.Widgets/RatingEntry.cs: Add ability
16478 preview-on-hover, but keep it disabled for now.
16480 2008-03-16 Aaron Bockover <abock@gnome.org>
16482 * src/Core/Banshee.Core/Banshee.Collection/TrackMediaAttributes.cs:
16483 Defined a starting set of general flags that can be used to describe
16484 the track, including VideoStream, AudioStream, Podcast, AudioBook, etc.
16486 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Added a
16487 MediaAttributes property
16489 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
16490 Override MediaAttributes and bind it to the Attributes column
16492 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs: Detect and merge
16493 some MediaAttributes into the track (i.e. if taglib says the file
16494 has audio and/or video streams, apply those as attributes)
16496 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
16497 Added the first schema changes using the migrator now that we have actually
16498 made a release, we don't want to break users' database; add a column called
16499 Attributes to CoreTracks
16501 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
16502 NotifyTracksAdded a little more frequently than we do right now
16504 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteUtils.cs: Special case
16505 Enum types so that we can convert integer values in the database to
16506 the enum values they represent if a bound property's type is an enum
16508 2008-03-16 Scott Peterson <lunchtimemama@gmail.com>
16510 Added animated layout widgets to Hyena.Gui
16512 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs:
16513 Cast the shutdown handlers in the foreach statement.
16515 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.
16516 cs: User jobs now use the fancy fancy AnimatedVBox.
16518 * src/Libraries/Hyena.Gui/Hyena.Gui.Theatrics/Actor.cs:
16519 Added an overload for Rest which takes a new duration.
16521 * src/Libraries/Hyena.Gui/Hyena.Gui.Theatrics/Choreographer.cs:
16522 A static class which provides math-o-magical easing equations.
16524 * src/Libraries/Hyena.Gui/Hyena.Gui.Theatrics/Stage.cs:
16525 Added an overload for Rest which takes a new duration and &= the
16526 ActorStepHandlers together to fix a theoretical bug.
16528 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedBox.cs:
16529 A base class for doing animated packing.
16530 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedHBox.cs:
16531 A container for animatedly packing widgets into a horizontal box.
16533 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedVBox.cs:
16534 A container for animatedly packing widgets into a vertical box.
16536 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedWidget.cs:
16537 An internal class used by the AnimatedBox classes
16539 * src/Libraries/Hyena.Gui/Makefile.am:
16540 * src/Core/Banshee.Services/Banshee.Services.mdp:
16541 * src/Libraries/Hyena.Gui/Hyena.Gui.mdp:
16543 2008-03-16 Wouter Bolsterlee <wbolster@svn.gnome.org>
16545 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/AboutDialog.cs:
16546 Use a real en dash for date ranges. This is 2008 and we
16547 do speak Unicode nowadays! :)
16549 2008-03-14 Aaron Bockover <abock@gnome.org>
16551 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Define
16552 a property for the icon name that is expected to be in the GTK icon theme;
16553 set this value to the new media-player-banshee icon name (used to be
16554 music-player-banshee, changed to avoid conflicts)
16556 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:
16557 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/GtkNotificationAreaBox.cs:
16558 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
16559 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationAreaBox.cs:
16560 Remove all hardcoded references to music-player-banshee, the old icon
16561 name, and replaced with the new Application property
16563 2008-03-13 Gabriel Burt <gabriel.burt@gmail.com>
16565 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Fix mono
16568 2008-03-14 Scott Peterson <lunchtimemama@gmail.com>
16570 * src/Libraries/Mono.Media/Mono.Media.mdp: Removed unnessisary reference.
16572 2008-03-13 Aaron Bockover <abock@gnome.org>
16574 Banshee 1.0 Alpha 1 (0.98.1) Released
16576 2008-03-13 Gabriel Burt <gabriel.burt@gmail.com>
16578 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs:
16579 Disable one broken pre-defined smart playlist, and ensure the others are
16580 refreshed/reloaded when 'selected for use'.
16582 2008-03-13 Aaron Bockover <abock@gnome.org>
16584 * NEWS: Updated for 0.98.1
16586 * configure.ac: Require Mono 1.2.2, oops
16588 2008-03-13 Gabriel Burt <gabriel.burt@gmail.com>
16590 * src/Libraries/Hyena/Hyena/DateTimeUtil.cs: Super ugly hack to work
16591 around ArgumentOutOfRangeException thrown by DateTime parser.
16593 2008-03-13 Gabriel Burt <gabriel.burt@gmail.com>
16595 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs: Add
16596 Banshee Group radio station as a default.
16598 2008-03-13 Aaron Bockover <abock@gnome.org>
16600 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Protect against
16601 NRE when comparing track objects
16603 2008-03-13 James Willcox <snorp@snorp.net>
16605 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
16606 Correctly update after cover art appears
16608 2008-03-13 Gabriel Burt <gabriel.burt@gmail.com>
16610 * src/Extensions/Banshee.Lastfm/Resources/audioscrobbler.png: Replace
16611 24x24 version with 22x22 version.
16613 2008-03-13 Aaron Bockover <abock@gnome.org>
16615 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackRepeatActions.cs:
16616 Disable repeat modes in the UI since they are not actually implemented
16617 in the playback controller at this time
16619 2008-03-13 Gabriel Burt <gabriel.burt@gmail.com>
16621 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
16622 Patch from Alexander Hixon fixing the Audioscrobbler now-playing delay
16623 issue, properly listens for the account being updated to update
16626 * src/Core/Banshee.Core/Resources/contributors.xml: Add Michael Monreal to
16629 2008-03-13 Gabriel Burt <gabriel.burt@gmail.com>
16631 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Avoid
16632 GtkCritical warning by checking that the TreeIter is not Zero before
16633 setting a value on it. Fixes bug with closing the Error Source.
16635 2008-03-13 Gabriel Burt <gabriel.burt@gmail.com>
16637 * src/Libraries/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs:
16638 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs:
16639 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs:
16640 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteUtils.cs: Patch from Scott
16641 Peterson fixing up some DateTime/SQL related issues.
16643 2008-03-13 Aaron Bockover <abock@gnome.org>
16646 * src/AssemblyInfo.cs.in:
16647 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs:
16648 Expose a display version in assembly metadata and API
16650 * src/Core/Banshee.Core/Banshee.Base/ProductInformation.cs: Fix small bug
16652 * src/Core/Banshee.Core/Resources/contributors.xml: Updated
16654 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/AboutDialog.cs:
16655 Some minor fixes and cosmetic polish; the link works again
16657 2008-03-12 Aaron Bockover <abock@gnome.org>
16659 * src/Core/Banshee.Core/Banshee.Base/Paths.cs: Redefine
16660 LegacyApplicationData to mean the previous ApplicationData, not the
16661 one from when we were using ~/.gnome2/banshee
16663 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs:
16664 Migrate cover art from the new LegacyApplicationData path
16666 * src/Core/Banshee.Services/Makefile.am: Fixed build
16668 2008-03-12 Gabriel Burt <gabriel.burt@gmail.com>
16670 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
16671 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
16672 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
16673 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
16674 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumInfo.cs:
16675 Rename LibraryAlbumInfo to DatabaseAlbumInfo.
16677 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
16678 Change all DateTime.MinValue stamps to NULL.
16680 * src/Extensions/Banshee.Lastfm/Makefile.am: Alphabetize.
16682 * src/Libraries/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs:
16683 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs:
16684 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteUtils.cs: Serialize and
16685 unserialze DateTime.MinValue as NULL.
16687 * src/nuke-core-tables: Update to new config subdir.
16689 2008-03-12 Gabriel Burt <gabriel.burt@gmail.com>
16691 * src/Core/Banshee.ThickClient/Resources/banshee-dialogs.glade:
16692 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs: Disable
16693 artist/album editing and add note explaining they are disabled for the
16696 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs:
16697 * src/Core/Banshee.Core/Banshee.Streaming/SaveTrackMetadataJob.cs: Save
16698 all metadata possible back to files, and add notes about keeping these two
16701 2008-03-12 Scott Peterson <lunchtimemama@gmail.com>
16703 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs: Don't
16704 copy the old db file unless it exists.
16706 2008-03-12 Aaron Bockover <abock@gnome.org>
16708 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Make
16709 CanPlay false if there is a stream error on the track
16711 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationType.cs:
16712 Change some of the icons for now
16714 2008-03-12 Aaron Bockover <abock@gnome.org>
16716 * src/Core/Banshee.Core/Banshee.Base/Paths.cs: Change the application
16717 data directory to banshee-1; create the directory if it doesn't exist;
16718 added ExtensionsData to Paths
16720 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
16721 Copy the old library to the new path if it exists - this will allow
16722 both old and new Banshee series to fully coexist
16724 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/Queue.cs:
16725 Use the ExtensionsData path
16727 2008-03-12 Aaron Bockover <abock@gnome.org>
16729 Yes. I made all the build stuff refer to Banshee as banshee-1 instead
16730 of banshee-preview. This includes all paths, launchers, and even
16733 2008-03-12 Aaron Bockover <abock@gnome.org>
16735 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GnomeService.cs:
16736 Fixed the null check, actually works now
16738 * src/Clients/Nereid/Nereid/ViewContainer.cs: Add a 'Help' menu item
16739 to the bottom of the search entry filter menu
16741 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
16742 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
16743 Add a menu item that takes the user to the documentation on the Wiki
16744 for query/search syntaxt and examples
16746 * src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs: Expose the Menu
16748 * src/Libraries/Lastfm/Lastfm/Account.cs:
16749 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
16750 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
16751 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
16752 Hook up the web browser stuff again so account links work
16754 * src/Libraries/Lastfm.Gui/Lastfm.Gui/AccountLoginDialog.cs: Add the
16755 account signup button back
16757 * src/Libraries/Lastfm/Lastfm/Browser.cs: Fixed up to work again
16759 2008-03-12 Aaron Bockover <abock@gnome.org>
16761 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GnomeService.cs:
16762 Added an all-singing, all-dancing GNOME entry service; currently this
16763 just hooks up Gnome.Url.Show (gnome-open) to Banshee.Web.Browser;
16764 ideally Process.Start would work properly, but it's got some issues,
16765 even though it does use xdg-open (which gnome-open should use);
16766 gnome-open is also a bit more backwards compatible and may be necessary
16767 on SLED, for instance; phew.
16769 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
16770 Fixed the playback indication for database tracks (BGO #520503)
16772 * src/Core/Banshee.Services/Banshee.Web/Browser.cs: Implemented an
16773 OpenHandler to allow extensions to override the default way of opening
16774 a link in a browser
16776 * src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GConfConfigurationClient.cs:
16777 Renamed namespace from Banshee.Gnome to Banshee.GnomeBackend since there
16778 is a possibility of conflicts with the standard Gnome namespace
16780 * build/build.rules.mk: Add some rules to filter out duplicate references
16781 that will be passed to the compiler due to the dependency chain in the
16782 build environment; makes debugging easier even though the compiler would
16783 filter this out by itself; also put hard target dependencies on assemblies
16784 that are referenced in bin/; hopefully will help some occasional build
16787 2008-03-12 Gabriel Burt <gabriel.burt@gmail.com>
16789 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Call
16790 RefreshAndReload on smart playlist Refresh action.
16792 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistCore.cs:
16793 Call RefreshAndReload when loading the smart playlists if we just migrated
16796 2008-03-12 Gabriel Burt <gabriel.burt@gmail.com>
16798 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
16799 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
16800 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
16801 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
16802 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
16803 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
16804 * src/Libraries/Hyena/Hyena.Data.Sqlite/ICacheableItem.cs:
16805 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Add a
16806 CacheModelId property to Track/Artist/Album classes, and rename
16807 SourceEntryId to CacheEntryId.
16809 2008-03-11 Gabriel Burt <gabriel.burt@gmail.com>
16811 This commit cleans up and speeds up reloading.
16813 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
16814 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
16815 Listen for Selection.Changed event and reload the track model with the
16816 appropriate ReloadTrigger argument.
16818 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
16819 Add a Reload method that takes a ReloadTrigger argument identifying what
16820 caused the reload (user query, artist or album filter) so each can be
16821 handled optimally. Should fix performance regressions introduced in
16822 yesterday's bug fixes.
16824 * src/Core/Banshee.Services/Banshee.Collection/SelectAllSelection.cs: If
16825 there is only one real item and it's selected, then AllSelected = true.
16827 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
16828 Add a bunch more indexes to CoreTracks.
16830 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Do not call
16831 lower() within ORDER BY fragments for track sorting. This means it will
16832 be case sensitive for now. Sqlite's lower() method doesn't work with
16833 non-LATIN characters, and it's slow. We need to add columns where we
16834 store the result of lowercasing Album, Artist, and Title in C#.
16836 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
16837 Add a new Refresh method that actually regenerates the smart playlist
16838 entries, since this doesn't need to happen on every Reload.
16840 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Move the
16841 complicated Reload logic into the *ListDatabaseModels. Get rid of
16842 FilteredDuration/FileSize properties.
16844 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
16845 * src/Core/Banshee.Services/Banshee.Sources/IFileSizeAggregator.cs:
16846 * src/Core/Banshee.Services/Banshee.Sources/IDurationAggregator.cs: Remove
16847 Filtered* properties - we never display both, so might was well not require it
16848 or bother to calculate the un-filtered version.
16850 * src/Libraries/Hyena/Hyena.Data/IFilterable.cs: Remove Refilter method.
16852 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
16853 Fix bug with default sort column where it was based on your column order.
16855 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs: Call
16856 new Refresh method on SmartPlaylistSources.
16858 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
16859 Remove selection-changed source reload code - that's handled internally by the
16860 *ListDatabaseModels now.
16862 * src/Libraries/Hyena/Hyena.Data/ModelCache.cs: Change Reload to return
16865 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Use slightly
16866 faster INSERT INTO pattern, and don't automatically Save/RestoreSelection
16867 and UpdateAggregates within Reload.
16869 2008-03-11 Aaron Bockover <abock@gnome.org>
16871 * src/Libraries/Hyena.Gui/Hyena.Gui/CairoExtensions.cs: Do not crash
16872 if the native Cairo pop/push group functions do not exist
16874 2008-03-11 Aaron Bockover <abock@gnome.org>
16876 * build/build.rules.mk:
16877 * build/m4/banshee/gtk-sharp.m4:
16878 * configure.ac: Check for Gtk# 2.10 or better and define HAVE_GTK_2_10
16879 on all the assemblies; this will allow the build to succeed on Gtk# 2.8
16881 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/GtkNotificationAreaBox.cs:
16882 Do not build if we don't HAVE_GTK_2_10, since GtkStatusIcon was introduced
16883 in that version; we only use GtkStatusIcon as a fallback if we are not
16884 running on X11/Unix anyway (i.e. it's mainly used for Windows)
16886 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
16887 Do not try to instantiate GtkNotificationAreaBox if we don't HAVE_GTK_2_10;
16888 and since now we are not guaranteed to have some sort of
16889 INotificationAreaBox, properly dispose the notification area service
16890 if we never get a reference to one (i.e. running on not X11/Unix and
16893 2008-03-11 Aaron Bockover <abock@gnome.org>
16895 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Remove a bad line where
16896 I set the colormap of the window to be RGBA for no reason; I was playing
16897 around one night and committed this awful thing; SORRY
16899 2008-03-11 Aaron Bockover <abock@gnome.org>
16901 * src/Libraries/Hyena.Gui/Hyena.Gui/PangoCairoHelper.cs: Wrap the
16902 Pango Cairo calls we care about so we'll build and run on GTK 2.8 again,
16903 which is quite important (yay SLED)
16905 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/BetaReleaseViewOverlay.cs:
16906 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
16907 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
16908 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Use the new
16909 Hyena.Gui.PangoCairoHelper API
16911 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/CairoHelper.cs: Nuked
16913 2008-03-11 Gabriel Burt <gabriel.burt@gmail.com>
16915 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationType.cs:
16916 * src/Extensions/Banshee.Lastfm/Makefile.am: New tag, recommended,
16917 neighbour, and personal icons.
16919 * src/Libraries/Lastfm.Gui/Lastfm.Gui/AccountLoginForm.cs: Do not update
16920 the account information until the Close button is pressed.
16922 2008-03-11 Gabriel Burt <gabriel.burt@gmail.com>
16924 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
16925 Removed Equals and GetHashCode override that ignored type differences, and
16926 caused the playqueue to disappear if you had a smartplaylist of the same
16929 2008-03-10 Gabriel Burt <gabriel.burt@gmail.com>
16931 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
16932 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs: Fix
16933 scrolling to jump to the first selected item only if a selected item is
16934 not already in view. If the model count < the visible rows, scroll to the
16937 2008-03-10 Gabriel Burt <gabriel.burt@gmail.com>
16939 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
16940 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
16941 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnController.cs:
16942 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs:
16943 Default the sort of the TrackList to sort by Artist.
16945 2008-03-10 Gabriel Burt <gabriel.burt@gmail.com>
16947 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
16948 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
16949 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
16950 * src/Core/Banshee.Services/Banshee.Database/BansheeModelProvider.cs:
16951 * src/Libraries/Hyena/Hyena.Data.Sqlite/ICacheableItem.cs:
16952 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs:
16953 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Rename
16954 CacheId to SourceEntryId, only require T : ICacheableItem in *ModelCache
16955 classes, and set the SourceEntryId in SqliteModelCache.
16957 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
16960 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Comment out
16963 2008-03-10 Gabriel Burt <gabriel.burt@gmail.com>
16965 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Fix bug with
16966 inconsistent table name in SQL.
16968 2008-03-10 Gabriel Burt <gabriel.burt@gmail.com>
16970 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
16971 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
16972 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
16973 Add CacheId property that can be used to uniqued ID an item within a list.
16975 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
16976 Notify the Library about the metadata-refreshed tracks after closing the
16977 user job so it doesn't look like it's hung.
16979 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
16980 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: SpawnFromMain
16983 * src/Core/Banshee.Services/Banshee.Database/BansheeModelCache.cs:
16984 * src/Core/Banshee.Services/Banshee.Database/BansheeModelProvider.cs:
16985 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs:
16986 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs:
16987 * src/Libraries/Hyena/Makefile.am:
16988 * src/Libraries/Hyena/Hyena.Data.Sqlite/ICacheableItem.cs: New interface
16989 containing CacheId property that *ModelCache and *ModelProvider classes
16992 2008-03-10 Aaron Bockover <abock@gnome.org>
16994 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Change
16995 AudiblyEqual to TrackEqual since it makes more sense; make the base
16996 comparison compare the track URIs
16998 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
16999 Override TrackEqual and use database IDs for comparisons since that
17000 is much more efficient; not complete however; renamed DbId to TrackId
17002 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
17003 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
17004 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
17005 Changed to use TrackId instead of DbId
17007 2008-03-10 Aaron Bockover <abock@gnome.org>
17009 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs:
17010 Patch from Lukas Lipka to use the stop icon instead of close icon
17011 in the UserJobTile widget (BGO #520342)
17013 2008-03-10 Gabriel Burt <gabriel.burt@gmail.com>
17015 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
17016 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
17017 Fix smart playlists to work with new ReloadTrack override.
17019 2008-03-10 Aaron Bockover <abock@gnome.org>
17021 * src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs:
17022 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
17023 Use the new Ready state instead of Initialized
17025 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngine.cs: Do not
17026 allow state transitions unless the engine is setting itself to the
17027 ready state; send the idle state automatically once the engine sends
17028 the ready state; all engines must transition to ready before anything
17031 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
17032 Handle the NotReady state in much the same way Idle is handled; some
17033 generic code cleanup
17035 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineState.cs:
17036 Removed Initialized state in favor of Ready, added the NotReady state,
17037 which is the default state for all engines; engines must manually
17038 transition to the Ready state before any other state changes can occur
17040 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
17041 Set the playing track when PlayerEngineEvent.StartOfStream is raised;
17042 do not set the playing track manually when querying the model
17044 2008-03-10 Gabriel Burt <gabriel.burt@gmail.com>
17046 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
17047 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
17049 2008-03-10 Gabriel Burt <gabriel.burt@gmail.com>
17051 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
17052 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
17053 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
17054 Add override to Reload method with options for suppressing notification
17057 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Remove
17058 RateLimitedFilter method, rework Reload to do suffice. Remove cruft.
17059 Call track model's Reload with arguments to suppress notification and
17060 artist/album filtering.
17062 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Remove
17063 cruft, call PruneArtistsAlbums from within OnTracksDeleted
17065 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
17066 Simplify Selection changed handler to just call Reload on the source.
17068 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/ISourceContents.cs:
17069 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/ObjectListSourceContents.cs:
17070 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSourceContents.cs:
17071 Change to use ISource instead of Source.
17073 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
17074 Prevent unnecessary Selection.Changed raising.
17076 * src/Libraries/Hyena/Hyena.Collections/Selection.cs: Add ToString
17077 override for debugging.
17079 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
17080 Do ++count so Library gets refreshed on even 500s instead of N*500 + 1.
17082 2008-03-10 Aaron Bockover <abock@gnome.org>
17084 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Removed all
17085 of the excessive [potential] thread spawning; it will be moved to where
17086 it is actually necessary (it is not necessary in most cases, is overkill,
17087 and can cause unexpected problems); this fixes the regression in the
17090 2008-03-10 Gabriel Burt <gabriel.burt@gmail.com>
17092 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Fix the
17095 2008-03-10 Gabriel Burt <gabriel.burt@gmail.com>
17097 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
17098 Now depends on the Artist model, resets the artist filter at each reload,
17099 exposes CacheId and ClearCache.
17101 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
17102 Expose CacheId property and ClearCache method.
17104 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
17105 Keep references to the artist/album models and regenerate the artist/album
17106 filter for each reload.
17108 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs: Reset
17109 the count to 0 when finished importing.
17111 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
17114 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Avoid
17115 triggering the Reloaded event when reloading it twice in a row - no
17116 flicker. OnTracksRemoved now reloads the current source, but not the
17117 library etc. New PruneArtistsAlbums method that deletes artists/albums
17118 from the cache that have been removed from the library.
17120 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Rename
17121 TracksRemoved event to TracksDeleted for clarity/parity with method names.
17122 Override PruneArtistsAlbums method.
17124 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
17125 Fix reloading when selection changes.
17127 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
17128 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
17129 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
17130 TracksRemoved event renamed to TracksDeleted for clarity.
17132 2008-03-10 Gabriel Burt <gabriel.burt@gmail.com>
17134 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Avoid
17135 unnecessary db queries in saving/restoring selection. Fix bugs with
17138 * src/Libraries/Hyena/Hyena.Data/DictionaryModelCache.cs: Add lock
17139 around Clear command.
17141 2008-03-07 Aaron Bockover <abock@gnome.org>
17143 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_DragAndDrop.cs:
17144 Calculate the row index for reordering
17146 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
17147 Render a line to indicate the row reordering index
17149 2008-03-07 Aaron Bockover <abock@gnome.org>
17151 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_DragAndDrop.cs:
17152 Some minor fixes and cleanups
17154 2008-03-07 Aaron Bockover <abock@gnome.org>
17156 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_DragAndDrop.cs:
17157 Added another partial class for drag and drop specific stuff for the
17158 view; implement variable velocity scrolling when dragging rows in the
17159 view; it's awesome; added a Reorderable property, but it does not do
17160 anything yet (other than the awesome scrolling)
17162 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
17163 Moved some DnD code into the new partial class
17165 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
17166 Set Reorderable and ForceDragSourceSet properties
17168 * src/Core/Banshee.ThickClient/Banshee.Gui.DragDrop/DragDropTarget.cs:
17169 Removed the model selection target
17171 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
17172 Use the model selection target from hyena
17174 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSourceContents.cs:
17175 Fixed a crasher/NRE
17177 2008-03-07 Aaron Bockover <abock@gnome.org>
17179 * src/Libraries/Hyena/Hyena/ConsoleCrayon.cs: Added Hutch's terminfo
17180 changes to do all the coloring properly
17182 2008-03-06 Gabriel Burt <gabriel.burt@gmail.com>
17184 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs:
17185 * src/Core/Banshee.Core/Banshee.Streaming/CommonTags.cs:
17186 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs:
17187 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
17188 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
17189 Add Composer, Copyright, LicenseUri, and Comment columns to CoreTracks.
17191 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Add Composer
17194 2008-03-06 Gabriel Burt <gabriel.burt@gmail.com>
17196 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
17197 Add ToString override for debugging purposes.
17199 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
17200 Scroll to the top if artist or album selection changes to all selected.
17202 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs: When
17203 refreshing the view for the model, scroll to the first selected item if
17206 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs:
17207 * src/Libraries/Hyena/Hyena.Data/ModelCache.cs: Add locks to make
17208 thread-safe, solves (at least some) spurious browser issues people have
17211 2008-03-06 Aaron Bockover <abock@gnome.org>
17213 * src/Core/Banshee.Widgets/Banshee.Widgets/StreamPositionLabel.cs:
17214 Render the buffering progress bar using the GTK styles, take care of
17215 the pango layout manually instead of using a GtkLabel to be able
17216 to render the text in two colors, depending on the progress bar
17218 * build/build.rules.mk: Do not pass -warnaserror if mono is older than
17219 1.2.4 since there appear to be some fake warnings raised with the older
17222 * build/m4/shamrock/mono.m4: Added a method to detect the mono version but
17223 not bail if it wasn't met, and set a result
17225 * configure.ac: Check for at least mono 1.2.4 and export the result
17227 2008-03-05 Aaron Bockover <abock@gnome.org>
17229 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/BetaReleaseViewOverlay.cs:
17230 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
17231 Use the allocation passed to Render to do the maths
17233 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
17234 Expose ListAllocation as a protected property
17236 2008-03-05 Aaron Bockover <abock@gnome.org>
17238 Lots of build fixes, preparing for the release
17240 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
17241 Always update the addin registry so new/changed addins are rescanned
17243 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
17244 Workaround for a mono 1.2.4 bug
17246 2008-03-05 Gabriel Burt <gabriel.burt@gmail.com>
17248 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Small but
17249 powerful fix - was not clearing the selection between reloads at all.
17251 2008-03-05 Gabriel Burt <gabriel.burt@gmail.com>
17253 * src/Core/Banshee.Services/Banshee.Base/RateLimiter.cs: Change to prevent
17254 the method from being called while it is still running, queueing another
17255 run to happen when the current one finishes, instead of specifying a
17256 specific rate limit.
17258 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
17259 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
17260 Set HasSelectAllItem on cache to true.
17262 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
17263 Avoid parsing the user query if it hasn't changed since we last parsed it.
17264 Add SuppressReloads method so we can update both the album and artist
17265 filter before doing a Reload, and add a ClearArtistAlbumFilters method
17266 that directly, quickly does that.
17268 * src/Core/Banshee.Services/Banshee.Collection/AlbumListModel.cs:
17269 * src/Core/Banshee.Services/Banshee.Collection/ArtistListModel.cs:
17270 * src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs:
17271 * src/Core/Banshee.Services/Banshee.Collection/TrackListModel.cs: Create
17272 the selection object within each subclass so that Album and Artist models
17273 can create a SelectAllSelection.
17275 * src/Core/Banshee.Services/Makefile.am:
17276 * src/Core/Banshee.Services/Banshee.Collection/SelectAllSelection.cs: New
17277 class that makes sure the first item is selected as the AllSelected = true
17280 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
17281 Override new ReloadTrackModel method which is called by DatabaseSource's
17282 RateLimitedReload and RateLimitedFilter methods.
17284 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Add
17285 RateLimitedFilter method for spawning off the filter handler.
17287 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
17288 Updated to work with SelectAllSelection and to trigger two track model
17289 updates when the artist model changes - one that is not filtered by any
17290 artists or albums, and one that is filtered by the artist/album selection,
17293 * src/Libraries/Hyena/Hyena.Collections/Selection.cs: Change AllSelected
17294 and SelectAll to be virtual, add a MaxIndex getter.
17296 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Update the
17297 SaveSelection and RestoreSelection code to work with artist/album
17298 selections that have a first (fake) item "All *".
17300 2008-03-05 Gabriel Burt <gabriel.burt@gmail.com>
17302 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs:
17303 Ignore deprecation warning.
17305 2008-03-05 Aaron Bockover <abock@gnome.org>
17307 * build/build.rules.mk: Turned on -warnaserror and only show the bold
17308 compiling message if the terminal supports colors and is a tty
17310 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs:
17311 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackRepeatActions.cs:
17312 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
17313 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/CairoHelper.cs:
17314 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs:
17317 2008-03-05 Gabriel Burt <gabriel.burt@gmail.com>
17319 * src/Core/Banshee.Core/Resources/COPYING: Update to 2008.
17321 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
17322 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
17323 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs:
17324 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
17325 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
17326 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
17327 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Fix warnings.
17329 2008-03-04 Gabriel Burt <gabriel.burt@gmail.com>
17331 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
17332 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
17333 Replace confusing constructors with static FindOrCreate methods. Should
17334 fix an issue with finding/creating/associating new albums too.
17336 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs: Use
17337 new FindOrCreate methods.
17339 2008-03-04 Gabriel Burt <gabriel.burt@gmail.com>
17341 * src/Libraries/Hyena/Hyena.Data/ISelectable.cs: Forgot to commit new file.
17343 2008-03-04 Gabriel Burt <gabriel.burt@gmail.com>
17345 This commit fixes a long standing bug in trunk - selections now persist
17346 across source reloads (assuming the tracks are still in the source/not
17349 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
17350 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
17351 Add a bool CachesJoinTableEntries property so Smart Playlists can use the
17352 join table but fill the CoreCache with TrackIDS not EntryIDS - needed,
17353 since their EntryIDs don't last long b/c they are wiped/created anew every
17356 * src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs: Don't
17357 clear the selection on reload.
17359 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
17360 Override CachesJoinTableEntries to false.
17362 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
17363 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
17364 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
17365 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Check
17366 model.CachesJoinTableEntries instead of JoinTable != null.
17368 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Whitespace.
17370 * src/Libraries/Hyena/Hyena.Data.Sqlite/ICacheableDatabaseModel.cs:
17371 Inherit from ISelectable and add CachesJoinTableEntries property.
17373 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: SaveSelection
17374 before a Reload and RestoreSelection afterward.
17376 * src/Libraries/Hyena/Hyena.Data/ModelCache.cs:
17377 * src/Libraries/Hyena/Hyena.Data/ArrayModelCache.cs:
17378 * src/Libraries/Hyena/Hyena.Data/DictionaryModelCache.cs: Update to use
17379 Int64s where appropriate.
17381 * src/Libraries/Hyena/Hyena.Data/IListModel.cs: Inherit from ISelectable.
17383 * src/Libraries/Hyena/Hyena.Data/ModelSelection.cs: Comment out
17384 unimplemented IndexOf method.
17386 * src/Libraries/Hyena/Makefile.am: New ISelectable interface.
17388 2008-03-04 Gabriel Burt <gabriel.burt@gmail.com>
17390 This commit adds more granular events for when tracks are added, changed,
17391 and removed to each track's PrimarySource. Playlists etc can listen for
17392 these events, and only reload when necessary (still work to do on this
17393 front). Reloads happen not in the main thread, so actions (like rating
17394 4800 songs at once) return quickly, but other sources may take a second or
17397 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
17398 In Save method, trigger PrimarySource's TrackAdded or Changed method as
17401 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
17402 Cache the unfiltered query string.
17404 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs: Call
17405 OnImportFinished even if cancelled.
17407 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
17408 Add CoreRemovedTracks table.
17410 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs: Pass
17411 false to DatabaseTrackInfo.Save method, and manually trigger TracksAdded
17412 event every 500 songs or when finished/cancelled.
17414 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs: Use
17415 RemoveTrackRange instead of remove_track_command.
17417 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
17418 Add stamps for tracking when last handled Tracks* events, add count
17419 commands for use in determining if an event affects this source.
17421 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
17422 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Handle
17423 TracksChanged and TracksRemoved events from our PrimarySource parent.
17424 Right now we just always trigger a Reload, but these handlers are ripe for
17425 optimizations that will avoid Reloads unless absolutely necessary.
17427 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Trigger the
17428 Track* events on the primary source when adding/changing/removing tracks.
17430 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Add
17431 TracksAdded, TracksChanged, and TracksRemoved methods.
17433 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Make
17434 SetParentSource a virtual method.
17436 * src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs:
17437 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:
17438 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Make
17439 sure GUI-related events are handled in the main loop.
17441 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
17443 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs: Turn
17444 DateTime values into integers.
17446 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Add
17447 another override for Query/Query<T>/Execute (HyenaSqliteCommand, params).
17449 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Cache the
17452 2008-03-04 Aaron Bockover <abock@gnome.org>
17454 * src/Libraries/Hyena/Hyena/Log.cs: Added InformationTimer methods
17455 akin to DebugTimer methods that will work without --debug mode
17457 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
17458 Use InformationTimer instead of DebugTimer to show the overall startup
17459 time; set the addin cache path to just be the application data path,
17460 since Mono.Addins creates its own subdirectory underneath
17462 * src/Core/Banshee.Services/Banshee.Services.addins: Scan Extensions
17463 and Backends directories for addins
17465 * build/build.environment.mk: Define EXTENSIONS_INSTALL_DIR,
17466 BACKENDS_INSTALL_DIR
17468 * src/Backends/Banshee.GStreamer/Makefile.am:
17469 * src/Backends/Banshee.Gnome/Makefile.am:
17470 * src/Backends/Banshee.Unix/Makefile.am:
17471 * src/Extensions/Banshee.Lastfm/Makefile.am:
17472 * src/Extensions/Banshee.MultimediaKeys/Makefile.am:
17473 * src/Extensions/Banshee.NotificationArea/Makefile.am:
17474 * src/Extensions/Banshee.PlayQueue/Makefile.am:
17475 * src/Extensions/Banshee.Skins/Makefile.am: Set the INSTALL_DIR to
17476 either EXTENSIONS_INSTALL_DIR or BACKENDS_INSTALL_DIR so addins are
17477 a bit more organized in the install/packages
17479 * src/Extensions/Makefile.am: Disable the skins extension
17481 2008-03-04 Aaron Bockover <abock@gnome.org>
17483 * src/Libraries/Hyena/Hyena/ConsoleCrayon.cs: A workaround for the somewhat
17484 broken terminfo driver for setting console colors in System.Console on
17485 Mono. If xterm and tty is detected, ANSI control codes will be used to
17486 color the console, otherwise if the runtime is not mono and the OS is
17487 not unix, the regular System.Console API will be used
17489 * src/Libraries/Hyena/Hyena/Log.cs: Use Hyena.ConsoleCrayon instead of
17490 System.Console to set/reset the terminal colors
17492 2008-03-03 Gabriel Burt <gabriel.burt@gmail.com>
17494 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmTrackInfo.cs:
17495 Catch Web exceptions in Love and Ban methods, avoiding crashing.
17497 2008-03-03 Gabriel Burt <gabriel.burt@gmail.com>
17499 This patch fixes a poor assumption made quite a while ago that for
17500 playlists put the TrackID into the CoreCache table, which if you had a
17501 song in a playlist twice would make it impossible to remove one and not
17504 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
17505 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
17506 Fix reload fragments to use the track_model's JoinTable etc when needed.
17508 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
17509 Add JoinTable, JoinPrimaryKey, and JoinColumn properties that allow the
17510 model to specify that it joins, for example, the CoreTracks table with the
17511 CoreCache table via the CorePlaylistEntries table.
17513 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
17514 Add a EntryID primary key to CoreSmartPlaylistEntries, and create an index
17517 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
17518 Add JoinPrimaryKey virtual property, and set the Join* properties.
17520 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Fix
17521 AddTrackRange method to work with track model's that have a join table.
17523 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
17524 Change INSERT to add NULL so primary key automatically set.
17526 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Implement
17527 RemoveTrack by calling RemoveTrackRange with an appropriate Range. Add
17528 ReloadPrimarySource method that reloads the current source's "nearest"
17529 PrimarySource - either itself, its parent, or all PrimarySources.
17531 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Remove
17532 RemoveTrack method - fully implemented in DatabaseSource.
17534 * src/Libraries/Hyena/Hyena.Data.Sqlite/ICacheableDatabaseModel.cs: Add
17537 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Handle models
17538 that specify a JoinTable.
17540 2008-03-02 Aaron Bockover <abock@gnome.org>
17542 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackRepeatActions.cs:
17543 Activate the repeat action when it's loaded from configuration
17545 2008-03-02 Aaron Bockover <abock@gnome.org>
17547 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/BetaReleaseViewOverlay.cs:
17548 Fix some small bugs; do not show with --debug passed
17550 2008-03-02 Alexander Hixon <hixon.alexander@mediati.org>
17552 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
17553 Add a null check before sorting out dependencies, so we don't bomb out on
17554 creating a new simple Smart Playlist.
17556 2008-03-01 Aaron Bockover <abock@gnome.org>
17558 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/BetaReleaseViewOverlay.cs:
17559 A sweet overlay thingy that draws some big warning/welcome for users
17560 about the state of trunk/preview release
17562 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
17563 Render the hot overlay
17565 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
17566 Expose some properties as protected
17568 * src/Libraries/Hyena.Gui/Hyena.Gui.Theatrics/Stage.cs:
17569 Fix a bug when iterating actors in the stage by creating a copy to
17570 iterate; this allows actor step handlers to modify the stage actors
17572 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/GtkTheme.cs:
17573 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/Theme.cs: Added DrawPie
17575 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/ThemeContext.cs: Add some
17576 more state properties
17578 2008-03-01 Scott Peterson <lunchtimemama@gmail.com>
17580 * src/Libraries/Hyena/Hyena.Query/QueryNode.cs: Got rid of unnecessary
17583 2008-03-01 Scott Peterson <lunchtimemama@gmail.com>
17585 * src/Libraries/Hyena/Hyena.Query/QueryNode.cs: Added methods to search a
17586 QueryNode tree for values of a given type either by depth or breadth.
17588 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
17589 Consume the new QueryNode.SearchForValues method.
17591 2008-03-01 Scott Peterson <lunchtimemama@gmail.com>
17593 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Fixed typo.
17595 2008-03-01 Scott Peterson <lunchtimemama@gmail.com>
17597 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
17598 Implements new HasDepenencies property.
17600 * src/Core/Banshee.Services/Banshee.Sources/ITrackModelSource.cs: Added
17601 HasDependencies property.
17603 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: The public Children
17604 property is now a ReadOnlyCollection<Source> since other code has no
17605 business modifying the collection directly.
17607 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: No longer
17608 reload a child source if it has dependencies (the dependencies will
17609 trigger a reload of the source which depends on them).
17611 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
17612 Overrided Equals and GetHashCode to compare DbId.
17614 * src/Core/Banshee.Services/Banshee.Query/SmartPlaylistQueryValue.cs:
17615 Implements new abstract member Resolve(). Used to turn a DbId into a
17616 SmartPlaylistSource.
17618 * src/Core/Banshee.Services/Banshee.Query/PlaylistQueryValue.cs: Implements
17619 new abstract memeber Resolve () (right now it just returns null b/c we
17620 don't use the ObjectValue of a PlaylistQueryValue. In the future, this
17623 * src/Core/Banshee.Services/Banshee.Query/AbstractPlaylistQueryValue.cs:
17624 Added abstract query value to handle the OperatorSet overload used by
17625 both SmartPlaylistQueryValue and PlaylistQueryValue.
17627 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistCore.cs: Made
17628 to use generics and addded GetSmartPlaylistFromDbId () method.
17630 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
17631 Now keeps track of SmartPlaylistSources on which it depends. Used for
17632 listening to dependencies' Update events.
17634 * src/Libraries/Hyena/Hyena.Query/IntegerQueryValue.cs: SetValue made
17637 * src/Libraries/Hyena/Hyena.Query/IntegerKeyedObjectQueryValue.cs: New
17638 abstract class which allows an IntegerObjectValue to map to an object.
17640 2008-02-29 Scott Peterson <lunchtimemama@gmail.com>
17642 * src/Core/Banshee.Services/Banshee.PlayerMigration/AmarokPlayerImportSource.cs:
17645 2008-02-29 Gabriel Burt <gabriel.burt@gmail.com>
17647 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Show the
17648 FilteredFileSize in the status message, like we show the FilteredDuration.
17650 2008-02-29 Alexander Hixon <hixon.alexander@mediati.org>
17652 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
17653 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmTrackInfo.cs:
17654 Modify the LastfmTrackInfo object, and add in the new trackauth variable
17655 in the constructor and associated property. We get the trackauth value
17656 from the track returned from Last.fm (lastfm:trackauth).
17658 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
17659 Only submit NowPlaying tracks if the track is more than 30 seconds in length
17660 and the user has enabled scrobbling of tracks.
17662 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/Queue.cs:
17663 Support the new TrackAuth property in LastfmTrackInfo, submit that and the
17664 correct source code if the track was from radio, otherwise say it was from
17667 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs: Lots of cleanups
17668 to do with HACKING guidelines, trying to send stuff when we're not allowed
17669 to (ie not connected), and *heaps* of logic/name cleanups.
17671 * src/Libraries/Mono.Media/Media.Playlists.Xspf/Track.cs: Expose some lame
17672 kind of method to get extra key values.
17674 2008-02-28 Gabriel Burt <gabriel.burt@gmail.com>
17676 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Fix
17677 calculation figuring out whether or not the click is on the expander.
17679 2008-02-28 Gabriel Burt <gabriel.burt@gmail.com>
17681 * src/Core/Banshee.Services/Banshee.Base/RateLimiter.cs:
17682 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
17683 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
17684 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/QueryBox.cs:
17685 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/QueryLimitBox.cs:
17686 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs:
17687 * src/Libraries/Lastfm.Gui/Lastfm.Gui/AccountLoginDialog.cs:
17688 * src/Libraries/Lastfm.Gui/Lastfm.Gui/AccountLoginForm.cs: Fix warnings.
17690 2008-02-28 Gabriel Burt <gabriel.burt@gmail.com>
17692 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
17693 Add a Save (bool notify) method so processes that are triggering lots of
17694 Save's can avoid notifying the track's PrimarySource until they choose to
17695 - eg in the metadata refresh process.
17697 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
17698 Add comment to PRAGMA cache_size call.
17700 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
17701 Add indices to Core[Smart]PlaylistEntries, and use track.Save (false) when
17702 updating the metadata.
17704 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs: Set
17705 Library.Importing = true/false around the import process.
17707 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Add
17708 ReloadChildren method. Add RateSelectedTracks method.
17710 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Add
17711 Importing property that when set true increases the period between
17712 TrackUpdated calls to 5 s (from the normal 0.25 s). Fix bug where Reload
17713 always reloaded all children - not something we want to do when the user
17714 is searching, say. Explicitly call ReloadChildren where needed.
17716 * src/Core/Banshee.Services/Banshee.Base/RateLimiter.cs: Make more thread
17719 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Add an
17720 ActiveSource convenience property.
17722 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Use
17723 ActiveSource property.
17725 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Use new
17726 ActiveSource property, and call RateSelectedTracks to rate entire
17727 selection Ranges at a time - much much faster.
17729 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs: Make
17730 Execute and WaitForResult internal methods.
17732 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Put
17733 locks on the current command around Query/Execute calls to prevent a
17734 thread from calling the same command before an earlier thread gets its
17737 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Avoid
17738 checking the cache table more times than necessary.
17740 2008-02-28 Aaron Bockover <abock@gnome.org>
17742 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs: Added a new
17743 base version of TrackInfoMerge that allows you to switch priority/fallback
17744 values to prefer either the database track or the taglib file data
17746 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs: Move
17747 the migration consumer stuff out, make the migrator accessible to others
17749 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
17750 Use a UserJob to report the migration track scanning progress
17752 * src/Core/Banshee.Services/Banshee.ServiceStack/IInitializeService.cs:
17753 A simple interface that will tell the service manager to call initialize
17754 on it after registering; this allows other objects to listen for the
17755 service before the service actually does anything
17757 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
17758 Support IInitializeService.Initialize
17760 * src/Core/Banshee.Services/Banshee.ServiceStack/UserJob.cs: Added some
17761 more ctor overrides to make it easier to use
17763 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeDbFormatMigratorMonitor.cs:
17764 A UI for reporting the migration progress in the database layer
17766 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs: Connect
17767 to the database migration layer and use the new UI to report progress
17769 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
17770 Draw a bubble, shouldn't commit this, in a hurry
17772 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
17773 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
17774 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs:
17775 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
17776 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
17777 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/CellContext.cs:
17778 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Fixed up
17779 to use the new Hyena.Gui.Theming API
17781 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListViewGraphics.cs: Nuked
17783 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/GtkColors.cs:
17784 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/GtkTheme.cs:
17785 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/Theme.cs:
17786 * src/Libraries/Hyena.Gui/Hyena.Gui.Theming/ThemeContext.cs: New simple
17787 theme API that will make doing the custom drawing easier than the crappy
17788 ListViewGraphics bloated/hard to use API
17790 2008-02-27 Aaron Bockover <abock@gnome.org>
17792 * src/Core/Banshee.Services/Banshee.Base/ThreadAssist.cs: Do not set the
17793 main thread automatically and instead require an explicit call to a new
17794 InitializeMainThread method just for sanity to avoid possible race
17796 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs: Call
17797 ThreadAssist.InitializeMainThread
17799 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
17800 Enable the database URI pre-check when importing, minor clean up,
17801 wrap the commits in database transactions, and do an explicit save
17802 on the LibraryAlbumInfo (not sure if this is correct)
17804 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs:
17805 Fixed a big threading bug - the actual user job/manager API is designed
17806 to be consumed from many threads, and the UI host for the jobs has to
17807 manage threading; this fixes some odd UI behavior after library imports
17809 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs: Use
17810 generic/type-safe service manager methods
17812 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs: Some
17813 clean up, remove an anonymous method to make more readable
17815 2008-02-27 Gabriel Burt <gabriel.burt@gmail.com>
17817 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Fix up
17818 last SourceView commit.
17820 2008-02-27 Aaron Bockover <abock@gnome.org>
17822 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Added
17823 a generic Contains method so Contains checks can be type safe just like
17824 the generic Get service calls
17826 * src/Core/Banshee.Services/Banshee.ServiceStack/TestUserJob.cs:
17827 Added a method to spawn a few test user jobs which is useful for
17828 debugging the user job API and host tile display
17830 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs:
17831 When the magic command line argument is passed, spawn the test jobs
17833 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
17834 Only render the focus row if the view actually has focus
17836 * src/Libraries/Hyena/Hyena.CommandLine/CommandLineParser.cs: Fix a
17839 2008-02-27 Gabriel Burt <gabriel.burt@gmail.com>
17841 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Do not
17842 activate a Source when its expander is clicked.
17844 2008-02-27 Aaron Bockover <abock@gnome.org>
17846 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackRepeatActions.cs:
17847 Created UI actions for repeat mode functionality; this is where the
17848 repeat mode can be accessed and is stored/loaded from configuration;
17849 the UI actions are set up here
17851 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/RepeatActionButton.cs:
17852 A special button that syncs its state with the PlaybackRepeatActions and
17853 presents the actions as a popup menu
17855 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Make the footer actually
17856 a Gtk.Toolbar, pack the new RepeatActionButton, and do some allocation
17857 magic to ensure the status bar is always centered on the toolbar; moved
17858 the only two schema items that are still at the client level into here
17860 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeIconFactory.cs: Added
17861 the media-repeat icons into the stock
17863 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Load the
17864 PlaybackRepeatActions as a child set of actions
17866 * src/Clients/Nereid/Nereid/PlayerWindowSchema.cs: Removed
17868 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
17869 Added a ToolbarFooter object
17871 * src/Libraries/Hyena/Hyena/StringUtil.cs: Added UnderCaseToCamelCase
17872 method that does the opposite of what CamelCaseToUnderCaseDoes; use
17873 a StringBuilder for the latter
17875 * tests/Hyena/StringUtilTests.cs: Added some tests for the above two methods
17877 2008-02-27 Gabriel Burt <gabriel.burt@gmail.com>
17879 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Remove unnecessary Show.
17881 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs: Add
17882 the inner VBox to the Alignment...hard for it to show otherwise.
17884 2008-02-27 Gabriel Burt <gabriel.burt@gmail.com>
17886 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
17887 Improve the metadata refresh process - use the existing OnSlow* calls in
17888 the migrator, don't die if a track can't be refreshed, etc.
17890 2008-02-27 Gabriel Burt <gabriel.burt@gmail.com>
17892 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Add and
17893 comment out an implementation for 'New Smart Playlist From Search'. It
17894 works, but the smart playlist Editor needs to be changed to accept
17895 conditions with no field (eg implying search-all-default-fields).
17897 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
17898 Comment out 'New Smart Playlist From Search' item.
17900 2008-02-27 Gabriel Burt <gabriel.burt@gmail.com>
17902 * src/Core/Banshee.Services/Banshee.Services.mdp:
17903 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.mdp:
17904 * src/Libraries/Lastfm.Gui/Lastfm.Gui.mdp:
17905 * src/Libraries/Lastfm/Lastfm.mdp:
17906 * src/Libraries/Mono.Media/Mono.Media.mdp: Fix MD build.
17908 * src/Extensions/Banshee.Lastfm/Makefile.am: Remove non-existant file.
17910 2008-02-27 Alexander Hixon <hixon.alexander@mediati.org>
17912 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs: Support lazy
17913 authentication. Also implement retrying if sending a 'Now Playing' track
17914 failed. Slightly more detailed logging is also added.
17916 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
17917 Removed a useless boolean value. Also implemented lazy connecting before
17920 2008-02-27 Alexander Hixon <hixon.alexander@mediati.org>
17922 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
17923 Only scrobble tracks if the 'Enable song reporting' checkbox is active.
17925 2008-02-27 Gabriel Burt <gabriel.burt@gmail.com>
17927 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSourceContents.cs:
17928 Fix crasher - don't update GTK outside the main thread.
17930 2008-02-26 Gabriel Burt <gabriel.burt@gmail.com>
17932 This commit brings back a thread-safe database layer. Unfortunately, that
17933 currently means switching back to the deprecated Mono.Data.SqliteClient
17934 library. Mono.Data.Sqlite does not allow executing a command in one
17935 thread and reading it in another, where M.D.SqliteClient does.
17937 * Makefile.am: Add BANSHEE_DEV_MONO_OPTIONS env var to enable setting
17938 --profile=default:stat for example to run with make run.
17940 * build/build.environment.mk: Depend on Mono.Data.SqliteClient again.
17941 Mono.Data.Sqlite requires that even reading the results of a query must be
17942 done in the same thread that ran the query/owns the connection.
17944 * src/Core/Banshee.Core/Banshee.IO/Provider.cs: Clean up.
17946 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs:
17947 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs:
17948 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
17949 * src/Core/Banshee.Services/Banshee.SmartPlaylist/Migrator.cs:
17950 * src/Core/Banshee.Services/Banshee.Configuration/DatabaseConfigurationClient.cs:
17951 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
17952 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
17953 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
17954 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
17955 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
17956 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
17957 New HyenaSqliteConnection API.
17959 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
17960 Get rid of unused ctor and execute useful performance-related PRAGMAs.
17962 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
17963 Use HyenaSqliteConnection's utility methods, new API. Add UserJob to
17964 rescan a user's songs when migrating over in order to get fields we now
17965 store in the database - like Disc, etc.
17967 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs: Get
17968 rid of ProxyToMain call.
17970 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
17973 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Reorder
17974 loading of Library, Library playlists.
17976 * src/Core/Banshee.Services/Banshee.PlayerMigration/AmarokPlayerImportSource.cs:
17977 Use Mono.Data.SqliteClient.
17979 * src/Core/Banshee.Services/Banshee.ServiceStack/UserJob.cs: Avoid
17980 duplication in ctors.
17982 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Increase the
17983 delay betwen refreshes.
17985 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs: Get
17986 rid of ProxyToMain calls.
17988 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
17989 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs: Do
17990 not login to Last.fm radio until a source is activated.
17992 * src/Libraries/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs: Convert longs
17993 in a different way that M.D.SqliteClient likes.
17995 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs: Combined
17996 with QueuedSqliteCommand code, meant to be called by threaded/queued
17997 HyenaSqliteConnection.
17999 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Combined
18000 with QueuedSqliteDatabase code (from F-Spot's copy). Supports blocking
18001 other threads during transactions and has no busy-waits.
18003 2008-02-26 Aaron Bockover <abock@gnome.org>
18005 * ChangeLog: Fixed all the improper formatting that has been committed
18006 to this file lately. Wrote a guide that describes the proper formatting
18007 procedure for this file
18009 http://banshee-project.org/ChangeLogForDevelopers
18011 * HACKING: Updated with above link
18013 2008-02-25 Alexander Hixon <hixon.alexander@mediati.org>
18015 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
18016 Attempt to queue the currently playing track when we dispose the
18017 service, in case it's scrobbable, but the user quit before hitting
18018 the next button to send it off to the server. It gets queued until
18021 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
18022 Fix TrackInfoDisplay by making sure we pass the correct EventMasks so
18023 that we don't bombard the user with cover art on track change, if the
18024 user had shown the cover art popup previously in the session. Also
18025 fixes hiding the cover art popup after the correct amount of time.
18027 * src/Libraries/Lastfm/Lastfm/RadioConnection.cs:
18028 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs:
18029 * src/Libraries/Lastfm/Lastfm/LastfmCore.cs: Remove Account from
18030 constructors for RadioConnection and AudioscrobblerConnection.
18031 Also get the Connections to reference LastfmCore.Account rather
18032 than keeping track of their own copy.
18034 2008-02-24 Alexander Hixon <hixon.alexander@mediati.org>
18036 * src/Libraries/Lastfm/Lastfm/RadioConnection.cs:
18037 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs: Remove class-
18038 based UserAgent properties, values and constructor arguments. Use
18039 LastfmCore.UserAgent instead.
18041 * src/Libraries/Lastfm/Lastfm/LastfmCore.cs: Simplify UserAgent's setter,
18042 and update instance creation to reflect changes in ctor definitions.
18044 2008-02-23 Alexander Hixon <hixon.alexander@mediati.org>
18046 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/TrackInfoPopup.cs:
18047 Decrease spacing between time and progress bar.
18049 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
18050 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
18051 * src/Libraries/Lastfm/Lastfm/LastfmCore.cs: Use LastfmCore as a singleton
18052 to access Last.fm classes.
18054 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs: Provide support
18055 for user agent when sending requests to Audioscrobbler servers. Can be
18056 passed via ctor or by setting the UserAgent property. Also marked ctor
18059 * src/Libraries/Lastfm/Lastfm/RadioConnection.cs: Added UserAgent property.
18060 Marked ctor as internal.
18062 * src/Libraries/Lastfm/Lastfm/Account.cs: Remove the static Account
18063 instance, since it's now provided by LastfmCore as a singleton.
18065 2008-02-23 Scott Peterson <lunchtimemama@gmail.com>
18067 * src/Core/Banshee.Services/Banshee.Library/ThreadPoolImportSource.cs,
18068 * src/Core/Banshee.Services/Banshee.PlayerMigration/AmarokPlayerImportSource.cs:
18069 Renamed DoImport to ImportCore as per Framework Design Guidelines, also
18070 slapped the new keyword onto the static
18071 AmarokPlayerImportSource.CanImport property to get rid of the warning
18072 about it hiding a base member of the same name (which it should).
18074 2008-02-23 Alexander Hixon <hixon.alexander@mediati.org>
18076 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationAreaBox.cs:
18077 Get track duration and progress information before showing the popup
18078 and relying on the fact that we're playing to determine the progress
18079 label text. Showing the popup during a paused song now works.
18081 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/TrackInfoPopup.cs:
18082 Add some padding around the TrackInfoDisplay to pretty things up
18083 slightly and line up the cover art.
18085 * src/Libraries/Lastfm.Gui/Lastfm.Gui/AccountLoginForm.cs: Don't try
18086 to run Account.Save if the username or password haven't changed
18087 since the time the dialog was opened till the time it closed.
18088 Prevents reconnecting if you simply open the dialog and close it again.
18090 2008-02-23 Alexander Hixon <hixon.alexander@mediati.org>
18092 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationAreaBox.cs:
18093 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/TrackInfoPopup.cs:
18094 Added LinearProgress hotness.
18096 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs:
18097 Fixed a bug where the user would change tracks while a track was mid-way
18098 through being buffered, and the first track's buffering result would
18099 cover up the song duration/progress information.
18101 2008-02-23 Alexander Hixon <hixon.alexander@mediati.org>
18103 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
18104 Rewrote the SongTimer class to use PlayerEngine.Position. Doesn't rely on
18105 PlayerEngineState events anymore. This also means that SongTimer works
18106 well while listening to songs on Last.fm.
18108 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/Queue.cs:
18109 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs:
18110 Implement MusicBrainzId property and using that data to generate requests
18111 to Last.fm. Currently isn't attached to any real data source, so the ID
18114 2008-02-23 Alexander Hixon <hixon.alexander@mediati.org>
18116 * src/Core/Banshee.ThickClient/Banshee.Gui/BaseClientWindow.cs: Port fix
18117 across from stable so that using Alt+F4 to close the main window
18120 2008-02-23 Alexander Hixon <hixon.alexander@mediati.org>
18122 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
18123 Remove a few bits of commented code. Added Stock.Properties icon for
18124 the Configure menu item.
18126 * src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs: Added Ctrl+E
18127 keyboard shortcut for equalizer window.
18129 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Added
18130 Stock.Preferences icon for Preferences menu item.
18132 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Added E
18133 keyboard shortcut for track editor dialog.
18135 2008-02-23 Alexander Hixon <hixon.alexander@mediati.org>
18137 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs: Use
18138 the static instance of Account shared by others, rather than creating
18139 a seperate instance.
18141 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
18142 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs: Added support
18143 for keeping track of network connection state and automatically connecting.
18144 Also included better debugging messages.
18146 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
18147 Fix queuing tracks that have actually been played long enough but were
18148 not submitted. Also added a few simple checks to see if the current track
18149 attempting to be queued is null or has been listened to for less than
18152 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/Queue.cs:
18153 Send tracks with the correct original play-start time (instead of
18154 double-universal time).
18156 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs: Make sure that
18157 errors when POSTing the current track being listened to aren't displayed
18158 to the user via the HIG message dialog - log them silently to console
18161 2008-02-22 Alexander Hixon <hixon.alexander@mediati.org>
18163 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
18164 Use a slightly less brain-dead method of checking the total length of
18165 the track played. Skipping through a track but playing the correct
18166 length for inclusion on a Last.fm profile now works correctly. Also added
18167 support for sending NowPlaying information.
18169 * src/Libraries/Lastfm/Lastfm/Account.cs: Create an 'Instance' property
18170 for use via multiple modules.
18172 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs: Uncommented
18173 and exposed NowPlaying method, so that Last.fm lists the current track
18176 2008-02-22 Alexander Hixon <hixon.alexander@mediati.org>
18178 * src/Extensions/Banshee.Audioscrobbler: Mark this as removed in SVN.
18179 Accidentally missed in previous revision.
18181 * src/Extensions/Banshee.Lastfm/Resources/AudioscrobblerMenu.xml: Added
18182 missing file, enables Audioscrobbler extension service to load
18185 2008-02-22 Alexander Hixon <hixon.alexander@mediati.org>
18187 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/Queue.cs:
18188 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs:
18189 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.addin.xml: Cleaned
18190 version of the Audioscrobbler plugin from stable. Glue to hook up
18191 player engine and AudioscrobblerConnection logic lives here.
18193 * src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs:
18194 * src/Libraries/Lastfm/Lastfm/IQueue.cs: Seperate out web bits and
18195 queue interface into our Last.fm library. Uses version 1.2 of the
18198 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
18199 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Added 'Tools' menu.
18201 2008-02-22 Scott Peterson <lunchtimemama@gmail.com>
18203 * src/Core/Banshee.Services/Banshee.Library/ThreadPoolImportSource.cs: Minor
18204 fix for fetching the UserJob's Title.
18206 2008-02-22 Scott Peterson <lunchtimemama@gmail.com>
18208 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs,
18209 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs:
18210 HyenaSqliteConnection.GetSchema now returns an IDictionary<string,
18211 string> rather than a Dictionary<string, string>.
18213 2008-02-22 Scott Peterson <lunchtimemama@gmail.com>
18215 * src/Core/Banshee.Services/Banshee.Library/ImportSourceManager.cs,
18216 * src/Core/Banshee.Services/Banshee.PlayerMigration/AmarokPlayerImportSource.cs:
18217 Minor change to Amarok's CanImport property name.
18219 2008-02-21 Gabriel Burt <gabriel.burt@gmail.com>
18221 * build/build.environment.mk:
18223 * src/Clients/Nereid/Nereid/Client.cs:
18224 * src/Extensions/Banshee.Skins/Banshee.Skins.addin.xml:
18225 * src/Extensions/Banshee.Skins/Banshee.Skins.mdp:
18226 * src/Extensions/Banshee.Skins/Banshee.Skins/SkinManager.cs:
18227 * src/Extensions/Banshee.Skins/Makefile.am:
18228 * src/Extensions/Banshee.Skins/Resources/GlobalUI.xml:
18229 * src/Extensions/Makefile.am: New extension for switching skins (*.gtkrc
18230 files under ~/.config/plugins/skins/).
18232 2008-02-21 Gabriel Burt <gabriel.burt@gmail.com>
18234 * src/Libraries/Hyena/Hyena.Query/DateQueryValue.cs: Make the regex
18237 * src/Libraries/Lastfm/Lastfm.Data/DataEntryCollection.cs:
18238 * src/Libraries/Lastfm/Lastfm.Data/DataEntry.cs: Enforce the Root as being
18239 a XmlElement, and if it doesn't have a child element of the requied name,
18240 see if it has an attribute.
18242 2008-02-21 Gabriel Burt <gabriel.burt@gmail.com>
18244 * src/Libraries/Hyena/Hyena.Query/DateQueryValue.cs: Cleanup.
18246 2008-02-21 Gabriel Burt <gabriel.burt@gmail.com>
18248 * build/build.environment.mk: Add Mono.Unix dep to Hyena so strings can be
18249 translated, like they already could be in Hyena.Gui.
18251 * src/Core/Banshee.Services/Banshee.Base/RateLimiter.cs: Add option to not
18252 run wrapped method immediately, but to have a delay first.
18254 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
18255 Implement DependsOn using depth-first scan of the ConditionTree.
18257 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Set a 10ms
18258 delay before responding to OnTrackUpdated.
18260 * src/Core/Banshee.ThickClient/Banshee.Query.Gui/SmartPlaylistQueryValueEntry.cs:
18261 Check if Editor.CurrentlyEditing is set, and if so, do not put the current
18262 playlist or ones that depend on it in the dropdown.
18264 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs: Expose
18265 through a public static property what Smart Playlist is currently being
18268 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/QueryBox.cs: Add and use a
18269 Gtk.Entry if the query is more complicated than our GUI can handle.
18271 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/QueryTermBox.cs: Clean.
18273 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/QueryTermsBox.cs: Make methods
18274 protected instead of public, throw exception if unable to handle the
18277 * src/Libraries/Hyena/Hyena.Query/DateQueryValue.cs: Support parsing and
18278 generating relative-date user queries.
18280 * src/Libraries/Hyena/Hyena.Query/FileSizeQueryValue.cs: Put a space
18281 between the file size and its unit.
18283 * src/Libraries/Hyena/Hyena.Query/IntegerQueryValue.cs: Change the default
18284 alias for the Equal operator to "=" instead of "==".
18286 * src/Libraries/Hyena/Hyena.Query/QueryListNode.cs: Use ' or ' instead of
18287 ', ' to separate OR'd nodes in generated user queries.
18289 * src/Libraries/Hyena/Hyena.Query/UserQueryParser.cs: Add a static Parse
18290 method for convenience.
18292 2008-02-21 Scott Peterson <lunchtimemama@gmail.com>
18294 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Changed it so
18295 that the "Sort Children" option appears only if there are two or more
18296 children of a source: a list of one is always sorted :)
18298 2008-02-21 Gabriel Burt <gabriel.burt@gmail.com>
18300 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
18301 Add DateUpdated property and update it in Save method.
18303 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
18304 Rename DiscNumber to Disc to avoid automatic column creation. Fix issue
18305 with DateUpdatedStamp not being created, and use DateAdded as its default
18306 value for migrated tracks.
18308 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs: Use
18309 the Source property on DatabaseTrackInfo instead of SourceId. Remove
18310 reload call to Library since it saving the tracks automatically triggers
18313 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Increase
18314 minimum time between reloads.
18316 * src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs: Implement
18319 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: Add
18320 TracksUpdated event.
18322 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Try to popdown
18323 the menu before rating.
18325 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Add
18326 custom context menu for ErrorSource.
18328 * src/Libraries/Hyena/Hyena/Log.cs: Make log type string all the same
18329 length so they line up better.
18331 2008-02-21 Scott Peterson <lunchtimemama@gmail.com>
18333 This commit begins to port the player migration namespace from stable into
18334 trunk. I've only done the Amarok importer as a proof-of-concept and I
18335 haven't tested it. This commit is more about laying out the
18336 namespace/object design for the player migration stuff for critique.
18337 What is presented here in this patch is subject to change if anyone
18338 wants to massage it a little more. Otherwise I'll go ahead with
18339 porting/testing the other player migrators. So please provide feedback!
18341 * src/Core/Banshee.Services/Banshee.Library/ThreadPoolImportSource.cs:
18342 Added a base class for IImportSources which will perform a single-method
18343 import operation in a ThreadPool thread.
18345 * src/Core/Banshee.Services/Banshee.Library/ImportSourceManager.cs: Added
18346 Amarok importer to import sources.
18348 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
18349 Created a new public method AddTrackToLibrary, which contains the logic
18350 for adding a track to the library and hooking up the related Artist and
18353 * src/Core/Banshee.Services/Banshee.PlayerMigration/AmarokPlayerImportSource.cs:
18354 Ported the Amarok importer from stable. NOTE: I don't have Amarok - and
18355 it's 3am - so I haven't tested this. It needs testing! SOMEONE TEST
18358 2008-02-20 Gabriel Burt <gabriel.burt@gmail.com>
18360 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSourceContents.cs:
18361 If possible, set album art on the lists of tracks. Unfortunately the
18362 Last.fm feed for recently loved songs doesn't include the album name, so
18363 no cover art there.
18365 * src/Libraries/Lastfm/Lastfm.Data/DataEntry.cs: Add new Entry types for
18368 * src/Libraries/Lastfm/Makefile.am:
18369 * src/Libraries/Lastfm/Lastfm.Data/LastfmArtistData.cs: Expose
18370 artist-related data.
18372 2008-02-20 Gabriel Burt <gabriel.burt@gmail.com>
18374 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSourceContents.cs:
18377 2008-02-20 Gabriel Burt <gabriel.burt@gmail.com>
18379 * src/Core/Banshee.Services/Banshee.Web/Browser.cs: Add implementation,
18380 gleaned from MonoDevelop.
18382 * src/Core/Banshee.Widgets/Makefile.am:
18383 * src/Core/Banshee.Widgets/Banshee.Widgets/MenuTile.cs: Subclass of Tile
18384 that overrides the OnButtonPress so it can be used to pop up a menu.
18386 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
18387 Add actions and handlers for artists, albums, and tracks that go to
18388 various websites (Last.fm, Wikipedia) and other fun things.
18390 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSourceContents.cs:
18391 Add two lists: 10 most recently played songs, and 10 most recently loved.
18393 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationType.cs: Break
18394 types out into public static variables.
18396 * src/Extensions/Banshee.Lastfm/Resources/GlobalUI.xml: Add Popups for
18397 artists, albums, and tracks. Currently only tracks is actually used.
18399 * src/Libraries/Lastfm/Makefile.am:
18400 * src/Libraries/Lastfm/Lastfm.Data/UserData.cs:
18401 * src/Libraries/Lastfm/Lastfm.Data/LastfmUserData.cs: Move to
18402 LastfmUserData, and change API - expose as properites data that doesn't
18403 take any arguments. Cache results in a local dictionary to avoid hitting
18404 the network every time property is accessed.
18406 * src/Libraries/Lastfm/Lastfm.Data/LastfmData.cs: Add Refresh method that
18407 will ignore the cache.
18409 * src/Libraries/Lastfm/Lastfm/RadioConnection.cs: Add comment with
18410 unimplemented xmlrpc methods.
18412 * src/Libraries/Lastfm/Test.cs: Update to new API.
18414 2008-02-20 Gabriel Burt <gabriel.burt@gmail.com>
18416 This commit adds a CorePrimarySources table and a SourceID column to the
18417 CoreTracks table, allowing non-Library tracks to be stored there (and
18418 therefore benefit from our searching, playlist, smart playlist, and view
18421 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
18422 * src/Core/Banshee.Services/Banshee.Base/RateLimiter.cs: Allow specifying
18423 a min_interval on each rate-limited execute.
18425 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
18426 * src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
18427 Rename to DatabaseTrackInfo, add SourceId property.
18429 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
18430 Add new CorePrimarySources table, add SourceID to CoreTracks, remove
18431 unique constraint on CorePlaylistEntries.
18433 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs: When
18434 importing set the SourceId on the new DatabaseTrackInfos.
18436 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs: Refactor
18437 a lot of logic into PrimarySource, and inherit from it.
18439 * src/Core/Banshee.Services/Banshee.Library/HomeDirectoryImportSource.cs:
18440 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs: Use
18441 shorter way of getting a specific service from the ServiceManager.
18443 * src/Core/Banshee.Services/Banshee.Sources/PrimarySource.cs: New class
18444 to be subclassed by LibrarySource, DaapSource, DapSource, etc - a way of
18445 reusing CoreTracks and all associated goodness for non-Library tracks.
18447 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Add Library
18448 convenience property.
18450 * src/Core/Banshee.Services/Banshee.Services.mdp:
18451 * src/Core/Banshee.Services/Makefile.am: Updated
18453 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistCore.cs:
18454 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
18455 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
18456 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
18457 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
18458 Use DatabaseTrackInfo.
18460 * src/Libraries/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs: Avoid problem
18461 in Mono.Data.Sqlite in getting Int64 value.
18463 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Add
18464 convience methods for Query, Execute, ExecuteReader that accept the same
18465 parameters as the HyenaSqliteCommand ctor does, allowing
18466 Query<int>("select x from y where ?", z) instead of Query<int>(new
18467 HyenaSqliteCommand ("select x from y where ?", z)).
18469 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Add
18470 try/catch around Load method to avoid crashing and provide debugging if
18471 there are issues loading a row into an object.
18473 2008-02-20 Aaron Bockover <abock@gnome.org>
18475 * src/Core/Banshee.Services/Banshee.MediaEngine/NullPlayerEngine.cs:
18476 * src/Libraries/Hyena.Gui/Hyena.Widgets/MessageBar.cs: Minor fixes for
18479 * win-deps/Mono.Addins.dll.config: Added the .config for Mono.Addins
18481 2008-02-20 Aaron Bockover <abock@gnome.org>
18483 * src/Clients/Nereid/Nereid/PlayerInterface.cs: If control is being held
18484 down when the source view activates a row, set the source to be the
18485 playback source, but do not play the first song in that source - this means
18486 that ctrl+double-clicking a source will 'queue' that source to play next
18488 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Make sure the
18489 editor button works on all database sources
18491 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Because
18492 the ctrl+click behavior is strange on this use of the tree view, override
18493 it and emulate the row activation
18495 * src/Libraries/Hyena.Gui/Hyena.Gui/GtkUtilities.cs: Support reading
18496 modifier states from Gdk.EventButton as well; make the array params
18498 2008-02-20 Aaron Bockover <abock@gnome.org>
18500 * src/Core/Banshee.Services/Banshee.Library/ImportSourceManager.cs:
18501 Fixed loading after Scott's commit, defer the loading of these import
18502 objects until they are actually needed to improve theoretical startup speed
18504 * src/Core/Banshee.Services/Banshee.Library/IImportSource.cs: Added the
18505 CanImport member that Scott used in IExtensionImportSource
18507 * src/Core/Banshee.Services/Banshee.Library/IExtensionImportSource.cs:
18508 Removed, no sense in having this interface
18510 * src/Core/Banshee.Services/Banshee.Library/HomeDirectoryImportSource.cs:
18511 * src/Core/Banshee.ThickClient/Banshee.Library.Gui/FileImportSource.cs:
18512 * src/Core/Banshee.ThickClient/Banshee.Library.Gui/FolderImportSource.cs:
18513 Implement CanImport
18515 2008-02-19 Scott Peterson <lunchtimemama@gmail.com>
18517 * src/Core/Banshee.Services/Banshee.Library/IExtensionImportSource.cs: Added
18520 2008-02-19 Scott Peterson <lunchtimemama@gmail.com>
18522 * src/Core/Banshee.Services/Banshee.Library/IExtensionImportSource.cs: Added
18523 the IExtensionImportSource interface which extends the IImportSource
18524 interface to include bool CanImport { get; }. This means that an
18525 extension-provided import source will only be added to the list if the
18526 import source can be imported. Such a check might entail determining
18527 whether Beagle is installed, or a particular file (other music player's
18528 db) is present, &c..
18530 * src/Core/Banshee.Services/Banshee.Library/ImportSourceManager.cs: Made to
18531 use the new IExtensionImportSource when adding extension sources to the
18532 list of availible import sources.
18534 2008-02-19 Aaron Bockover <abock@gnome.org>
18536 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Apply the window default
18537 background to override the toolbar background instead of just a flat
18538 colored rectangle; should play nicer with some themes
18540 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
18541 Apply a default background and override OnUnrealized and OnUnmapped
18543 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
18544 Remove WidgetFlags.Realized in OnUnrealized
18546 2008-02-19 Aaron Bockover <abock@gnome.org>
18548 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
18549 Added the skip song feature back
18551 2008-02-19 Aaron Bockover <abock@gnome.org>
18553 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationAreaBox.cs:
18554 Ported the show/hide TrackInfoPopup/tooltip when the mouse cursor is over
18555 the notification area icon
18557 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/TrackInfoPopup.cs:
18558 Ported the TrackInfoPopup/tooltip to use the new TrackInfoDisplay
18560 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
18561 Implemented proper managed resource disposing and set the current track
18564 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Set the title of the window
18565 to the track information
18567 * src/Core/Banshee.ThickClient/Banshee.Gui/BaseClientWindow.cs: Added
18568 a TitleChanged event and an UpdateTitle abstract method
18570 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/GtkNotificationAreaBox.cs:
18571 Set the tooltip to the primary window's title, track it when it changes
18573 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/INotificationAreaBox.cs:
18574 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
18575 Added a proxy method for player engine events
18577 * src/Extensions/Banshee.NotificationArea/Notifications/Notification.cs:
18578 Do not crash when Widget is null
18580 2008-02-19 Aaron Bockover <abock@gnome.org>
18582 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
18583 Ported notification bubbles. Hawt. 4 u snorp lol.
18585 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngine.cs:
18586 Added constant VolumeDelta and SkipDelta public fields
18588 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs:
18589 Don't use the redundant string parameter version of ServiceManager.Get
18591 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/GtkNotificationAreaBox.cs:
18592 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/INotificationAreaBox.cs:
18593 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationAreaBox.cs:
18594 Added a Widget property for the notifications to use
18596 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationArea.cs:
18597 Ignore some other crappy warnings
18599 2008-02-19 Gabriel Burt <gabriel.burt@gmail.com>
18601 * src/Core/Banshee.Services/Banshee.Playlists.Formats/M3uPlaylistFormat.cs:
18602 * src/Core/Banshee.Services/Banshee.Playlists.Formats/PlsPlaylistFormat.cs:
18603 Uncomment out Save methods, and modify to work with TrackListModel.
18605 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Work on
18606 ImportPlaylistAction - still not enabled/working.
18608 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Add
18609 ExportPlaylistAction handler.
18611 * src/Core/Banshee.ThickClient/Makefile.am:
18612 * src/Core/Banshee.ThickClient/Banshee.Playlist.Gui/PlaylistExportDialog.cs:
18613 Ported from stable.
18615 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Add
18616 Export playlist action to source context menu and edit menu.
18618 2008-02-19 Gabriel Burt <gabriel.burt@gmail.com>
18620 * src/Clients/Nereid/Nereid/PlayerInterface.cs: Fix bug in getting
18621 sources' custom views.
18623 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.mdp:
18624 * src/Extensions/Banshee.Lastfm/Makefile.am:
18625 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSourceContents.cs:
18626 New class, shows how sources can set custom views.
18628 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs: Set
18629 the custom view, allow activating.
18631 2008-02-19 Gabriel Burt <gabriel.burt@gmail.com>
18633 * src/Extensions/Banshee.Lastfm/Resources/Banshee.Lastfm.addin.xml:
18634 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.mdp:
18635 * src/Extensions/Banshee.Lastfm/Makefile.am: Move the addin.xml file up
18638 2008-02-19 Gabriel Burt <gabriel.burt@gmail.com>
18640 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/ISourceContents.cs: New
18643 * src/Clients/Nereid/Nereid/PlayerInterface.cs: When the ActiveSource is
18644 changed, call ISourceContents.ResetSource on the current SourceContents.
18645 Check the new source for a NereidSourceContents property and use it if it
18646 exists (allowing Sources to define custom views). And finally call
18647 ISourceContents.SetSource on the new SourceContents.
18649 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/CompositeTrackListView.cs:
18650 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CompositeTrackSourceContents.cs:
18651 Move to Banshee.Sources.Gui and implement ISourceContents.
18653 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/ObjectListSourceContents.cs:
18654 New class that wraps a ObjectListView in a ScrolledWindow and implements
18657 * src/Clients/Nereid/Nereid/ViewContainer.cs: Defined Contents as a
18658 ISourceContents not a Widget.
18660 * src/Core/Banshee.ThickClient/Makefile.am: Updated.
18662 2008-02-19 Aaron Bockover <abock@gnome.org>
18664 This commit adds most of the functionality of the notification area
18665 back, and adds a new layer of cross platform support, so it should work
18666 on Windows with limited functionality since Windows doesn't support
18667 what the raw X11 version can
18669 * src/Clients/Nereid/Nereid/PlayerInterface.cs:
18670 * src/Clients/Nereid/Nereid/PlayerWindowSchema.cs:
18671 * src/Core/Banshee.ThickClient/Banshee.Gui/BaseClientWindow.cs: Moved
18672 some windowing/state functionality into BaseClientWindow; includes stuff
18673 like ToggleVisibility
18675 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkElementsService.cs: Expose
18676 PrimaryWindow as BaseClientWindow and added the PrimaryCloseHandler
18678 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
18679 Major refactor of the notification area; get most of the basic interaction
18680 functionality working again (clicking the icon, toggling window visibility,
18681 popup menu; push the actual notification area down a level into the new
18682 INotificationAreaBox abstraction, implementing common events in the
18685 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/INotificationAreaBox.cs:
18686 An interface to expose common functionality of the area boxes so that
18687 the service can implement common functionality once
18689 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/X11NotificationAreaBox.cs:
18690 An advanced INotificationAreaBox implementation that supports more events
18691 on the notification area; this is functionally on par with Banshee stable
18692 but will only work on X11; when it fails, GtkNotificationAreaBox will work
18694 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/GtkNotificationAreaBox.cs:
18695 An INotificationAreaBox implementation that wraps GtkStatusIcon; this is
18696 a very basic one since the GtkStatusApi is extremely limited due to
18697 cross platform support; only the context menu and left click are supported,
18698 but it will work on Windows
18700 2008-02-18 Aaron Bockover <abock@gnome.org>
18702 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
18703 Removed duplicate using declaration
18705 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
18706 Added a property to get the LastfmActions
18708 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
18709 When the lastfm error is account related, add a message action to allow
18710 the user to enter their account details
18712 * src/Libraries/Hyena.Gui/Hyena.Widgets/MessageBar.cs: Fix a few bugs
18714 * src/Libraries/Lastfm/Lastfm/RadioConnection.cs: Lots of tabs->spaces
18716 2008-02-18 Aaron Bockover <abock@gnome.org>
18718 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Disable the
18719 extension manager UI for now
18721 2008-02-18 Aaron Bockover <abock@gnome.org>
18723 * src/Extensions/Banshee.Lastfm/Resources/GlobalUI.xml: Hide the love/ban
18724 from the menu since it doesn't make sense yet
18726 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
18727 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
18728 Hide menu items that don't apply when the source is not library-based
18730 2008-02-18 Aaron Bockover <abock@gnome.org>
18732 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmActions.cs:
18733 Implement love/hate actions
18735 * src/Extensions/Banshee.Lastfm/Resources/GlobalUI.xml: Add love/hate
18736 buttons to the header
18738 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeIconFactory.cs: Allow
18739 new theme icons to be mapped into stock publicly
18741 2008-02-18 Aaron Bockover <abock@gnome.org>
18743 * src/Libraries/Lastfm/Lastfm/RadioConnection.cs: Make the network
18744 connection handshake run in a thread again
18746 2008-02-18 Aaron Bockover <abock@gnome.org>
18748 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedMessageBar.cs:
18749 Set some default spacing
18751 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListViewGraphics.cs: Add a version
18752 of DrawFrame that takes a color
18754 * src/Libraries/Hyena.Gui/Hyena.Widgets/MessageBar.cs: Draw our nice
18755 rounded frame and set a good default padding
18757 2008-02-18 Aaron Bockover <abock@gnome.org>
18759 * src/Clients/Nereid/Nereid/ViewContainer.cs: Pack a ConnectedMessageBar
18761 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
18762 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceIconResolver.cs:
18763 Pulled the icon resolver out of SourceRowRenderer since sources may have
18764 multiple icons and it's useful outside of the renderer
18766 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedMessageBar.cs:
18767 Works against a number of standardized Message.* properties that can be
18768 set on a source's PropertyStore; this allows sources to communicate status
18769 messages easily to the user
18771 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
18772 Use the new Message.* properties to communicate status messages to the user
18774 * src/Libraries/Hyena/Hyena.Data/PropertyStore.cs: Added RemoveStartingWith
18776 * src/Libraries/Hyena.Gui/Hyena.Gui.Theatrics/Actor.cs: Added a CanExpire
18777 property; reset the percentage to 0 when it reaches 1 and the actor is
18778 not allowed to expire
18780 * src/Libraries/Hyena.Gui/Hyena.Widgets/AnimatedImage.cs:
18781 * src/Libraries/Hyena.Gui/Hyena.Widgets/MessageBar.cs: Ported/moved from
18782 Banshee.Widgets; AnimatedImage works better and uses Hyena.Gui.Theatrics
18784 * src/Libraries/Hyena.Gui/Hyena.Widgets/RoundedFrame.cs: Send the
18785 expose events to children
18787 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs:
18788 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
18789 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
18790 * src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs:
18791 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
18792 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
18793 Updated to reflect the property name change from IconName to Icon.Name
18795 2008-02-18 Scott Peterson <lunchtimemama@gmail.com>
18797 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
18798 Changed LoadAll method to return IEnumerable rather than List. Since the
18799 method is only ever iterated over, we can do away with the List object.
18801 2008-02-17 Gabriel Burt <gabriel.burt@gmail.com>
18803 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
18804 Avoid hitting the model/database when clicking where there is no row.
18806 2008-02-17 Gabriel Burt <gabriel.burt@gmail.com>
18808 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
18809 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
18810 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs:
18811 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
18812 Add Genre columsn to CoreTracks, and support it as a query field, query
18813 order, and ListView column.
18815 2008-02-17 Gabriel Burt <gabriel.burt@gmail.com>
18817 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Change
18818 LastPlayed and DateAdded order names.
18820 * src/Core/Banshee.Services/Banshee.SmartPlaylist/Migrator.cs: Wrap the
18821 migration in a transaction, print error message if it fails.
18823 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistCore.cs:
18824 Only initialize if the migration was successful.
18826 * src/Libraries/Hyena.Gui/Hyena.Query.Gui/QueryLimitBox.cs: BansheeQuery's
18827 Orders array has nulls in it to indicate where separators would be nice -
18828 actually implement those in the ComboBox.
18830 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
18833 2008-02-16 Gabriel Burt <gabriel.burt@gmail.com>
18835 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs:
18836 Only keep the last five played or skipped songs.
18838 2008-02-16 Gabriel Burt <gabriel.burt@gmail.com>
18840 * src/Libraries/Lastfm/Test.cs:
18841 * src/Libraries/Lastfm.Gui/Test.cs: Add tests.
18843 2008-02-16 Gabriel Burt <gabriel.burt@gmail.com>
18845 * src/Libraries/Lastfm/Lastfm/Connection.cs:
18846 * src/Libraries/Lastfm/Lastfm/RadioConnection.cs: Rename to
18849 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/StationSource.cs: Use
18852 2008-02-16 Gabriel Burt <gabriel.burt@gmail.com>
18854 * src/Extensions/Banshee.Lastfm/*: Grr, overwrote Aaron's last fixes with
18855 my svn mv, since I'd initiated it locally before svn up'ing his changes.
18857 2008-02-16 Gabriel Burt <gabriel.burt@gmail.com>
18859 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm: Move Banshee.Lastfm to
18860 Banshee.Lastfm.Radio in preparation for merging the Audioscrobbler and
18861 Recommendations plugins.
18863 2008-02-16 Gabriel Burt <gabriel.burt@gmail.com>
18865 This commit adds support for most of the user-particular data feeds
18866 Audioscrobbler offers into Lastfm.dll, our Banshee-independent Lastfm
18869 * src/Libraries/Lastfm/Lastfm.Data/LastfmDataCollection.cs:
18870 * src/Libraries/Lastfm/Lastfm.Data/UserTopTracks.cs:
18871 * src/Libraries/Lastfm/Lastfm.Data/UserTopArtists.cs:
18872 * src/Libraries/Lastfm/Lastfm.Data/UserTopData.cs:
18873 * src/Libraries/Lastfm/Lastfm.Data/Profile.cs:
18874 * src/Libraries/Lastfm/Lastfm.Data/UserTopAlbums.cs: Removed files.
18876 * src/Libraries/Lastfm/Test.cs:
18877 * src/Libraries/Lastfm.Gui/Test.cs: Moved test to Lastfm.Gui.
18879 * src/Libraries/Lastfm/Lastfm.Data/DataCore.cs: New static class for doing
18880 initialization and settings.
18882 * src/Libraries/Lastfm/Lastfm.Data/DataEntryCollection.cs: New class that
18883 wraps a XmlNodeList.
18885 * src/Libraries/Lastfm/Makefile.am: Updates, add make test rule.
18887 * src/Libraries/Lastfm/Lastfm.Data/DataEntry.cs: Move all DataEntry
18888 subclasses here. There are too many to have in separate classes (and the
18889 header/code ratio is really high).
18891 * src/Libraries/Lastfm/Lastfm.Data/UserData.cs: Wrap almost all of the
18892 Last.fm data feeds that pertain to a particular user.
18894 * src/Libraries/Lastfm/Lastfm.Data/LastfmData.cs: Update for DataCore
18895 changes, and instantiate and wrap a DataEntryCollection.
18897 2008-02-16 Aaron Bockover <abock@gnome.org>
18899 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
18900 Set RowSensitivePropertyName to 'CanPlay'
18902 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
18903 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs:
18904 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
18905 Added a RowSensitivePropertyName property, defaulting to 'Sensitive';
18906 objects in the model will be queried for this property to indicate whether
18907 the object is sensitive (enabled) or not; render the row's sensitivity
18909 * src/Libraries/Lastfm/Lastfm/Connection.cs: Clear the password if invalid
18911 2008-02-16 Aaron Bockover <abock@gnome.org>
18913 * src/Libraries/Lastfm/Lastfm/Account.cs: Renamed Username to UserName
18915 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/LastfmActions.cs:
18916 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/LastfmSource.cs:
18917 * src/Libraries/Lastfm.Gui/Lastfm.Gui/AccountLoginForm.cs:
18918 * src/Libraries/Lastfm/Lastfm/Connection.cs: Use the UserName property
18920 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/StationSource.cs: Store
18921 the MD5 hashed last.fm password
18923 * src/Libraries/Hyena/Hyena/CryptoUtil.cs: Moved some MD5 methods from
18926 * tests/Hyena/CryptoUtilTests.cs: Tests for CryptoUtil
18928 2008-02-16 Aaron Bockover <abock@gnome.org>
18930 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
18931 Fixed bug with the new NullPlayerEngine fallback loading
18933 2008-02-16 Aaron Bockover <abock@gnome.org>
18935 * src/Core/Banshee.Core/Banshee.Base/PlatformHacks.cs: Only run these
18936 hacks if we are on Unix, and don't crash even if we are and they fail
18938 * src/Core/Banshee.Services/Banshee.MediaEngine/NullPlayerEngine.cs:
18939 A fake engine that does nothing, used to allow Banshee to at least
18940 start up on Windows without libbanshee
18942 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
18943 Load the NullPlayerEngine if no real engines could be loaded
18945 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs:
18946 Disable DBus support if BusG.Init fails
18948 * src/Libraries/Hyena.Gui/Hyena.Data.Gui/CairoHelper.cs: Do not P/Invoke
18949 to get the cairo context, instead use Gdk.CairoHelper
18951 2008-02-16 Aaron Bockover <abock@gnome.org>
18953 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Added
18954 a necessary null check and return default (T) for the generic Query
18955 method that Scott introduced - fixes the bug everyone has been complaining
18958 2008-02-16 Aaron Bockover <abock@gnome.org>
18960 Moved Nereid from Core/ to Clients/; fixed up a lot of MonoDevelop stuff
18962 2008-02-15 Aaron Bockover <aaron@abock.org>
18964 * build/build.environment.mk: Link against ICSharpCode.SharpZipLib
18966 * configure.ac: Check for Mono.Data.Sqlite instead of Mono.Data.SqliteClient
18968 2008-02-15 Gabriel Burt <gabriel.burt@gmail.com>
18970 * src/Libraries/Lastfm/Lastfm.Data/UserTopArtists.cs:
18971 * src/Libraries/Lastfm/Lastfm.Data/UserTopData.cs:
18972 * src/Libraries/Lastfm/Lastfm.Data/Profile.cs:
18973 * src/Libraries/Lastfm/Lastfm.Data/UserTopAlbums.cs:
18974 * src/Libraries/Lastfm/Lastfm.Data/UserData.cs:
18975 * src/Libraries/Lastfm/Lastfm.Data/UserTopTracks.cs: Remove unnecessary
18978 2008-02-15 Gabriel Burt <gabriel.burt@gmail.com>
18980 * src/Libraries/Lastfm/Lastfm/Connection.cs: Fix warnings.
18982 * src/Libraries/Lastfm/Makefile.am:
18983 * src/Libraries/Lastfm/Lastfm.Data: Add new namespace.
18985 * src/Libraries/Lastfm/Lastfm.Data/DataEntry.cs:
18986 * src/Libraries/Lastfm/Lastfm.Data/UserTopArtists.cs:
18987 * src/Libraries/Lastfm/Lastfm.Data/UserTopData.cs:
18988 * src/Libraries/Lastfm/Lastfm.Data/LastfmDataCollection.cs:
18989 * src/Libraries/Lastfm/Lastfm.Data/LastfmData.cs:
18990 * src/Libraries/Lastfm/Lastfm.Data/Profile.cs:
18991 * src/Libraries/Lastfm/Lastfm.Data/UserTopAlbums.cs:
18992 * src/Libraries/Lastfm/Lastfm.Data/UserData.cs:
18993 * src/Libraries/Lastfm/Lastfm.Data/UserTopTracks.cs: New files that expose
18996 2008-02-14 Gabriel Burt <gabriel.burt@gmail.com>
18998 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/LastfmActions.cs:
18999 Handle SourcePropertiesAction for LastfmSource and StationSources.
19001 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/LastfmSource.cs:
19002 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/StationSource.cs: Set
19003 HasProperties = true so Edit Properties action shows up.
19005 2008-02-14 Gabriel Burt <gabriel.burt@gmail.com>
19007 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteUtils.cs: Forgot to svn add.
19009 2008-02-14 Gabriel Burt <gabriel.burt@gmail.com>
19011 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/StationSource.cs:
19012 * src/Libraries/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs:
19013 * src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs:
19014 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs:
19015 * src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs:
19016 * src/Libraries/Hyena/Hyena.mdp:
19017 * src/Libraries/Hyena/Makefile.am: The last commit reverted some of
19018 scottp's changes due to svn mv'ing files that weren't up to date.
19020 2008-02-14 Gabriel Burt <gabriel.burt@gmail.com>
19022 The Last.fm extension can actually play music now. Still need to port the
19023 status bar. Also, moved Hyena and Hyena.Gui out of Core and into Libraries.
19025 * build/build.environment.mk: Libraries/Lastfm depends on Libraries/Hyena
19030 * src/Core/Banshee.Core/Makefile.am:
19031 * src/Core/Core.mds: Reflect new organization.
19033 * src/Libraries/Hyena/Makefile.am:
19034 * src/Libraries/Hyena/Hyena.mdp:
19035 * src/Core/Banshee.Core/Banshee.Core.mdp:
19036 * src/Core/Banshee.Core/Banshee.Base/Log.cs:
19037 * src/Libraries/Hyena/Hyena/Log.cs: Move Log to Hyena, replace
19038 ApplicationContext dep with Debugging property.
19040 * src/Core/Banshee.Core/Banshee.Collection/UnknownTrackInfo.cs:
19041 * src/Core/Banshee.Core/Banshee.Collection/SampleTrackInfo.cs:
19042 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
19043 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngine.cs:
19044 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Add/use properties
19045 for all attributes - the flags are way to painful an API.
19047 * src/Core/Banshee.Services/Banshee.Services.mdp:
19049 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Fix whitespace. If
19050 the defining assembly for a source is not Banshee.Services, record it for
19051 use when retrieving resources.
19053 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
19054 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
19055 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs:
19056 * src/Extensions/Banshee.MultimediaKeys/Banshee.MultimediaKeys/MultimediaKeysService.cs:
19057 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
19058 * src/Backends/Banshee.Unix/Banshee.IO.Unix/Directory.cs:
19059 * src/Core/Banshee.Core/Banshee.Configuration/ConfigurationClient.cs:
19060 * src/Core/Banshee.Core/Banshee.IO/Provider.cs:
19061 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistCore.cs:
19062 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
19063 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs:
19064 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
19065 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
19066 * src/Core/Banshee.Services/Banshee.Metadata.MusicBrainz/MusicBrainzQueryJob.cs:
19067 * src/Core/Banshee.Services/Banshee.Metadata.Rhapsody/RhapsodyQueryJob.cs:
19068 * src/Core/Banshee.Services/Banshee.Networking/NetworkDetect.cs:
19069 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
19070 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs:
19071 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
19072 * src/Core/Banshee.Services/Banshee.Streaming/RadioTrackInfo.cs:
19073 * src/Core/Banshee.Services/Banshee.Web/Browser.cs: Add using Hyena.
19075 * src/Core/Banshee.Core/Banshee.Base/ApplicationContext.cs: Add static
19076 ctor that sets Hyena.Log.Debugging.
19078 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs:
19079 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/AboutDialog.cs:
19081 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/GladeDialog.cs: Add
19084 * src/Core/Banshee.ThickClient/Banshee.Gui/IconThemeUtils.cs: Support
19085 loading resources from arbitrary assemblies (eg from extensions).
19087 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
19088 Specify the Source's defining assembly as the assembly to load the icon
19091 * src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml:
19093 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Add
19094 RefreshSmartPlaylist action to the Edit menu, and add a BelowAddToPlaylist
19095 placeholder in the track context menu.
19097 * src/Core/Makefile.am:
19098 * src/Core/Hyena.Gui/*:
19099 * src/Core/Hyena/*: Move Hyena* to src/Libraries
19101 * src/Libraries/Makefile.am:
19102 * src/Libraries/Libraries.mds: Add Hyena and Hyena.Gui.
19104 * src/Extensions/Extensions.mds: Add Banshee.Lastfm.
19105 * src/Extensions/Makefile.am: Add Banshee.Lastfm to the build.
19107 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.mdp: Reflect new/removed
19110 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/LastFMSource.cs:
19111 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/LastfmSource.cs:
19112 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/LastFMTrackInfo.cs:
19113 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/LastfmTrackInfo.cs:
19114 * src/Extensions/Banshee.Lastfm/Resources/Banshee.LastFM.addin.xml:
19115 * src/Extensions/Banshee.Lastfm/Resources/Banshee.Lastfm.addin.xml:
19118 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/LastfmActions.cs:
19120 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/LastfmTrackListModel.cs:
19121 New List<TrackInfo> based model.
19123 * src/Extensions/Banshee.Lastfm/Resources/Actions.xml:
19124 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/Plugin.cs: Removed.
19126 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/StationEditor.cs:
19127 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/StationSource.cs: Update
19128 headers, fix creation/saving, use new model.
19130 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/StationType.cs: Update
19133 * src/Extensions/Banshee.Lastfm/Makefile.am:
19134 * src/Extensions/Banshee.Lastfm/Resources/ActiveSourceUI.xml:
19135 * src/Extensions/Banshee.Lastfm/Resources/GlobalUI.xml: New action
19138 * src/Libraries/Hyena/Hyena.Data/IFilterable.cs:
19139 * src/Libraries/Hyena/Hyena.Data/ISortable.cs: Whitespace.
19141 * src/Libraries/Hyena/Hyena.Data/PropertyStore.cs: Whitespace, reorder
19144 * src/Libraries/Lastfm.Gui/Lastfm.Gui.mdp:
19145 * src/Libraries/Lastfm/Lastfm.mdp:
19146 * src/Libraries/Mono.Media/Mono.Media.mdp: New mdp files.
19148 * src/Libraries/Lastfm/Lastfm/Account.cs: Remove abstract class modifier.
19150 * src/Libraries/Lastfm/Lastfm/Connection.cs: Use Hyena.Log for logging msgs.
19152 * src/Libraries/Mono.Media/Makefile.am:
19153 * src/Libraries/Mono.Media/Playlists.Xspf/*:
19154 * src/Libraries/Mono.Media/Media.Playlists.Xspf/*: Change namespace to
19155 Media.Playlists.Xspf. Merge fix for not-quite-compliant Last.fm Playlist
19158 2008-02-13 Scott Peterson <lunchtimemama@gmail.com>
19160 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Made to use new
19161 generic Query method and added GetProperty, SetProperty and
19162 ClearProperty. These methods allow you to store/retrieve properties from
19163 the database that are not defined in the type T. Suppose you write an
19164 extension that needs to keep persistant data on a per-track basis for
19165 every track in the library. Rather than define it's own table and join
19166 it with CoreTracks, the extension could call
19167 LibraryTrackInfo.Provider.GetProperty and SetProperty. This will be used
19168 by the iTunes importer at least.
19170 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs: Added DbColumn class
19171 for lightweight column descrption, made to use new SqliteUtils class for
19172 simple operations, and protected some constructors.
19174 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteUtils.cs: Common sqlite-related
19177 * src/Core/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Replaced
19178 QueryInt32 and QueryString with a new generic Query<T> method. Added
19179 ColumnExists(string table_name, string column_name) method. Also
19180 reworked the way GetSchema works.
19182 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs,
19183 * src/Core/Banshee.Services/Banshee.Configuration/DatabaseConfigurationClient.cs,
19184 * src/Core/Banshee.Services/Banshee.SmartPlaylist/Migrator.cs: Made to use
19185 new generic Query method.
19187 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
19188 Took advantage of the fact that DbColumn-bound members can now be
19189 DateTime or TimeSpan.
19191 2008-02-11 Gabriel Burt <gabriel.burt@gmail.com>
19193 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Remove
19194 debugging WriteLines.
19196 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
19197 Add CanRefresh property that is true if ordered by random.
19199 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Add
19200 RefreshSmartPlaylist action to the source toolbar and context menu.
19202 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Fix
19203 whitespace, add and handle RefreshSmartPlaylist action.
19205 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/Plugin.cs: Get rid of old
19208 2008-02-11 Gabriel Burt <gabriel.burt@gmail.com>
19210 * src/Libraries/Lastfm.Gui/Makefile.am: Forgot to commit this.
19212 2008-02-11 Gabriel Burt <gabriel.burt@gmail.com>
19214 * build/build.environment.mk: Add System.Web to Lastfm deps.
19216 * src/Core/Banshee.Services/Banshee.Streaming/RadioTrackInfo.cs: Fix
19217 broken build; Xspf is now in Mono.Media.
19219 * src/Libraries/Lastfm/Last.FM.mdp: Rename.
19221 * src/Libraries/Lastfm/Lastfm/Account.cs: Add Updated event.
19223 * src/Extensions/Banshee.Lastfm/Banshee.Lastfm/Connection.cs:
19224 * src/Libraries/Lastfm/Makefile.am:
19225 * src/Libraries/Lastfm/Lastfm/Connection.cs: Move Connection class out of
19226 extension, pull out Banshee dependencies.
19228 * src/Libraries/Mono.Media/Playlists.Xspf/LinkEntry.cs:
19229 * src/Libraries/Mono.Media/Playlists.Xspf/MetaEntry.cs:
19230 * src/Libraries/Mono.Media/Playlists.Xspf/Playlist.cs:
19231 * src/Libraries/Mono.Media/Playlists.Xspf/Track.cs:
19232 * src/Libraries/Mono.Media/Playlists.Xspf/W3CDateTime.cs:
19233 * src/Libraries/Mono.Media/Playlists.Xspf/XmlUtil.cs:
19234 * src/Libraries/Mono.Media/Playlists.Xspf/XspfBaseObject.cs: Fix headers
19237 2008-02-11 Gabriel Burt <gabriel.burt@gmail.com>
19239 * build/build.environment.mk:
19241 * src/Libraries/Makefile.am:
19242 * src/Libraries/Mono.Media/Makefile.am: Create Mono.Media library.
19244 * src/Core/Banshee.Services/Makefile.am:
19245 * src/Core/Banshee.Services/Banshee.Playlists.Formats.Xspf/*: Move to
19246 Mono.Media, so it can be used by Lastfm library.
19248 2008-02-11 Gabriel Burt <gabriel.burt@gmail.com>
19251 * src/Extensions/Banshee.LastFM/*: Rename to Banshee.Lastfm.
19253 2008-02-11 Gabriel Burt <gabriel.burt@gmail.com>
19255 * src/Libraries/*: Update svn:ignore
19257 2008-02-11 Gabriel Burt <gabriel.burt@gmail.com>
19260 * src/Libraries/Makefile.am: New directory for what was Extras in stable.
19262 * build/build.environment.mk:
19264 * src/Libraries/Lastfm/*:
19265 * src/Libraries/Lastfm.Gui/*: Bring Last.FM library over from stable, and
19266 rip out the Gnome.Keyring dependency.
19268 * src/Extensions/Banshee.LastFM/*: Bring Last.FM plugin over from stable.
19269 Not part of the default build yet; lots of porting still to do.
19271 2008-02-11 Gabriel Burt <gabriel.burt@gmail.com>
19273 * src/Extensions/Banshee.LastFM/*: Copy from stable.
19275 2008-02-11 Aaron Bockover <abock@gnome.org>
19277 * src/Core/Nereid/Nereid/Client.cs: Load custom gtkrc files from either
19278 the user config (~/.config/banshee/gtkrc) or any custom gtkrc shipped
19279 with the application
19281 * src/Core/Nereid/Nereid/PlayerInterface.cs: Get rid of some whitespace
19283 2008-02-11 Aaron Bockover <abock@gnome.org>
19285 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
19286 Draw a bottom border on the dragging column
19288 2008-02-11 Aaron Bockover <abock@gnome.org>
19290 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/CompositeTrackListView.cs:
19291 Major fix that reparents the artist/album/track views when switching
19292 browser positions instead of destroying them and rebuilding; fixes a
19293 slew of issues with events when switching positions, is much cleaner
19294 overall, and probably has some positive (minor) memory implications.
19297 2008-02-10 Gabriel Burt <gabriel.burt@gmail.com>
19299 * src/Core/Hyena.Gui/Hyena.Query.Gui/QueryTermsBox.cs: Fix warning.
19301 2008-02-10 Aaron Bockover <abock@gnome.org>
19303 * src/Core/Banshee.ThickClient/Banshee.AudioProfiles.Gui/ProfileComboBoxConfigurable.cs:
19304 * src/Core/Banshee.ThickClient/Banshee.AudioProfiles.Gui/ProfileConfigurationDialog.cs:
19305 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs:
19306 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/CompositeTrackListView.cs:
19307 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
19308 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerWindow.cs:
19309 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/PlaylistMenuItem.cs:
19310 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
19311 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
19312 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkElementsService.cs:
19313 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
19314 * src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs:
19315 * src/Core/Banshee.ThickClient/Banshee.Library.Gui/ImportDialog.cs:
19316 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
19317 * src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp:
19318 * src/Core/Banshee.ThickClient/Makefile.am: More warnings fixed
19320 2008-02-10 Gabriel Burt <gabriel.burt@gmail.com>
19322 This commit greatly improves the smart playlist editor, both in terms of
19323 coming up to par with what we have in stable, and in terms of doing that in
19324 a clean way. You'll need to blow away your current trunk db to have your
19325 smart playlists remigrated. Limits to smart playlists now are functional.
19326 You can create and edit smart playlits.
19328 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
19329 Move GetSort method to BansheeQuery to provide consistent sorting for
19330 smart playlists too.
19332 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
19333 Make LimitCriterion a TEXT field and get rid of OrderDir. Database change,
19334 no migration, so run src/nuke-core-tables.
19336 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs: Add public
19337 static QueryOrder and QueryLimit arrays that define the types of sorting
19338 and limiting smart playlists can handle. Break QueryFields into separate
19339 public static variables in addition to providing FieldSet. Within static
19340 constructor, translate Hyena query operators.
19342 * src/Core/Banshee.Services/Banshee.Query/SmartPlaylistQueryValue.cs:
19343 Inherit from PlaylistQueryValue.
19345 * src/Core/Banshee.Services/Banshee.SmartPlaylist/Migrator.cs: Get rid of
19346 OrderDir, migrate old smart playlists to use new QueryLimit/Order classes.
19348 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
19349 Add QueryOrder, Limit, and LimitValue properties that, if all set, define
19350 how a smart playlist is limited. Move list of Orders to BansheeQuery.
19352 * src/Core/Banshee.ThickClient/Banshee.Query.Gui/BansheeQueryBox.cs: Add
19353 SmartPlaylistQueryValueEntry mapping, and instantiate base class
19354 (QueryBox) with BansheeQuery's FieldSet, Orders, and Limits.
19356 * src/Core/Hyena.Gui/Hyena.Query.Gui/StringQueryValueEntry.cs:
19357 * src/Core/Banshee.ThickClient/Banshee.Query.Gui/PlaylistQueryValueEntry.cs:
19358 Specify a fixed widths for value entries.
19360 * src/Core/Banshee.ThickClient/Banshee.Query.Gui/SmartPlaylistQueryValueEntry.cs:
19361 Exact same thing as PlaylistQueryValueEntry - should probably be merged or
19364 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs: Update
19365 to work with QueryLimit/Order classes and save/restore the limit/order.
19366 Update the predefined playlists, though I think they're still broken atm.
19368 * src/Core/Banshee.ThickClient/Makefile.am: Add new class.
19370 * src/Core/Hyena.Gui/Hyena.Query.Gui/DateQueryValueEntry.cs: Make sure
19371 query value and gui are in sync, and set a default combo box value.
19373 * src/Core/Hyena.Gui/Hyena.Query.Gui/FileSizeQueryValueEntry.cs: Similar
19374 to date value entry, provide a dropdown with MB, GB, etc.
19376 * src/Core/Banshee.ThickClient/Banshee.Query.Gui/RatingQueryValueEntry.cs:
19377 * src/Core/Hyena.Gui/Hyena.Query.Gui/IntegerQueryValueEntry.cs: Make sure
19378 the query value is in sync with the gui.
19380 * src/Core/Hyena.Gui/Hyena.Query.Gui/QueryBox.cs: Contains a QueryTermsBox
19381 and a QueryLimitBox. Provides the main GUI interface that the smart
19382 playlist Editor deals with.
19384 * src/Core/Hyena.Gui/Hyena.Query.Gui/QueryLimitBox.cs: New class, a HBox
19385 that contains widgetry to limit a smart playlist.
19387 * src/Core/Hyena.Gui/Hyena.Query.Gui/QueryTermBox.cs: Instead of defining
19388 this as a HBox with field, op, value across it, make QueryTermBox not
19389 actually a widet, and put its components into their respective VBoxes so
19390 that each column is always the same width.
19392 * src/Core/Hyena.Gui/Hyena.Query.Gui/QueryTermsBox.cs: New file, a HBox
19393 containing VBoxes for field, op, value, and button columns filled by the
19394 components of one or more QueryTermBoxes.
19396 * src/Core/Hyena.Gui/Hyena.Query.Gui/QueryValueEntry.cs: Set spacing,
19397 define default width for entries, and add FileSize entry mapping.
19399 * src/Core/Hyena.Gui/Makefile.am: Add new classes.
19401 * src/Core/Hyena/Hyena.Query/DateQueryValue.cs: Only offer GreaterThan and
19402 LessThan operators, for now at least.
19404 * src/Core/Hyena/Hyena.Query/FileSizeQueryValue.cs: Define SetValue
19407 * src/Core/Hyena/Hyena.Query/QueryLimit.cs: New class used to create
19408 named, labelized limit criteria (row based and not). Smart playlists use
19409 this to LIMIT their membership if needed. Current, non row-based Limits
19410 aren't implemented.
19412 * src/Core/Hyena/Hyena.Query/QueryOrder.cs: New class used to create a
19413 list of named, labelized orderings. Used in Banshee to give a list of
19414 orderings ("selected by") when you limit a smart playlist.
19416 * src/Core/Hyena/Hyena.Query/QueryValue.cs: Add ToString override.
19418 * src/Core/Hyena/Makefile.am: New files.
19420 2008-02-10 Aaron Bockover <abock@gnome.org>
19422 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/PersistentColumnController.cs:
19423 Preserve the hard-coded order when loading the column orders and no
19424 order could be loaded from configuration
19426 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
19427 Make the column titles translatable
19429 2008-02-10 Aaron Bockover <abock@gnome.org>
19431 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnController.cs:
19432 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
19433 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
19434 Fixed some really bad compiler warnings and made more progress on column
19435 show/hide support through the columns menu; visibility now persists
19437 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:
19438 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnHeaderCellText.cs:
19439 * src/Core/Hyena.Gui/Hyena.Data.Gui/ObjectListView.cs:
19440 * src/Core/Hyena.Gui/Hyena.Query.Gui/QueryTermBox.cs:
19441 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs:
19442 * src/Core/Hyena/Hyena.Query/XmlQueryParser.cs:
19443 * src/Core/Hyena/Hyena.SExpEngine/ListFunctionSet.cs: Cleaned up
19444 more compiler warnings
19446 2008-02-10 Gabriel Burt <gabriel.burt@gmail.com>
19448 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistCore.cs:
19449 Fixed/disabled more compiler warnings.
19451 2008-02-10 Aaron Bockover <abock@gnome.org>
19453 * src/Core/Banshee.Services/Banshee.Database/BansheeModelProvider.cs:
19454 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
19455 * src/Core/Banshee.Services/Banshee.Playlists.Formats.Xspf/Playlist.cs:
19456 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:
19457 Fixed more compiler warnings
19459 2008-02-10 Gabriel Burt <gabriel.burt@gmail.com>
19461 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
19462 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
19463 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
19464 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
19465 Fix some compiler warnings.
19467 2008-02-10 Aaron Bockover <abock@gnome.org>
19469 * src/Core/Banshee.Services/Banshee.AudioProfiles/ProfileConfiguration.cs:
19470 * src/Core/Banshee.Services/Banshee.AudioProfiles/ProfileManager.cs:
19471 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
19472 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
19473 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
19474 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
19475 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs:
19476 * src/Core/Banshee.Services/Banshee.PlaybackController/ICanonicalPlaybackController.cs:
19477 Cleaned up a lot of compiler warnings
19479 2008-02-10 Alan McGovern <alan.mcgovern@gmail.com>
19481 * src/Dap/Banshee.DapCore/Banshee.DapCore/AsyncDevice.cs:
19484 2008-02-10 Alan McGovern <alan.mcgovern@gmail.com>
19486 * src/Dap/Banshee.DapCore/Banshee.DapCore/AsyncDevice.cs:
19487 Cosmetic changes and fixed a typo in UploadTrack
19489 2008-02-10 Alan McGovern <alan.mcgovern@gmail.com>
19491 * src/Dap/Banshee.DapCore/Makefile.am
19492 * src/Dap/Banshee.DapCore/Banshee.DapCore/AsyncDevice.cs:
19493 Added wrapper to make the calls to devices asynchronous
19495 2008-02-10 Alan McGovern <alan.mcgovern@gmail.com>
19497 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/Device.cs:
19498 Commented out my changes because i can't make em compile ;)
19500 2008-02-10 Alan McGovern <alan.mcgovern@gmail.com>
19502 * src/Dap/Banshee.DapCore/Banshee.DapCore/IDevice.cs
19503 * src/Dap/Banshee.DapCore/Banshee.DapCore/AbstractDevice.cs
19504 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/Device.cs:
19505 Updated the interface, implemented the abstract class and made
19506 MassStorage inherit from AbstractDevice.
19508 2008-02-10 Scott Peterson <lunchtimemama@gmail.com>
19510 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs: Assures
19511 that all rows in view are rendered.
19513 2008-02-09 Aaron Bockover <abock@gnome.org>
19515 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Do not
19516 show the 'sort children' menu item if the source does not have children
19519 2008-02-09 Aaron Bockover <abock@gnome.org>
19521 This commit adds initial support to load/save the column settings in
19522 the track list; it is not yet complete, also it adds a popup menu for
19523 the columns, but it's not done yet and doesn't work
19525 * src/Core/Hyena/Hyena/StringUtil.cs:
19526 * src/Backends/Banshee.Gnome/Banshee.Gnome/GConfConfigurationClient.cs:
19527 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs:
19528 * src/Core/Banshee.Core/Banshee.Base/StringUtil.cs: Moved StringUtil
19531 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/PersistentColumnController.cs:
19532 A wrapper around ColumnController that loads and saves through
19533 Banshee.Configuration
19535 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
19536 Use PersistentColumnController to load and save settings
19538 * src/Core/Hyena.Gui/Hyena.Data.Gui/Column.cs: Added an Id property
19540 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnController.cs: Added IndexOf
19541 and EnableColumnMenu
19543 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs: Added
19544 a popup menu for selecting which columns are visible
19546 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
19547 Fixed reordering logic to work with columns which aren't visible
19548 and added right click on the header
19550 2008-02-10 Ruben Vermeersch <ruben@savanne.be>
19552 * src/Dap/Banshee.Dap.MassStorage: Added.
19553 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage: Added.
19554 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage.addin.xml: Added.
19555 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage.mdp: Added.
19556 * src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/Device.cs: Added.
19557 * src/Dap/Banshee.Dap.MassStorage/Makefile.am: Added.
19559 Added a basic Banshee.Dap.MassStorage extension which will be the first
19560 device class to be ported, used to test the stack.
19562 * src/Dap/Banshee.DapCore/Banshee.DapCore/AbstractDevice.cs: Added.
19564 * src/Dap/Banshee.DapCore/Banshee.DapCore/DapCore.cs: Store the extension
19565 nodes, not the types themselves.
19567 2008-02-09 Ruben Vermeersch <ruben@savanne.be>
19569 Moved the Banshee.DapCore extension out of src/Extensions/ and into
19570 src/Dap/. This folder will house all media device addins.
19574 * src/Dap/Banshee.DapCore: Copied from src/Extensions/Banshee.DapCore.
19575 * src/Dap/Banshee.DapCore/Banshee.DapCore/DeviceClassNode.cs: Removed.
19576 * src/Dap/Makefile.am: Added.
19577 * src/Extensions/Banshee.DapCore: Removed.
19578 * src/Extensions/Banshee.DapCore/Banshee.DapCore: Removed.
19579 * src/Extensions/Banshee.DapCore/Banshee.DapCore.mdp: Removed.
19580 * src/Extensions/Banshee.DapCore/Banshee.DapCore/DapCore.cs: Removed.
19581 * src/Extensions/Banshee.DapCore/Banshee.DapCore/HalCore.cs: Removed.
19582 * src/Extensions/Banshee.DapCore/Banshee.DapCore/IDevice.cs: Removed.
19583 * src/Extensions/Banshee.DapCore/Makefile.am: Removed.
19584 * src/Extensions/Banshee.DapCore/Resources: Removed.
19585 * src/Extensions/Banshee.DapCore/Resources/Banshee.DapCore.addin.xml: Removed.
19586 * src/Extensions/Banshee.DapCore/hal-sharp: Removed.
19587 * src/Extensions/Banshee.DapCore/hal-sharp/Device.cs: Removed.
19588 * src/Extensions/Banshee.DapCore/hal-sharp/Manager.cs: Removed.
19589 * src/Extensions/Banshee.DapCore/hal-sharp/Volume.cs: Removed.
19590 * src/Extensions/Makefile.am:
19593 2008-02-09 Ruben Vermeersch <ruben@savanne.be>
19595 * src/Extensions/Banshee.DapCore/Banshee.DapCore/DapCore.cs: Get the type
19596 from TypeExtensionNode. Use Aaron's trick to get the class name from the
19599 * src/Extensions/Banshee.DapCore/Banshee.DapCore/DeviceClassNode.cs: Removed.
19601 * src/Extensions/Banshee.DapCore/Banshee.DapCore/IDevice.cs: Fix
19604 * src/Extensions/Banshee.DapCore/Resources/Banshee.DapCore.addin.xml: Back
19605 to TypeExtensionNode.
19607 2008-02-09 Ruben Vermeersch <ruben@savanne.be>
19609 * src/Extensions/Banshee.DapCore/Banshee.DapCore/DapCore.cs: Start porting
19610 the device initialization code.
19612 * src/Extensions/Banshee.DapCore/Banshee.DapCore/DeviceClassNode.cs:
19613 Added. Provides an extension node wich offers types, not instances (this
19614 could be useful outside of this extension as well).
19616 * src/Extensions/Banshee.DapCore/Banshee.DapCore/HalCore.cs: Don't make
19617 manager static (not needed).
19619 * src/Extensions/Banshee.DapCore/Banshee.DapCore/IDeviceClass.cs: Will
19620 soon be renamed to IDevice.
19622 * src/Extensions/Banshee.DapCore/Makefile.am: Add DeviceClassNode.
19624 * src/Extensions/Banshee.DapCore/Resources/Banshee.DapCore.addin.xml: Use
19625 DeviceClassNode instead of TypeExtensionNode.
19627 2008-02-09 Alan McGovern <alan.mcgovern@gmail.com>
19629 * src/Extensions/Banshee.DapCore/IDeviceClass.cs:
19630 Updated the interface
19632 2008-02-09 Alan McGovern <alan.mcgovern@gmail.com>
19634 * Banshee.DapCore/IDeviceClass.cs: Slight refactor
19636 2008-02-09 Alan McGovern <alan.mcgovern@gmail.com>
19638 * Banshee.DapCore/IDeviceClass.cs: Initial ideas for the interface
19640 2008-02-09 Ruben Vermeersch <ruben@savanne.be>
19642 * src/Extensions/Banshee.DapCore/Resources/Banshee.DapCore.addin.xml:
19643 Register a new Extension point /Banshee/Dap/DeviceClass. This will be used
19644 to register new DAP plugins. Each plugin provides a family of devices
19645 (e.g. iPod or MTP).
19647 * src/Extensions/Banshee.DapCore/Banshee.DapCore/DapCore.cs: Handle the
19648 new extension point. Still need to hook up the initialization code.
19650 * src/Extensions/Banshee.DapCore/Banshee.DapCore/IDeviceClass.cs: Added.
19653 2008-02-09 Ruben Vermeersch <ruben@savanne.be>
19655 Add the groundwork for the DapCore plugin. Currently does... nothing.
19656 Contains a copy of hal-sharp until we have a properly abstracted HAL.
19658 * build/build.environment.mk: Add the dependencies for DapCore.
19660 * configure.ac: Generate build files for the new addin.
19662 * src/Extensions/Banshee.DapCore: Added.
19663 * src/Extensions/Banshee.DapCore/Banshee.DapCore: Added.
19664 * src/Extensions/Banshee.DapCore/Banshee.DapCore.mdp: Added.
19665 * src/Extensions/Banshee.DapCore/Banshee.DapCore/DapCore.cs: Added.
19666 * src/Extensions/Banshee.DapCore/Banshee.DapCore/HalCore.cs: Added.
19667 * src/Extensions/Banshee.DapCore/Makefile.am: Added.
19668 * src/Extensions/Banshee.DapCore/Resources: Added.
19669 * src/Extensions/Banshee.DapCore/Resources/Banshee.DapCore.addin.xml: Added.
19670 * src/Extensions/Banshee.DapCore/hal-sharp: Added.
19671 * src/Extensions/Banshee.DapCore/hal-sharp/Device.cs: Added.
19672 * src/Extensions/Banshee.DapCore/hal-sharp/Manager.cs: Added.
19673 * src/Extensions/Banshee.DapCore/hal-sharp/Volume.cs: Added.
19675 * src/Extensions/Makefile.am: Add Banshee.DapCore.
19677 2008-02-09 Aaron Bockover <abock@gnome.org>
19679 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
19680 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
19681 Finished actual column reordering
19683 2008-02-08 Aaron Bockover <abock@gnome.org>
19685 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
19686 Fixed double clicking again
19688 2008-02-08 Aaron Bockover <abock@gnome.org>
19690 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
19691 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
19692 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
19693 Implemented most of what is required for column reordering, but not
19696 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListViewGraphics.cs: DrawColumnHighlight
19697 now can have an override color
19699 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnController.cs: Added Reorder
19701 2008-02-08 Aaron Bockover <abock@gnome.org>
19703 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
19704 Fixes to mouse/button behavior: context menu works on multiple selection
19705 again and a single row can be selected (clearing all other rows) inside
19706 of a multi-row selection
19708 2008-02-08 Aaron Bockover <abock@gnome.org>
19710 This commit adds child source sorting on the library and gets rid of any
19711 remaining gobject/gtk warnings and other ugly debug spew
19713 * build/build.rules.mk: Copy .config files to the output directory if
19714 they exist in the source directory
19716 * configure.ac: Do not generate the .config for Banshee.Widgets
19718 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
19719 If Volume is changed before the engine is initialized then store it
19720 temporarily and perform the actual set after initialization
19722 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs:
19723 Use Log to print messages instead of Console.WriteLine
19725 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Added child source
19728 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
19729 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
19730 Connect the UI and actions to allow child source sorting
19732 * src/Core/Banshee.Widgets/Banshee.Widgets.dll.config.in: Remove obsolete
19733 maps - the only one we need (and it's not even required) is for
19734 libgobject inside of the bacon volume widget
19736 2008-02-08 Aaron Bockover <abock@gnome.org>
19738 * src/Core/Hyena.Gui/Hyena.Widgets/RoundedFrame.cs: Make GtkScrolledWindow
19739 happy by overriding OnSetScrollAdjustments to avoid g_warning spewage
19741 2008-02-08 Scott Peterson <lunchtimemama@gmail.com>
19743 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs: Got rid
19744 of extra semicolon;
19746 2008-02-07 Aaron Bockover <abock@gnome.org>
19748 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
19749 Support single row selection toggling when CTRL+Space is pressed
19751 2008-02-07 Aaron Bockover <abock@gnome.org>
19753 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
19754 Draw the focus row again, make it really sexy by merging it into the
19755 selection if it borders one
19757 * src/Core/Hyena.Gui/Hyena.Gui/CairoExtensions.cs:
19758 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListViewGraphics.cs: Support drawing
19759 selections/rounded rectangles that fall through to others
19761 2008-02-07 Aaron Bockover <abock@gnome.org>
19763 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView.cs:
19764 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Header.cs:
19765 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Interaction.cs:
19766 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs:
19767 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs:
19768 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Windowing.cs:
19769 Split ListView.cs into several partial class implementations so
19770 maintaining and reading the code is a lot easier since this is a huge
19771 class; lots of cosmetic cleanup
19773 * src/Core/Hyena.Gui/Hyena.Data.Gui/RowActivatedHandler.cs: Moved to
19774 its own file from ListView.cs
19776 2008-02-07 Aaron Bockover <abock@gnome.org>
19778 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
19779 Implement OnDragSourceSet; the ListView will call this when it's okay
19780 for drag sources to be enabled
19782 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Added a virtual
19783 OnDragSourceSet method that the view will call when drag and drop from
19784 the widget is allowed (i.e. when not playing with the header); remove
19785 drag sources when the header is pressed, add them back when released
19787 2008-02-07 Aaron Bockover <abock@gnome.org>
19789 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Only add
19790 the separator to the add to playlist menu if there are actually playlists
19791 that can be added to; remove the playlist map and pass the source through
19792 the .Data property of the object
19794 2008-02-07 Gabriel Burt <gabriel.burt@gmail.com>
19796 * src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs:
19797 Comment out super-verbose logging.
19799 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/AlbumListView.cs:
19800 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtistListView.cs:
19801 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Sweet little
19802 patch that disconnects the [shift]ctrl-a keybindings while focused in the
19803 Artist and Album views.
19805 2008-02-07 Gabriel Burt <gabriel.burt@gmail.com>
19807 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Fix bugs with
19808 source actions being out of sync with what's highlighted/active. Open
19809 Editor for smart playlists when OnSourceProperties.
19811 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs: If
19812 given a smart playlist, set the Hyena.Query.Gui condition.
19814 * src/Core/Hyena.Gui/Hyena.Query.Gui/QueryTermBox.cs:
19815 * src/Core/Hyena.Gui/Hyena.Query.Gui/QueryBox.cs: Add a QueryNode setter
19816 so can initialize with an existing query/smart playlist.
19818 2008-02-07 Gabriel Burt <gabriel.burt@gmail.com>
19820 * src/Core/Nereid/Nereid/PlayerInterface.cs: Fix bug that prevented using
19821 keybindings while in the search entry.
19823 2008-02-07 Aaron Bockover <abock@gnome.org>
19825 * src/Core/Hyena.Gui/Hyena.Gui.Dialogs/ExceptionDialog.cs: Use
19826 AppendFormat instead of allocating a bunch of separate strings; added
19827 a platform check to skip collecting kernel, distro, and LSB information
19828 if the platform is not Unix; added some exception handling when gathering
19829 this information just in case
19831 2008-02-07 Aaron Bockover <abock@gnome.org>
19833 This commit adds Mono.Unix IO support back, inside the new Unix/POSIX
19834 extension; yay cross-platform
19836 * src/Backends/Banshee.Unix/Banshee.IO.Unix: Added the Unix IO backend
19838 * src/Backends/Banshee.Unix/Banshee.Unix.addin.xml: Extension file for
19841 * src/Core/Banshee.Core/Banshee.IO/UnixIOProvider.cs: Removed
19843 * src/Core/Banshee.Services/Banshee.Services.addin.xml: Removed extension
19844 points that belonged in core, not services
19846 * build/build.environment.mk:
19847 * build/build.rules.mk:
19848 * configure.ac: Build foo
19850 2008-02-07 Aaron Bockover <abock@gnome.org>
19852 This commit adds GConf support back, inside the new GNOME platform
19853 extension; yay cross-platform
19855 * build/build.environment.mk:
19856 * build/m4/banshee/gtk-sharp.m4: Added build foo for gconf and the
19857 gnome platform extension
19859 * src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml: Implement the
19860 configuration client extension
19862 * src/Backends/Banshee.Gnome/Banshee.Gnome/GConfConfigurationClient.cs:
19865 * src/Backends/Banshee.Gnome/Banshee.Gnome/GnomeVfs.cs: Removed since
19866 it's never really worked well and we'll be adding GIO support soon anyway
19868 * src/Core/Banshee.Core/Banshee.Configuration/ConfigurationClient.cs:
19869 Whitespace and header fixes, use Mono.Addins to load an configuration
19870 client extension, falling back to the built-in XML client
19872 * src/Core/Banshee.Core/Banshee.Configuration/IConfigurationClient.cs:
19873 * src/Core/Banshee.Core/Banshee.Configuration/SchemaEntry.cs:
19874 * src/Core/Banshee.Core/Banshee.Configuration/XmlConfigurationClient.cs:
19875 Whitespace and header fixes, just cosmetics
19877 * src/Core/Banshee.Core/Banshee.Core.addin.xml: Core now has two extension
19878 points (ConfigurationClient and IOProvider)
19880 * src/Core/Banshee.Core/Banshee.IO/Provider.cs: Use Mono.Addins to load
19881 the preferred IO provider extension, falling back to the internal
19884 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
19885 Initialize the configuration layer before booting services
19887 2008-02-06 Gabriel Burt <gabriel.burt@gmail.com>
19889 * src/Core/Nereid/Nereid/PlayerInterface.cs: Patch from Alex Hixon adding
19890 the track properties button to the bottom bar. Tweaked to be not quite as
19893 2008-02-06 Gabriel Burt <gabriel.burt@gmail.com>
19895 This commit fixes the last big hack in Hyena.Query - operators.
19896 Operaters are now defined per QueryValue subclass, so you you will never
19897 get a contains operator on an int field, for example. A new Hyena.Query.Gui
19898 layer provides widegtry for editing queries while allowing custom types to
19899 be integrated seamlessly (see RatingQueryValueEntry and
19900 PlaylistQueryValueEntry). You can see the progress of reimplementing
19901 smart playlist editing by trying to create a new one. It is not by any
19902 means finished, so it doesn't actually save yet.
19904 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
19905 * src/Core/Banshee.Services/Banshee.Collection/TrackListModel.cs:
19906 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
19907 * src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs:
19908 Move FieldSet, AlbumField, and ArtistField from TrackListDatabaseModel to
19911 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Show the
19912 smart playlist dialog on New Smart Playlist action.
19914 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Get
19915 ArtistField and AlbumField from BansheeQuery, not the
19916 TrackListDatabaseModel.
19918 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs: Get
19919 somewhat working with new Hyena.Query.Gui code.
19921 * src/Core/Banshee.Services/Makefile.am: New Banshee.Query classes.
19923 * src/Core/Banshee.Services/Banshee.Query/NaturalIntegerQueryValue.cs:
19924 * src/Core/Banshee.Services/Banshee.Query/YearQueryValue.cs:
19925 * src/Core/Banshee.Services/Banshee.Query/RatingQueryValue.cs:
19926 * src/Core/Banshee.Services/Banshee.Query/PlaylistQueryValue.cs:
19927 * src/Core/Banshee.Services/Banshee.Query/SmartPlaylistQueryValue.cs:
19928 Subclasses of existing Hyena.Query QueryValue types, providing limits
19929 and/or default values.
19931 * src/Core/Hyena.Gui/Makefile.am: New Hyena.Query.Gui classes.
19933 * src/Core/Hyena.Gui/Hyena.Query.Gui/QueryValueEntry.cs:
19934 * src/Core/Hyena.Gui/Hyena.Query.Gui/StringQueryValueEntry.cs:
19935 * src/Core/Hyena.Gui/Hyena.Query.Gui/IntegerQueryValueEntry.cs:
19936 * src/Core/Hyena.Gui/Hyena.Query.Gui/DateQueryValueEntry.cs: New gui
19937 classes that define the gui for editing a QueryValue type.
19939 * src/Core/Hyena.Gui/Hyena.Query.Gui/QueryBox.cs: New VBox subclass that
19940 contains multiple QueryTermBoxes.
19942 * src/Core/Hyena.Gui/Hyena.Query.Gui/QueryTermBox.cs: New class that
19943 represents one QueryTermNode, and one row/condition in the smart playlist
19946 * src/Core/Banshee.ThickClient/Makefile.am:
19947 * src/Core/Banshee.ThickClient/Banshee.Query.Gui/RatingQueryValueEntry.cs:
19948 * src/Core/Banshee.ThickClient/Banshee.Query.Gui/BansheeQueryBox.cs:
19949 * src/Core/Banshee.ThickClient/Banshee.Query.Gui/PlaylistQueryValueEntry.cs:
19950 New Banshee-specific query gui classes.
19952 * src/Core/Hyena/Makefile.am:
19953 * src/Core/Hyena/Hyena.Query/AliasedObjectSet.cs: New generic class for
19954 containing a set of of aliased objects. Used by QueryFieldSet and
19955 QueryValue's OperatorSet.
19957 * src/Core/Hyena/Hyena.Query/QueryValue.cs: Define an OperatorSet for each
19960 * src/Core/Hyena/Hyena.Query/StringQueryValue.cs: Define OperatorSet.
19962 * src/Core/Hyena/Hyena.Query/IntegerQueryValue.cs: Add Min/Max/Default
19963 value properties, define OperatorSet.
19965 * src/Core/Hyena/Hyena.Query/DateQueryValue.cs: Actually use the
19966 RelativeDateFactor property.
19968 * src/Core/Hyena/Hyena.Query/QueryField.cs: Implement IAliasedObject.
19970 * src/Core/Hyena/Hyena.Query/QueryFieldSet.cs: Factor most of the set
19971 logic into AliasedObjectSet so it can be reused for Operators.
19973 * src/Core/Hyena/Hyena.Query/QueryOperator.cs: Add SqlFormat property
19974 instead of doing a switch in QueryTermNode to produce the right SQL for an
19975 operator. Get rid of cruft. Add ability to have multiple 'aliases'
19976 (user-entered query operators, eg :).
19978 * src/Core/Hyena/Hyena.Query/QueryTermNode.cs: Operators are scoped to
19979 value types, and have SqlFormat properties; use them.
19981 * src/Core/Banshee.Services/Banshee.SmartPlaylist/Migrator.cs:
19982 * src/Core/Hyena/Hyena.Query/XmlQueryParser.cs: Operators are scoped to
19985 2008-02-06 Aaron Bockover <abock@gnome.org>
19987 Okay, so this is a big one. Probably nasty. This commit temporarily breaks
19988 settings saving/loading from GConf and the POSIX IO layer is disabled
19989 for now as well; these features will be reimplemented as platform
19990 extensions in my next commit;
19992 This commit puts us very close to being able to run the managed Banshee
19993 core out of the box on Windows and probably OS X.
19995 * src/Core/Banshee.Services/Banshee.AudioProfiles/ProfileConfiguration.cs:
19996 Applied Scott's from SoC that makes this configuration layer just use
19997 the standard configuration APIs in Banshee, so profile configuration
19998 is stored using whatever provider is active (GConf, XML); Scott rules.
20000 * src/Backends/Banshee.Gnome: Moved out GNOME specific code (GConf,
20001 GnomeVFS) into this new platform extension, but it's not complete
20003 * src/Core/Banshee.Core/Banshee.Base/RateLimiter.cs:
20004 * src/Core/Banshee.Services/Banshee.Base/ThreadAssist.cs: Moved to
20005 the service layer since these depend on Application
20007 * src/Core/Banshee.Core/Banshee.Base/Resource.cs:
20008 * src/Core/Banshee.Core/Banshee.Base/NamingUtil.cs: Moved/fixed these
20009 classes out of the old Utilities.cs dumping grounds
20011 * src/Core/Banshee.Core/Banshee.Configuration/ConfigurationClient.cs:
20012 Do not reference the GConfConfigurationClient; for now the Xml one
20013 is hard coded to use until I finish turning the GConf support into
20014 a provider - no complaining - the next commit will address it
20016 * src/Core/Banshee.Core/Banshee.I18n/AssemblyCatalogAttribute.cs:
20017 * src/Core/Banshee.Core/Banshee.I18n/Catalog.cs: Moved/cleaned up the
20018 internal Banshee gettext wrapper
20020 * src/Core/Banshee.Core/Banshee.IO: Redesigned the IO layer to be easier
20021 to extend (soon) through extensions and it now provides a cleaner API
20022 to use (no more IOProxy)
20024 * src/Core/Banshee.Core/Banshee.IO.SystemIO: Fixed up System.IO provider
20025 to implement the new Banshee.IO design changes
20027 * src/Core/Banshee.Core/Banshee.Base/FileNamePattern.cs:
20028 * src/Core/Banshee.Core/Banshee.Collection/FileTrackInfo.cs:
20029 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs:
20030 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
20031 * src/Core/Banshee.Services/Banshee.Collection/ImportManager.cs:
20032 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs:
20033 * src/Core/Banshee.Services/Banshee.Playlists.Formats/PlaylistParser.cs:
20034 Updated to consume the nicer Banshee.IO APIs
20036 * src/Core/Banshee.Core/Banshee.IO/StreamAssist.cs: Added a class that
20037 makes doing some common stream operations (currently, just saving one
20038 stream to another) easier
20040 * src/Core/Banshee.Services/Banshee.Metadata.Embedded/EmbeddedQueryJob.cs:
20041 * src/Core/Banshee.Services/Banshee.Metadata/MetadataServiceJob.cs:
20042 Updated to use the new Banshee.IO APIs and also StreamAssist.Save to
20043 reduce so much duplication of stream code
20045 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Added
20046 another Inovke method that takes an EventHandler delegate to stay
20047 compatible with Gtk.Application.Invoke
20049 * src/Core/Banshee.Services/Banshee.Services.addin.xml: Added a few
20050 platform extension points
20052 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistCore.cs:
20053 Removed unnecessary Gnome.Vfs call
20055 * src/Core/Banshee.Widgets/Banshee.Widgets/LinkLabel.cs: Removed
20056 default Gnome.Open implementation; users must set a handle at all times
20057 so the widget is not bound to a platform
20059 * src/Core/Nereid/Nereid/Client.cs: Removed crappy Gnome.Program stuff
20060 since it really doesn't provide anything for us
20062 * src/Extensions/Template/Makefile.am: Small fix
20064 * src/Core/Banshee.Core/Banshee.Base/Utilities.cs:
20065 * src/Core/Banshee.Services/Banshee.AudioProfiles/GConfProfileConfiguration.cs:
20068 * build/build.environment.mk:
20069 * build/m4/banshee/gtk-sharp.m4: Removed gnome-sharp and gconf-sharp
20072 2008-02-06 Gabriel Burt <gabriel.burt@gmail.com>
20074 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs:
20075 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs:
20076 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs:
20077 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
20078 * src/Core/Banshee.Widgets/Banshee.Widgets/ActionButton.cs:
20079 * src/Core/Banshee.Widgets/Banshee.Widgets/CustomActionProxy.cs:
20080 * src/Core/Banshee.Widgets/Banshee.Widgets/RatingActionProxy.cs: Fix mono
20081 1.9 compiler error with amibuous Action references.
20083 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Fix mono
20084 1.9 compiler error with if (bool?) statement.
20086 2008-02-05 Aaron Bockover <abock@gnome.org>
20088 * src/create-extension: A simple script that will create some of the
20089 files necessary for creating new extensions; it allows you to specify
20090 the extension name extension points that will be implemented and it
20091 tries to build at least most of the necessary shell for the extension
20093 * src/Extensions/Template/Makefile.am:
20094 * src/Extensions/Template/Template.addin.xml:
20095 * src/Extensions/Template/Template.mdp: Files to use as the base for
20096 generated extensions
20098 2008-02-05 Aaron Bockover <abock@gnome.org>
20100 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
20101 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
20102 Some minor reorg, finish the DnD split
20104 2008-02-05 Scott Peterson <lunchtimemama@gmail.com>
20106 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Got rid of obsolete type.
20107 Last commit, I swear.
20109 2008-02-05 Scott Peterson <lunchtimemama@gmail.com>
20111 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Merged PaintRows into
20112 PaintList since PaintList had become a withered shell of its former
20113 self, not worth the method call.
20115 2008-02-05 Scott Peterson <lunchtimemama@gmail.com>
20117 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Very minor change - removed
20118 unnessisary assignment.
20120 2008-02-05 Scott Peterson <lunchtimemama@gmail.com>
20122 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: A rework of PaintList and
20123 PaintRows. Previously, all rows needed to be iterated over three times:
20124 once to calculate the selection blocks, once to draw the rule, and once
20125 to draw the content. Now it is only iterated over once - rules, content
20126 for unselected rows, and selection blocks are drawn during iteration
20127 while selected rows are put into a list and their content is drawn at
20128 the end. This exploits the fact that the most common numbers of visible
20129 selected rows are 0 and 1. The actual performance gains for this patch
20130 are rather modest, but tangeble (a millisecond or two for the execution
20131 time of PaintList acording to the profiler).
20133 2008-02-04 Scott Peterson <lunchtimemama@gmail.com>
20135 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
20136 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
20137 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
20138 Made some private fields readonly.
20140 2008-02-04 Scott Peterson <lunchtimemama@gmail.com>
20142 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
20143 * src/Core/Banshee.Core/Banshee.Configuration.Schema/LibrarySchema.cs:
20144 * src/Core/Banshee.Core/Banshee.Base/SafeUri.cs: Standardized venacular
20145 around "Location" rather than "Path" when refering to the file URI in
20146 user-facing strings (BGO 436453)
20148 2008-02-04 Scott Peterson <lunchtimemama@gmail.com>
20150 * src/Core/Hyena/Hyena.Data/DictionaryModelCache.cs: Initialize the cache
20151 dictionary to the proper capacity (since we know it).
20153 2008-02-04 Aaron Bockover <abock@gnome.org>
20155 This commit adds source merge behavior and the ability to drag and drop
20156 sources in the source view; i.e. drag the play queue to a new playlist
20159 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
20160 * src/Core/Banshee.Services/Banshee.Sources/SourceMergeType.cs:
20161 Added some stuff to advertise how sources can interact with eachother;
20162 concept of merging sources into sources
20164 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs:
20165 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
20166 Implement merge behaviors
20168 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
20169 Finished the drag and drop support for the source view internally
20171 * src/Core/Hyena.Gui/Hyena.Gui.Theatrics/SingleActorStage.cs: Override
20172 OnActorStep so that single actor stages work again
20174 * src/Core/Hyena.Gui/Hyena.Gui.Theatrics/Stage.cs: Nuke ugly writeline
20176 2008-02-04 Gabriel Burt <gabriel.burt@gmail.com>
20178 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
20179 * src/Core/Banshee.Services/Banshee.Collection/TrackListModel.cs:
20180 * src/Core/Banshee.Services/Banshee.SmartPlaylist/Migrator.cs:
20181 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistCore.cs:
20182 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
20183 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
20184 * src/Core/Hyena/Hyena.mdp:
20185 * src/Core/Hyena/Makefile.am:
20186 * src/Core/Hyena/Hyena.Data.Query/*:
20187 * src/Core/Hyena/Hyena.Query/*: Change Hyena.Data.Query namespace to
20190 2008-02-04 Aaron Bockover <abock@gnome.org>
20192 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
20193 Only draw the hot cairo stuff if we have a cairo context (and we don't
20194 when the row is being dragged)
20196 2008-02-04 Aaron Bockover <abock@gnome.org>
20198 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Check
20199 to see if the actor TreeIter is valid in notify_stage.ActorStep - expire
20200 the actor if it is not
20202 * src/Core/Hyena.Gui/Hyena.Gui.Theatrics/Stage.cs: Allow the step handler
20203 to expire the actor by returning false
20205 2008-02-03 Aaron Bockover <abock@gnome.org>
20207 This commit adds Drag and Drop support from the track list to the source
20208 view; i.e. you can drag tracks to the play queue or playlists
20210 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
20211 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Added
20212 and implemented AcceptsInputFromSource and MergeSourceInput methods
20213 that allows source to see if they are 'compatible' with other sources;
20214 for instance, copying some tracks from one source to another
20216 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
20217 Implemented source-mode drag and drop for the track list
20219 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
20220 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
20221 Implemented dest-mode drag and drop for track contexts (cannot DnD to/from
20224 * src/Core/Banshee.ThickClient/Banshee.Gui.DragDrop/DragDropTarget.cs:
20225 Modernized the drop targets we'll start with for trunk
20227 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
20228 Remove some obsolete properties
20230 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Started fixing up
20231 click behavior for selections to work properly with multi-row DnD;
20232 currently there is still some bad behavior and it needs work - almost
20235 2008-02-03 Aaron Bockover <abock@gnome.org>
20237 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Do some trimming
20238 in the Display* properties
20240 2008-02-03 Ruben Vermeersch <ruben@savanne.be>
20242 Rename extension types into more meaningful names. TypeExtensionNode is an
20243 implementation detail.
20245 * src/Core/Banshee.Services/Banshee.Services.addin.xml: Rename the four
20246 different TypeExtensionNodes (which all had different functionality into):
20247 Service, Source, ImportSource and PlayerEngine.
20249 * src/Backends/Banshee.GStreamer/Banshee.GStreamer.addin.xml:
20250 * src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml:
20251 * src/Extensions/Banshee.Audioscrobbler/Resources/Banshee.Audioscrobbler.addin.xml:
20252 * src/Extensions/Banshee.MultimediaKeys/Resources/Banshee.MultimediaKeys.addin.xml:
20253 * src/Extensions/Banshee.NotificationArea/Resources/Banshee.NotificationArea.addin.xml:
20254 * src/Extensions/Banshee.PlayQueue/Resources/Banshee.PlayQueue.addin.xml:
20255 Adjust addin.xml files accordingly.
20257 2008-02-02 Ruben Vermeersch <ruben@savanne.be>
20259 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:
20260 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellTrackNumber.cs: Added.
20261 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
20262 * src/Core/Banshee.ThickClient/Makefile.am: Fix a regression from old
20263 Banshee, don't show the track number if it's zero. Just show empty space.
20265 2008-02-02 Aaron Bockover <aaron@abock.org>
20267 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
20268 Use smarter calculations for computing the row height and middle-aligning
20269 contents in a row; should look better across all font sizes now
20271 * src/Core/Hyena.Gui/Hyena.Widgets/RoundedFrame.cs: Reduce the inner border
20272 width to the correct size to be consistent with the ListView
20274 2008-02-01 Scott Peterson <lunchtimemama@gmail.com>
20276 * src/Core/Banshee.Services/Banshee.Database/BansheeModelProvider.cs: Made
20277 to use DatabaseConfigurationClient when checking for version.
20279 * src/Core/Banshee.Services/Banshee.Configuration:
20280 * src/Core/Banshee.Services/Banshee.Configuration/DatabaseConfigurationClient.cs:
20281 Added DatabaseConfigurationClient, an IConfigurationClient wrapper for
20282 the CoreConfiguration table.
20284 2008-01-31 Gabriel Burt <gabriel.burt@gmail.com>
20286 This commits adds j, k, Home, and End key support for scrolling list
20287 views. Also fixes issue with not fading newly created playlist.
20289 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
20290 Add public UserNotifyUpdated method so extensions etc can use it.
20292 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
20293 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Call
20294 UserNotifyUpdated in the action handler when creating a playlist.
20296 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Add j and k as key
20297 bindings for down/up respectively. Add Home/End key support. Handle all
20298 relevant key pad keys.
20300 * src/Core/Nereid/Nereid/PlayerInterface.cs: Don't have j or J focus the
20301 search any more, it's now used for scrolling the ListViews.
20303 2008-01-31 Aaron Bockover <abock@gnome.org>
20305 * src/Core/Banshee.Services/Banshee.ServiceStack/IExtensionService.cs:
20306 Added a simple method that extension services must implement; extension
20307 services should do nothing in their constructors so we can get type
20308 information from them at runtime at a minimum
20310 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
20311 Require extension services to be IExtensionService; catch all exceptions
20312 from them, do not bail if an extension explodes and log the error
20314 * src/Extensions/Banshee.MultimediaKeys/Banshee.MultimediaKeys/MultimediaKeysService.cs:
20315 Extreme hack to support both GNOME Settings Daemon 2.20 and 2.22; I just
20316 love how pointless API breakage is a common theme in GNOME - the price
20317 of being an ISV and not 'in GNOME' is high - too high
20319 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
20320 Use 'q' as a shortcut for adding stuff to the play queue
20322 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/Service.cs:
20323 * src/Extensions/Banshee.Audioscrobbler/Banshee.Audioscrobbler/AudioscrobblerService.cs:
20324 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
20325 Implement IExtensionService
20327 2008-01-31 Gabriel Burt <gabriel.burt@gmail.com>
20329 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
20330 Within sort by album, do not sort by artist because it messes up
20331 multi-artist albums. This change will mess up albums that have the same
20332 name however. Should have a sort by album-artist in here though.
20334 2008-01-31 Aaron Bockover <abock@gnome.org>
20336 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellPlaybackIndicator.cs:
20337 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
20338 Remove the little speaker icon in the header of the list view that
20339 represents the column which can hold the playback indicator; apparently
20340 this is confusing and may lead to the expectation of it being clickable
20341 and have it do something; fixes BNC #188717
20343 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Do not try to render
20346 2008-01-31 Aaron Bockover <abock@gnome.org>
20348 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
20349 Push IDisposable services into a dispose stack on startup; unwind this
20350 stack on shutdown, disposing services in the proper (safe) order
20352 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Make
20353 IDisposable and dispose all sources if they are in turn IDisposable
20355 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
20356 * src/Extensions/Banshee.PlayQueue/Resources/GlobalUI.xml:
20357 Added 'clear on quit' support; make IDisposable, clearing the queue
20360 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Finish
20361 porting the naming utility stuff to create proper playlist names; not
20362 actually in use yet
20364 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Get
20365 rid of the params Add method since there are many more ActionEntry
20366 arrays that won't work with params
20368 2008-01-31 Aaron Bockover <abock@gnome.org>
20370 Patch that adds sorting by Disc number and editing it as well from
20371 Will Farrington. Awesomeness.
20373 * src/Core/Banshee.Core/Banshee.Collection/FileTrackInfo.cs:
20374 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs:
20375 * src/Core/Banshee.Core/Banshee.Streaming/CommonTags.cs:
20376 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs:
20377 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
20378 Add backend support for having Track.Disc as a column in TrackInfo
20380 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
20381 Set default sorting, artist, and album sorting to sort with respect to the
20382 disc number; Add QueryField: searchable keywords are "disc" "cd"
20385 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs:
20386 * src/Core/Banshee.ThickClient/Resources/banshee-dialog-ui.xml:
20387 Add Disc field to the Track Editor
20389 2008-01-31 Aaron Bockover <abock@gnome.org>
20391 Patch to enable the preferences dialog by Alex Hixon
20393 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
20394 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
20395 Copy track to library directory if it's not already there and the user
20396 has opted to copy files
20398 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/PreferencesDialog.cs:
20399 Port the preferences dialog from stable
20401 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
20402 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
20403 Added preferences actions
20405 2008-01-30 Aaron Bockover <abock@gnome.org>
20407 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
20408 Make the notification highlight extra sexy with some fade in and out
20410 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
20411 Set the stage duration to 1.5s
20413 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListViewGraphics.cs: DrawRowSelection
20414 has a few new overrides including taking a color
20416 2008-01-30 Aaron Bockover <abock@gnome.org>
20418 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
20419 Ported the animation/timeline code to use Hyena.Gui.Theatrics
20421 * src/Core/Hyena.Gui/Hyena.Gui.Theatrics/SingleActorStage.cs:
20422 A helper stage that will only have up to one actor at a time
20424 2008-01-30 Aaron Bockover <abock@gnome.org>
20426 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
20427 * src/Core/Banshee.Services/Banshee.Sources/Source.cs:
20428 Added UserNotifyUpdated event that sources can use to trigger
20429 notifications or visual cues in the source view
20431 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
20432 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
20433 Use the new Hyena theatre stage/actors to animate update notifications on
20434 source rows in the source views
20436 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListViewGraphics.cs: Added a method
20437 for drawing a flat row highlight
20439 * src/Core/Hyena.Gui/Hyena.Gui.Theatre/Stage.cs: An object that manages
20440 timeouts for a set of Actors bound to targets of T; used for animating
20441 collections of objects bound to actors
20443 * src/Core/Hyena.Gui/Hyena.Gui.Theatre/Actor.cs: An object bound to
20444 a target of T with life span and percentage properties used for animations
20446 * src/Core/Hyena.Gui/Hyena.Widgets/RoundedFrame.cs: Remove redundant
20447 BorderWidth property
20449 2008-01-30 Aaron Bockover <abock@gnome.org>
20451 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
20452 Use the list view theme engine to draw the highlight selection
20454 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListViewGraphics.cs: Make it optional
20455 to draw the row selection fill
20457 2008-01-30 Aaron Bockover <abock@gnome.org>
20459 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CellEditEntry.cs:
20460 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
20461 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
20462 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView_DragAndDrop.cs:
20463 Lots of clean up/reorg of the SourceView code to make it easier to
20464 read and manage; split all of the drag and drop code into a separate
20465 file and SourceView is now a partial class
20467 2008-01-30 Aaron Bockover <abock@gnome.org>
20469 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
20470 Stupid cast to work around possible bug in gmcs 1.2.5
20472 2008-01-30 Aaron Bockover <abock@gnome.org>
20474 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListViewGraphics.cs: Added a DrawFrame
20475 method to simply draw the entire ListView like frame around a rect
20477 * src/Core/Hyena.Gui/Hyena.Widgets/RoundedFrame.cs: A widget like the
20478 standard Gtk.Frame, except it uses our ListViewGraphics to draw a sexy
20479 rounded frame that blends in with the list views
20481 * src/Core/Hyena.Gui/Hyena.Widgets/ScrolledWindow.cs: A custom
20482 ScrolledWindow that proxies Hadjustmend and Vadjustment of the child
20483 of a RoundedFrame if one is added to the ScrolledWindow
20485 * src/Core/Nereid/Nereid/PlayerInterface.cs: Use a Hyena ScrolledWindow
20486 with AddFrame to make the source view TreeView look like our ListView
20487 widgets - dead sexy
20489 2008-01-30 Aaron Bockover <abock@gnome.org>
20491 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
20492 Use the new AddImportant method to make the play queue 'clear' text
20493 show up in the header
20495 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Fixed
20496 Add to be 'new', added AddImportant
20498 2008-01-30 Aaron Bockover <abock@gnome.org>
20500 * build/build.rules.mk: Fixed installation. Yay.
20502 2008-01-30 Ruben Vermeersch <ruben@savanne.be>
20504 Add the basic files for the Audioscrobbler plugin. Nothing functional yet,
20505 just the boilerplate code for the addin.
20507 * build/build.environment.mk: Add refs for Audioscrobbler.
20509 * configure.ac: Add the Audioscrobbler Makefile.
20511 * src/Extensions/Banshee.Audioscrobbler: Added.
20512 * src/Extensions/Banshee.Audioscrobbler/Banshee.Audioscrobbler: Added.
20513 * src/Extensions/Banshee.Audioscrobbler/Banshee.Audioscrobbler/AudioscrobblerService.cs: Added.
20514 * src/Extensions/Banshee.Audioscrobbler/Makefile.am: Added.
20515 * src/Extensions/Banshee.Audioscrobbler/Resources: Added.
20516 * src/Extensions/Banshee.Audioscrobbler/Resources/Banshee.Audioscrobbler.addin.xml: Added.
20518 * src/Extensions/Makefile.am: Add Audioscrobbler.
20520 2008-01-29 Aaron Bockover <abock@gnome.org>
20522 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
20523 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
20524 Fix a few minor rendering issues
20526 2008-01-29 Gabriel Burt <gabriel.burt@gmail.com>
20528 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: New Add
20529 method that takes params ActionEntry [] and sets all the created Actions
20530 as IsImportant=true so if they are used in the toolbar their text will
20533 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
20534 Use new Add(params ActionEntry []) override to add actions.
20536 * src/Core/Nereid/Nereid/PlayerInterface.cs: Set the toolbar style to
20539 * src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs:
20540 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Inherit
20541 from BansheeActionGroup.
20543 2008-01-29 Aaron Bockover <abock@gnome.org>
20545 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
20546 Draw the same cairo selections that the track list view uses, overriding
20547 the crappy GTK selection for the tree view
20549 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
20550 Set up a cairo context and list view graphics for the renderer
20552 2008-01-29 Aaron Bockover <abock@gnome.org>
20554 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs:
20555 Make protected properties public - they should be since they are just
20556 wrappers to functionality that can be used via alternate API
20558 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs:
20559 Automatically load/unload XML UI resources and actions for the active
20560 source if actions and UI are set in the source properties
20562 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
20563 Do not crash if the source context menu is null
20565 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
20566 Reset the highlight on left mouse click
20568 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
20569 Split the XML UI between two definitions since one needs loading/unloading
20570 as the active source changes (the toolbar UI)
20572 * src/Extensions/Banshee.PlayQueue/Resources/ActiveSourceUI.xml: UI
20573 for use when the play queue is the active source
20575 * src/Extensions/Banshee.PlayQueue/Resources/GlobalUI.xml: UI for the
20576 play queue to be loaded at all times
20578 2008-01-29 Aaron Bockover <abock@gnome.org>
20580 * src/Core/Banshee.ThickClient/Banshee.Gui/IHasSourceView.cs: Expose
20583 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Reset
20584 the highlight in the source view when done with the context menu
20586 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
20587 Draw a special highlight for the highlight path
20589 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Add
20590 a concept of a highlight path which is now different from the selected
20591 path to avoid confusion of the selection changing source when using the
20594 * src/Core/Nereid/Nereid/PlayerInterface.cs: Implement ResetHightlight
20596 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
20597 * src/Extensions/Banshee.PlayQueue/Resources/Actions.xml:
20598 Expose a source context menu
20600 2008-01-28 Aaron Bockover <abock@gnome.org>
20602 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Make the status
20603 text much less intrusive with less specificity (display only a single
20604 time scale); do not display any status if there are no tracks
20606 * src/Core/Nereid/Nereid/PlayerInterface.cs: Add some padding to the
20607 bottom of the status bar; change the text color of the status bar to
20608 a nice foreground/background blend to make it less intrusive
20610 2008-01-28 Aaron Bockover <abock@gnome.org>
20612 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
20613 Make the IUnmappable implementation virtual
20615 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
20616 Override CanUnmap, return false
20618 2008-01-28 Gabriel Burt <gabriel.burt@gmail.com>
20620 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
20621 Customize name of Remove Track(s) action.
20623 2008-01-28 Gabriel Burt <gabriel.burt@gmail.com>
20625 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
20626 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Fix brokenness of
20627 confusing Count/Unfiltered count issue; unfortunately no less confusing
20630 2008-01-28 Aaron Bockover <abock@gnome.org>
20632 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
20633 Implemented a clear queue action and set visibility and sensitivity of
20634 the queue actions properly
20636 * src/Extensions/Banshee.PlayQueue/Resources/Actions.xml: Added actions
20638 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
20639 Added some more placeholders
20641 2008-01-28 Gabriel Burt <gabriel.burt@gmail.com>
20643 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
20644 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
20645 Implement SelectAggregates.
20647 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
20648 Add Duration and FileSize properties.
20650 * src/Core/Banshee.Services/Makefile.am:
20651 * src/Core/Banshee.Services/Banshee.Sources/IDurationAggregator.cs:
20652 * src/Core/Banshee.Services/Banshee.Sources/IFileSizeAggregator.cs: New
20653 interfaces for determining if a source has certain properties.
20655 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Implement
20656 both new interfaces.
20658 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: New GetStatusText
20659 method that the interface with default implementation that returns count,
20660 duration, and file size.
20662 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs:
20663 Place VBox inside of Alignment so we can get our top padding, but only
20664 show it when we are shown (instead of spacing in our parent vbox that is
20667 * src/Core/Hyena/Hyena.Data.Query/FileSizeQueryValue.cs: Add new ctor.
20669 * src/Core/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs: Rename variable
20672 * src/Core/Hyena/Hyena.Data.Sqlite/ICacheableDatabaseModel.cs: Add
20673 SelectAggregates property, used by models to load aggregate values (eg
20674 SUM(FileSize) when the count is taken.
20676 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Add support for
20677 SelectAggregate properties. Add AggregatesUpdated event so models can
20678 handle the results of the query themselves (except the count, which we
20681 * src/Core/Banshee.Services/Banshee.Database/BansheeModelProvider.cs:
20682 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Make TableName
20685 * src/Core/Hyena/Hyena.Data/IFilterable.cs: Revert previous
20686 UnfilteredCount -> FilteredCount change.
20688 * src/Core/Nereid/Nereid/PlayerInterface.cs: Add BuildFooter method, add
20689 the status label in the footer, keep it updated as the source track model
20692 2008-01-28 Aaron Bockover <abock@gnome.org>
20694 * src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:
20695 * src/Extensions/Banshee.PlayQueue/Resources/Actions.xml:
20696 * src/Extensions/Banshee.PlayQueue/Resources/Banshee.PlayQueue.addin.xml:
20697 Moved the play queue out of core into an extension
20699 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
20700 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
20701 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
20702 Remove any knowledge of PlayQueue as it's now an extension (awesome)
20704 * src/Core/Banshee.Services/Banshee.Services.addin.xml:
20705 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:
20706 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Created
20707 a new extension point for sources
20709 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
20710 Added a more useful Get method that infers the service name from
20711 the generic type argument passed to it ala typeof (T).Name
20713 2008-01-28 Gabriel Burt <gabriel.burt@gmail.com>
20715 * Makefile.am: add --debug to mono call.
20717 2008-01-28 Aaron Bockover <abock@gnome.org>
20719 * src/Core/Banshee.Services/Banshee.Playlist/PlayQueueSource.cs: Change
20720 the sort order so 'add to play queue' works as expected; override
20721 ConfirmRemoveTracks so a prompt does not invade your life when you
20722 remove from the queue
20724 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
20725 * src/Core/Banshee.Services/Banshee.Sources/ITrackModelSource.cs:
20726 Added ConfirmRemoveTracks
20728 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Do not
20729 confirm if the source does not want you to when removing tracks
20731 2008-01-28 Aaron Bockover <abock@gnome.org>
20733 Okay, 5% to go with the play queue ... it's working
20735 * src/Core/Banshee.Services/Banshee.Playlist/PlayQueueSource.cs: Implement
20736 the actual play queue logic in the proper place this time; remove the
20737 top track when done playing/skipped
20739 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
20740 Added a Transition event that the controller will raise before performing
20741 any transition methods (Next, Previous)
20743 * src/Core/Banshee.Services/Banshee.PlaybackController/IBasicPlaybackController.cs:
20744 * src/Core/Banshee.Services/Banshee.PlaybackController/ICanonicalPlaybackController.cs:
20745 * src/Core/Banshee.Services/Banshee.PlaybackController/IPlaybackController.cs:
20746 Fix up interface dependency chain
20748 2008-01-28 Aaron Bockover <abock@gnome.org>
20750 * src/Core/Banshee.Services/Banshee.PlaybackController/ICanonicalPlaybackController.cs:
20751 Interface for implementing explicitly inside of the playback controller
20752 service that will allow other playback controllers to be used if
20753 defined on a source, yet still allow those controllers to call back
20754 into the canonical controller
20756 * src/Core/Banshee.Services/Banshee.PlaybackController/IPlaybackController.cs:
20757 * src/Core/Banshee.Services/Banshee.PlaybackController/IPlaybackControllerExportable.cs:
20758 Separate the DBus exportable feature of the playback controller into a
20761 * src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
20762 Implement ICanonicalPlaybackController explicitly,
20763 IPlaybackControllerExportable, and if the source bound to the controller
20764 is itself an IPlaybackController, have the implicit implementation of
20765 IPlaybackController in the canonical controller call into the source
20767 2008-01-28 Gabriel Burt <gabriel.burt@gmail.com>
20769 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
20770 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
20771 * src/Core/Hyena/Hyena.Data/IFilterable.cs: Keep the meaning of Count
20772 consistent as the unfiltered count; remove UnfilteredCount property, add
20773 FilteredCount property to IFilterable.
20775 2008-01-28 Gabriel Burt <gabriel.burt@gmail.com>
20777 * src/Core/Hyena/Hyena.Data/ModelCache.cs:
20778 * src/Core/Hyena/Hyena.Data/ArrayModelCache.cs:
20779 * src/Core/Hyena/Hyena.Data/DictionaryModelCache.cs:
20780 * src/Core/Hyena/Makefile.am: Implement different managed caching
20781 strategies in subclasses of ModelCache.
20783 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Subclass from
20784 DictionaryModelCache for now (no practical change for now).
20786 2008-01-28 Aaron Bockover <abock@gnome.org>
20788 * src/Core/Banshee.Services/Banshee.MediaEngine/IPlaybackController.cs:
20789 * src/Core/Banshee.Services/Banshee.MediaEngine/PlaybackControllerDatabaseStack.cs:
20790 * src/Core/Banshee.Services/Banshee.MediaEngine/PlaybackRepeatMode.cs:
20791 * src/Core/Banshee.Services/Banshee.MediaEngine/PlaybackShuffleMode.cs:
20792 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
20793 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs:
20794 Moved playback controller APIs to their own
20795 namespace - Banshee.PlaybackController
20797 * src/Core/Banshee.Services/Banshee.MediaEngine/PlaybackControllerService.cs:
20798 Removed all the play queue stuff I did last night - it was way too late
20799 and was a horrible hack design
20801 2008-01-28 Gabriel Burt <gabriel.burt@gmail.com>
20803 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
20804 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
20805 Implement IUnmapableSource again so Delete Playlist options show up.
20807 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
20808 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Add
20809 NewSmartPlaylistFromSearch action. Doesn't yet do anything.
20811 2008-01-28 Gabriel Burt <gabriel.burt@gmail.com>
20813 * src/Core/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs: Access each char
20814 of the command in place instead of assigning it to a variable, when
20815 scanning it for ?'s.
20817 2008-01-28 Gabriel Burt <gabriel.burt@gmail.com>
20819 * src/Core/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs: Change API.
20820 Used to have ctor(command, int) where int was the number of paramters.
20821 This was used primarily for stored, reused commands. But, this ctor was
20822 ambiguous with the ctor(command, params object [] values), used to create
20823 a command and immediately apply values to it. So, instead of passing the
20824 int, you can now just pass the command, and it will be scanned for '?'.
20826 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
20827 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
20828 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
20829 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs:
20830 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs:
20831 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
20832 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs:
20833 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Use new
20834 HyenaSqliteCommand API.
20836 2008-01-28 Gabriel Burt <gabriel.burt@gmail.com>
20838 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs:
20839 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
20840 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Add
20841 RemoveTrack methods (taking either an int or a LibraryTrackInfo).
20843 2008-01-28 Aaron Bockover <abock@gnome.org>
20847 * src/Core/Banshee.Services/Banshee.MediaEngine/PlaybackControllerService.cs:
20848 Implemented most of the required interaction between the playback
20849 controller and the play queue; the play queue will activate if it is
20850 populated and playback is transitioning from another source
20852 * src/Core/Banshee.Services/Banshee.Playlist/PlayQueueSource.cs:
20853 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs:
20854 Change the way the play queue singleton is assigned so the playback
20855 controller does not require a play queue
20857 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Remove the
20858 plus/add icon on add to playlist
20860 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
20861 Fix something stupid
20863 2008-01-28 Aaron Bockover <abock@gnome.org>
20865 This commit adds about 90% of what's needed for a fully functioning
20866 play queue. Yes, you can has queue. You can has indeed. <3
20868 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
20869 Allow model to have a sort query forced upon it, effectively disabling
20872 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
20873 CorePlaylists has a new column called Special; Special playlists (not 0)
20874 are ignored by the regular static playlist loader
20876 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
20877 Get rid of the IconName property
20879 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs: Use the old
20880 home icon again; make the library source order 1
20882 * src/Core/Banshee.Services/Banshee.Playlist/PlayQueueSource.cs: Hot
20883 sexy new source for the play queue; it's the world's first special
20884 playlist in Banshee
20886 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Do not
20887 load special playlists; return mediocre playlists using yield, instead of
20888 collecting into a temporary list; cope with the fact that IconName was
20889 banished from the base APS
20891 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Load the
20892 hot new play queue source - zomg
20894 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
20895 Also deal with the fact that IconName was banished from APS
20897 * src/Core/Banshee.Services/Banshee.Sources/ITrackModelSource.cs:
20898 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Added a
20899 ShowBrowser property that allows track model sources to mandate whether
20900 or not the user can see the browser
20902 * src/Core/Banshee.Services/Makefile.am:
20903 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/CompositeTrackListView.cs:
20904 Respect ShowBrowser if the active source is an ITrackModelSource, otherwise
20905 never show the browser since that doesn't make sense
20907 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
20908 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
20909 Added the sweet new 'Add to Play Queue' action
20911 * src/Core/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Added
20912 LastInsertRowId, because that is some useful stuff
20914 2008-01-27 Gabriel Burt <gabriel.burt@gmail.com>
20916 * src/Core/Banshee.Core/Banshee.Base/Log.cs: Make ms always 3 digits.
20918 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
20919 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
20920 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
20921 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs:
20922 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs:
20923 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
20924 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
20925 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs: Get
20926 rid of BansheeDbCommand. It didn't add anything useful, and in fact had a
20927 bug that made creating a new playlist not work (and possibly other
20930 * src/Core/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Add debugging
20931 message when executing command out of main thread.
20933 2008-01-27 Ruben Vermeersch <ruben@savanne.be>
20935 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: C#'s
20936 lock statement is re-entrant. Therefore, there's no need to have both
20937 RegisterService and RegisterServiceNoLock.
20939 2008-01-26 Aaron Bockover <abock@gnome.org>
20941 * src/Core/Nereid/Nereid/PlayerInterface.cs: use Pack1, Pack2 to on the
20942 main hpaned widget to outlaw child shrinkage; set sane minimum width
20943 requests on the source view and view container; fix whitespace issues
20945 * src/Core/Banshee.Services/Banshee.MediaEngine/IPlaybackController.cs:
20946 * src/Core/Banshee.Services/Banshee.MediaEngine/PlaybackControllerService.cs:
20947 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
20948 Updated copyright dates
20950 2008-01-26 Aaron Bockover <abock@gnome.org>
20952 * src/Core/Banshee.Services/Banshee.MediaEngine/IPlaybackController.cs:
20953 * src/Core/Banshee.Services/Banshee.MediaEngine/PlaybackControllerService.cs:
20954 Added First method to play the first song in the source
20956 * src/Core/Nereid/Nereid/PlayerInterface.cs: When a source view row
20957 is activated, make it the playback source and begin playing the first
20960 2008-01-26 Aaron Bockover <abockover@novell.com>
20962 Ladies, Gentlemen - I present to you playback against a dedicated source...
20963 This has been probably in the top 3 requested features for the past 2 years
20965 * src/Core/Banshee.Services/Banshee.MediaEngine/PlaybackControllerService.cs:
20966 Perform all source operations from the public Source property; if no
20967 Source has been manually set on the controller, use the default one;
20968 raise the new SourceChanged event when Source is set
20970 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Listen
20971 to PlaybackController.SourceChanged to refresh the GUI
20973 * src/Core/Nereid/Nereid/PlayerInterface.cs: Set the source on the
20974 playback controller to the active source when the user manually
20977 2008-01-26 Aaron Bockover <abockover@novell.com>
20979 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
20980 Remove the old manual ellipize calculations and just let Pango do it now
20981 that we can (it wasn't supported in the binding years back); make source
20982 text bold if it is the playback source, not the selected source
20984 2008-01-26 Aaron Bockover <abockover@novell.com>
20986 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CellEditEntry.cs:
20987 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
20988 Classes pulled out of SourceView.cs, changed from public to internal
20989 since they are meaningless outside of SourceView
20991 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Minor
20992 reorg, audit public API
20994 * src/Core/Hyena.Gui/Hyena.Gui/GtkUtilities.cs: Added ColorBlend method
20995 from the old Banshee.Base.Utilities class to blend two Gdk.Colors
20997 2008-01-26 Aaron Bockover <abockover@novell.com>
20999 * src/Core/Banshee.Core/Banshee.Base/Log.cs: Only show debug message if
21000 we are running in --debug mode
21002 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Spew
21003 some awesome timing/debug messages
21005 * src/Core/Makefile.am: Fix a boo-boo
21007 2008-01-25 Aaron Bockover <abock@gnome.org>
21009 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
21010 Save the artist before the track when importing
21012 2008-01-25 Aaron Bockover <abock@gnome.org>
21014 Patch adds GNOME/DBus multimedia keys support; ported by Alex Hixon
21016 * build/build.environment.mk:
21018 * src/Extensions/Extensions.mds:
21019 * src/Extensions/Makefile.am:
21020 * src/Core/Makefile.am:
21021 * src/Extensions/Banshee.MultimediaKeys/Makefile.am:
21022 * src/Extensions/Banshee.MultimediaKeys/Banshee.MultimediaKeys.mdp: Build
21023 stuff for the multimedia keys extension
21025 * src/Extensions/Banshee.MultimediaKeys/Banshee.MultimediaKeys/MultimediaKeysService.cs:
21026 * src/Extensions/Banshee.MultimediaKeys/Resources/Banshee.MultimediaKeys.addin.xml: MMKeys plugin code/extension
21028 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
21029 Log when a service has started
21031 2008-01-25 Gabriel Burt <gabriel.burt@gmail.com>
21033 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
21034 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
21035 Get rid of unnecessary disctinct () call in query.
21037 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
21038 Add some more indices.
21040 2008-01-25 Gabriel Burt <gabriel.burt@gmail.com>
21042 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
21043 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
21044 Use the CoreCache table to filter artists and albums based on the
21045 currently matching tracks. Means the artist/album lists are filtered as
21046 you filter you tracks.
21048 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
21049 Comment out query debugging.
21051 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Call
21052 OnUpdated after Reloading.
21054 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Comment out timers.
21056 2008-01-25 Gabriel Burt <gabriel.burt@gmail.com>
21058 Smart playlists are migrated and saved now. They should be functional.
21060 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
21061 Add playlistid and smartplaylistid fields for smart playlist migration.
21063 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
21064 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Call DbId
21065 setter from subclasses, not in base ctor.
21067 * src/Core/Banshee.Services/Banshee.SmartPlaylist/Migrator.cs: Improve to
21068 actually be able to migrate the vast majority of smart playlists
21069 including relative date queries and between queries.
21071 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistCore.cs:
21072 Remove debug output.
21074 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
21075 Don't allow removing tracks, and change to revolve about Hyena.Data.Query
21076 query tree instead of a SQL condition string.
21078 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Don't allow
21079 overriding of Reload method, since it's really RateLimitedReload
21080 subclasses want to override.
21082 * src/Core/Hyena/Hyena.Data.Query/DateQueryValue.cs: Actually generate
21083 relative date queries, and expose relevant properties.
21085 * src/Core/Hyena/Hyena.Data.Query/QueryField.cs: For StringQueryValue
21086 fields that don't have a custom format, automatically match both literally
21087 and against both the column and value lowercased.
21089 * src/Core/Hyena/Hyena.Data.Query/QueryNode.cs: Add option to print pretty
21092 * src/Core/Hyena/Hyena.Data.Query/QueryOperator.cs: Add a Dual property
21093 that flips < and > characters.
21095 * src/Core/Hyena/Hyena.Data.Query/XmlQueryParser.cs: Add static
21096 convenience method for parsing.
21098 2008-01-25 Aaron Bockover <abock@gnome.org>
21100 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
21101 Patch from Alex Hixon to fix the segfault that would sometimes occur
21102 when changing tracks; happened when playing a track without cover art,
21103 then a track with cover art, then a track without
21105 2008-01-24 Gabriel Burt <gabriel.burt@gmail.com>
21107 * src/Core/Banshee.Core/Makefile.am:
21108 * src/Core/Banshee.Core/Banshee.Base/RateLimiter.cs: New class that makes
21109 it easy to rate limit a given method.
21111 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs: Do
21112 the actual import on the main thread.
21114 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Rate limit
21115 the Reload method - ensuring no matter how often it's called, it won't
21116 actually be executed so much it degrades overall performance.
21118 * src/Core/Banshee.Services/Banshee.Sources/ISourceManager.cs:
21119 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Add setter
21122 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs: Use GetValue and
21123 SetValue methods of PropertyInfo objects instead of GetGetMethod etc.
21125 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: For the Insert
21126 command, set the value of the primary key to null so Sqlite will set it
21129 2008-01-24 Gabriel Burt <gabriel.burt@gmail.com>
21131 * HACKING: Add link to online version of "Framework Design Guidelines"
21133 2008-01-24 Aaron Bockover <abockover@novell.com>
21135 * src/Core/Banshee.Services/Banshee.Metadata.Rhapsody/RhapsodyQueryJob.cs:
21136 Try to download the 500px and then fall back to the 170px; awesome hires
21139 * src/Core/Banshee.Services/Banshee.Metadata/MetadataService.cs:
21140 Prefer the rhapsody provider over musicbrainz for fetching cover art
21141 now that we can get hires from rhapsody
21143 * src/Core/Banshee.Services/Banshee.Metadata.MusicBrainz/MusicBrainzQueryJob.cs:
21144 Print some debug stuff
21146 2008-01-24 Gabriel Burt <gabriel.burt@gmail.com>
21148 Patch from Alexander Hixon <hixon.alexander@mediati.org>.
21150 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
21151 * src/Core/Banshee.Services/Banshee.Equalizer/EqualizerManager.cs:
21152 * src/Core/Banshee.Services/Banshee.Equalizer/EqualizerSetting.cs:
21153 * src/Core/Banshee.Services/Banshee.Equalizer/EqualizerSettingEvent.cs:
21154 * src/Core/Banshee.Services/Banshee.MediaEngine/IEqualizer.cs:
21155 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngine.cs:
21156 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
21157 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerBandScale.cs:
21158 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerLevelsBox.cs:
21159 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerPresetComboBox.cs:
21160 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerView.cs:
21161 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerWindow.cs:
21162 * src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs: Conform to
21165 * src/Core/Banshee.ThickClient/Resources/banshee-dialogs.glade: Make
21166 equalizer window a dialog not utility window, ensuring it comes to top.
21168 2008-01-24 Gabriel Burt <gabriel.burt@gmail.com>
21170 * src/Core/Banshee.Core/Banshee.Base/Utilities.cs:
21171 * src/Core/Hyena/Hyena/Utilities.cs:
21172 * src/Core/Hyena/Hyena/Timer.cs: Move Timer and DateTimeUtils to Hyena.
21174 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
21175 Disambiguate which Timer to use.
21177 * src/Core/Hyena/Timer.cs: Remove, replaced by Hyena/Timer.cs.
21179 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
21180 Remove unnecessary assignment.
21182 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
21183 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
21184 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
21185 Wrap IDataReader in using.
21187 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
21188 Add using Hyena for DateTimeUtils.
21190 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
21191 Pass field_set to BuildTree methods, and update QueryField constructors
21192 with new QueryValue setup. Remove Date and FileSize modifier functions.
21194 * src/Core/Banshee.Services/Banshee.SmartPlaylist/Migrator.cs: Use new
21197 * src/Core/Hyena/Hyena.Data.Query/QueryValue.cs:
21198 * src/Core/Hyena/Hyena.Data.Query/StringQueryValue.cs:
21199 * src/Core/Hyena/Hyena.Data.Query/IntegerQueryValue.cs:
21200 * src/Core/Hyena/Hyena.Data.Query/FileSizeQueryValue.cs:
21201 * src/Core/Hyena/Hyena.Data.Query/DateQueryValue.cs: New files/classes
21202 that provider parsers and generators for XML/user-query for different data
21203 types. Replace QueryField Modifiers.
21205 * src/Core/Hyena/Hyena.Data.Query/QueryField.cs: Fields now have a
21206 ValueType associated with them, one of the four QueryValue subclasses
21207 above. Turn fields into properties.
21209 * src/Core/Hyena/Hyena.Data.Query/QueryFieldSet.cs: Add this [] accessor.
21211 * src/Core/Hyena/Hyena.Data.Query/QueryListNode.cs: Avoid crashing when
21212 trimming a QueryNode tree that has only a childless NOT node.
21214 * src/Core/Hyena/Hyena.Data.Query/QueryTermNode.cs: Remove Operator class.
21215 Replace string Field and Value fields with QueryField and QueryValue
21218 * src/Core/Hyena/Hyena.Data.Query/QueryOperator.cs: Split into its own
21219 file. Was previously inside QueryTermNode.
21221 * src/Core/Hyena/Hyena.Data.Query/QueryParser.cs:
21222 * src/Core/Hyena/Hyena.Data.Query/XmlQueryParser.cs:
21223 * src/Core/Hyena/Hyena.Data.Query/UserQueryParser.cs: Require a
21224 QueryFieldSet for BuildTree method so we can user the relevant ValueType
21225 for each QueryField as we parse it.
21227 * src/Core/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Add temporary
21228 debugging messages.
21230 * src/Core/Hyena/Makefile.am: Add new files, remove old Timer.cs.
21232 2008-01-24 Gabriel Burt <gabriel.burt@gmail.com>
21234 * src/Core/Banshee.Core/Resources/contributors.xml: Credit for previous
21235 patch, accidentally not committed.
21237 2008-01-24 Gabriel Burt <gabriel.burt@gmail.com>
21239 * src/Core/Banshee.ThickClient/Resources/banshee-dialogs.glade: Part of
21240 previous patch, forgot to commit.
21242 2008-01-24 Gabriel Burt <gabriel.burt@gmail.com>
21244 Patch from Alexander Hixon <hixon.alexander@mediati.org>.
21246 * src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs:
21247 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerView.cs:
21248 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerPresetComboBox.cs:
21249 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerBandScale.cs:
21250 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerLevelsBox.cs:
21251 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerWindow.cs:
21252 * src/Core/Banshee.ThickClient/Makefile.am:
21253 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
21254 * src/Core/Banshee.Services/Banshee.Equalizer/EqualizerManager.cs:
21255 * src/Core/Banshee.Services/Banshee.Equalizer/EqualizerSetting.cs:
21256 * src/Core/Banshee.Services/Banshee.Equalizer/EqualizerSettingEvent.cs:
21257 * src/Core/Banshee.Services/Banshee.Services.mdp:
21258 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngine.cs:
21259 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
21260 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineState.cs:
21261 * src/Core/Banshee.Services/Banshee.MediaEngine/IEqualizer.cs:
21262 * src/Core/Banshee.Services/Makefile.am:
21263 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs:
21264 * libbanshee/gst-playback-0.10.c: Added support for graphical equalizer.
21267 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineState.cs:
21268 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs: Added
21269 new PlayerEngineState.Initalized state type; fired when engine has
21270 initialized itself. Required for the equalizer to enable the user's last
21271 preset just after the engine starts.
21273 2008-01-22 Gabriel Burt <gabriel.burt@gmail.com>
21275 * src/Core/Banshee.Base/Banshee.Equalizer.Gui/*:
21276 * src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/*: Move.
21278 * src/Core/Banshee.Base/Banshee.Equalizer/*:
21279 * src/Core/Banshee.Services/Banshee.Equalizer/*: Move.
21281 2008-01-22 Gabriel Burt <gabriel.burt@gmail.com>
21283 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Avoid NRE, thanks
21286 2008-01-20 Ruben Vermeersch <ruben@savanne.be>
21288 * ext/Makefile.MonoDevelop: Do it a bit nicer by using make's $(CURDIR).
21290 2008-01-20 Scott Peterson <lunchtimemama@gmail.com>
21292 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
21293 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
21294 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
21295 Got rid of DbId setter (not used).
21297 2008-01-20 Scott Peterson <lunchtimemama@gmail.com>
21299 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs:
21300 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs:
21301 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
21302 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
21303 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
21304 Consolidated save logic.
21306 2008-01-20 Scott Peterson <lunchtimemama@gmail.com>
21308 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs:
21309 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseColumnAttribute.cs: Got rid of
21310 unnecessary private variables.
21312 2008-01-19 Scott Peterson <lunchtimemama@gmail.com>
21314 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs: Cleaned up
21315 CheckVersion and CheckTable, beautified
21317 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs: Dealt with new
21318 type names and cleaned up.
21320 * src/Core/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Reworked
21321 TableExitst and added new convenience methods IndexExitsts,
21322 GetSchema, and QueryString. Also added more overloads to QueryInt32
21324 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Made IndexOf to
21327 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseColumnAttribute.cs: Renamed
21328 DatabaseColumnBaseAttribute to AbstractDatabaseColumnAttribute and
21329 renamed DatabaseVirtualColumnAttribute to
21330 VirtualDatabaseColumnAttribute.
21332 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs,
21333 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
21334 Dealt with new type names
21336 2008-01-19 Ruben Vermeersch <ruben@savanne.be>
21338 * ext/Makefile.MonoDevelop: Fix the MonoDevelop build on Ubuntu. Ubuntu
21339 uses dash instead of bash for the /bin/sh symlink. Dash however doesn't
21342 2008-01-19 Scott Peterson <lunchtimemama@gmail.com>
21344 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Oops.
21346 2008-01-19 Scott Peterson <lunchtimemama@gmail.com>
21348 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Now with even more
21351 2008-01-19 Scott Peterson <lunchtimemama@gmail.com>
21353 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Improved IndexOf
21354 with first_order_id caching.
21356 2008-01-18 Scott Peterson <lunchtimemama@gmail.com>
21358 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Minor fix for last
21361 2008-01-18 Scott Peterson <lunchtimemama@gmail.com>
21363 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Implimented
21364 IndexOf() using SQL MAGIC!
21366 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
21367 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
21368 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
21369 Removed now superfluous DbIndex
21371 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
21374 * src/Core/Banshee.Services/Banshee.Database/BansheeModelProvider.cs: Got
21375 rid of now superfluous IDatabaseItem type
21377 * src/Core/Banshee.Services/Banshee.Database/BansheeModelCache.cs:
21378 Rejiggered generic constraints
21380 2008-01-18 Scott Peterson <lunchtimemama@gmail.com>
21382 * src/Core/Banshee.Services/Banshee.MediaEngine/PlaybackControllerService.cs:
21383 Makes sure playback doesn't barf when there is no next track to play.
21385 2008-01-18 Scott Peterson <lunchtimemama@gmail.com>
21387 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseAttributes.cs:
21388 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs:
21389 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseColumnAttribute.cs:
21390 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
21391 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
21392 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
21393 * src/Core/Banshee.Services/Banshee.Database/BansheeModelProvider.cs: Got
21394 rid of DatabaseTableAttribute
21396 2008-01-18 Gabriel Burt <gabriel.burt@gmail.com>
21398 * src/Core/Hyena/Makefile.am:
21399 * src/Core/Hyena/Hyena.Data.Sqlite/SqilteModelCache.cs:
21400 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs: Fix typo.
21402 2008-01-18 Scott Peterson <lunchtimemama@gmail.com>
21404 * src/Core/Hyena/Hyena.Data.Sqlite/ModelProvider.cs:
21405 * src/Core/Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs:
21406 * src/Core/Banshee.Services/Banshee.Database/BansheeModelProvider.cs:
21407 Renamed ModelProvider to SqliteModelProvider
21409 * src/Core/Hyena/Hyena.Data.Sqlite/ModelCache.cs:
21410 * src/Core/Hyena/Hyena.Data.Sqlite/SqilteModelCache.cs:
21411 * src/Core/Banshee.Services/Banshee.Database/BansheeModelCache.cs: Renamed
21412 ModelCache to SqliteModelCache
21414 2008-01-18 Gabriel Burt <gabriel.burt@gmail.com>
21416 * data/banshee.desktop.in.in: Merge x-content/* support from stable.
21418 2008-01-17 Scott Peterson <lunchtimemama@gmail.com>
21420 * src/Core/Hyena/Hyena.Data.Sqlite/ModelProvider.cs: Renamed from
21421 DatabaseModel for consistancy and rejiggered
21423 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseAttributes.cs: Added
21424 DatabaseTableAttribute
21426 * src/Core/Hyena/Hyena.Data.Sqlite/ModelCache.cs: Renamed from
21427 DatabaseModelCache for consistancy and rijiggered
21429 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseModel.cs: Renamed
21432 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseColumnAttribute.cs: Renamed to
21433 DatabaseAttributes.cs
21435 * src/Core/Hyena/Hyena.Data.Sqlite/ICacheableDatabaseModel.cs: Removed
21436 subsumed and obsolete members
21438 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseModelCache.cs: Renamed
21441 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
21442 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
21443 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
21444 Made to use new DatabaseTable attribute
21446 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
21447 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
21448 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
21449 Removal of subsumed and obsolete members
21451 * src/Core/Banshee.Services/Banshee.Database/BansheeDatabaseModel.cs:
21452 Renamed to BansheeModelProvider.cs
21454 * src/Core/Banshee.Services/Banshee.Database/BansheeDatabaseModelCache.cs:
21455 Renamed to BansheeModelCache.cs
21457 * src/Core/Banshee.Services/Banshee.Database/BansheeModelProvider.cs:
21458 Whitespace fixes and TableName/ModelVersion removal
21460 * src/Core/Banshee.Services/Banshee.Database/BansheeModelCache.cs: Generics
21463 2008-01-17 Gabriel Burt <gabriel.burt@gmail.com>
21465 * src/Core/Hyena/Hyena.Data.Query/QueryFieldSet.cs: New file, forgot to commit.
21467 2008-01-17 Gabriel Burt <gabriel.burt@gmail.com>
21469 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
21470 Add English aliases to all QueryFields in addition to the translated ones,
21471 so English aliases will always be available. Change the mimetype field to
21472 match on both MimeType and Uri columns.
21474 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Add
21475 SmartPlaylistCore service.
21477 * src/Core/Banshee.Services/Banshee.SmartPlaylist/Migrator.cs: Move old
21478 smart playlist operator code here for migration purposes. Migration now
21479 works for all conditions except time-based ones (LastPlayed/DateAdded),
21480 but the migrated result is only saved during each session until the
21481 migrator is finalized.
21483 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Explicitly
21484 pass the operator to use for 'match similar' actions.
21486 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/QueryBuilder.cs:
21487 Move much old code that will be replaced with Hyena.Data.Query code. Move
21488 code needed to migrate from old format to new format into Migrator.
21490 * src/Core/Hyena/Hyena.Data.Query/QueryField.cs: Add a translated label to
21491 Field, split FieldSet off into it's own file.
21493 * src/Core/Hyena/Hyena.Data.Query/QueryListNode.cs:
21494 * src/Core/Hyena/Hyena.Data.Query/QueryNode.cs: Change ToXml method to
21495 take a QueryFieldSet. Change ToString to output the user query.
21497 * src/Core/Hyena/Hyena.Data.Query/QueryTermNode.cs: Fix whitespace, change
21498 Sql appends to use Field's FormatSql method allowing for a field to map to
21499 multiple database columns.
21501 * src/Core/Hyena/Makefile.am: Add QueryFieldSet.
21503 2008-01-17 Gabriel Burt <gabriel.burt@gmail.com>
21505 * src/Core/Hyena/Hyena.Data.Sqlite/CacheableDatabaseModel.cs: Remove.
21507 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseModelCache.cs: Time FetchSet.
21509 2008-01-17 Scott Peterson <lunchtimemama@gmail.com>
21511 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseModel.cs: Added new Load
21512 overload, uncommendted some methods
21514 * src/Core/Hyena/Hyena.Data.Sqlite/ICacheableDatabaseModel.cs,
21515 src/Core/Hyena/Hyena.Data.Sqlite/DatabaseModelCache.cs,
21516 src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs,
21517 src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs,
21518 src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
21519 Changed GetItemFromReader to Load
21521 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs,
21522 src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
21523 Inherited from IDatabaseItem and added DbIndex { set; }
21525 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
21526 Inherited from IDatabaseItem and made DbIndex { set; } public
21528 * src/Core/Banshee.Services/Banshee.Database/BansheeDatabaseModel.cs:
21529 Implemented MakeNewObject
21531 2008-01-17 Scott Peterson <lunchtimemama@gmail.com>
21533 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Eliminated
21534 an unnecessary comparison.
21536 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
21539 2008-01-17 Scott Peterson <lunchtimemama@gmail.com>
21541 * src/Core/Hyena/Hyena.Data/ModelCache.cs,
21542 src/Core/Hyena/Hyena.Data.Sqlite/DatabaseModelCache.cs: These changes
21543 are already obsolete by Gabriel's work.
21545 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
21546 Fix for correctly translating Uris from the db.
21548 * src/Core/Banshee.Services/Banshee.Database/BansheeDatabaseModelCache.cs:
21549 Made constant strings even more constant.
21551 2008-01-16 Gabriel Burt <gabriel.burt@gmail.com>
21553 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeCacheableModelAdapter.cs:
21556 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeDatabaseModelCache.cs:
21557 * src/Core/Banshee.Services/Banshee.Database/BansheeDatabaseModelCache.cs:
21558 Move from Banshee.Collection.Database to Banshee.Database.
21560 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeModelProvider.cs:
21561 * src/Core/Banshee.Services/Banshee.Database/BansheeDatabaseModel.cs:
21564 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
21565 Remove unused methods.
21567 * src/Core/Banshee.Services/Makefile.am:
21568 * src/Core/Banshee.Services/Banshee.Database/TableSchema.cs: Remove.
21570 * src/Core/Hyena/Makefile.am:
21571 * src/Core/Hyena/Hyena.Data.Sqlite/IDatabaseModel.cs: Rename to
21572 ICacheableDatabaseModel.
21574 2008-01-16 Gabriel Burt <gabriel.burt@gmail.com>
21576 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
21577 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
21578 Use new provider and cache classes.
21580 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeDatabaseModelCache.cs:
21581 Override DatabaseModelCache to set Banshee-specific table names.
21583 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeModelProvider.cs:
21584 Make not abstract, add ctor that takes table name. Remove cache old
21587 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
21588 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
21589 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
21590 Intantiate a static BansheeModelProvider for each class, and make it
21591 available via a public static property. Use it for insert/update. Bind
21592 columns for Artist/Album.
21594 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
21595 Get rid of internal Provider class, instead use new provider/cache
21598 * src/Core/Banshee.Services/Makefile.am: Add BansheeDatabaseModelCache,
21599 remove IDatabaseModel and BansheeCacheableModelAdapter.
21601 * src/Core/Hyena/Hyena.Data.Sqlite/CacheableDatabaseModel.cs: Inherit from
21602 DatabaseModel<T> and implement ICacheableDatabaseModel<T>. Move database
21603 cache methods into DatabaseModelCache class.
21605 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseModel.cs: Comment out Fetch*
21608 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseModelCache.cs: New file,
21609 very similar to old BansheeCacheableModelAdapter with updates from
21610 CacheableDatabaseModel.
21612 * src/Core/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Add
21613 TableExists method. Wrap database queries in try/catch since otherwise
21614 you get neither the full failed query or useful stack trace.
21616 * src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseModel.cs:
21617 * src/Core/Hyena/Hyena.Data.Sqlite/IDatabaseModel.cs: Move to Hyena,
21618 rename class to ICachableDatabaseModel (will mv file in next commit).
21620 * src/Core/Hyena/Hyena.Data/CacheableModelAdapter.cs:
21621 * src/Core/Hyena/Hyena.Data/ModelCache.cs: Rename ModelCache.
21623 * src/Core/Hyena/Makefile.am: Renames, new IDatabaseModel file.
21625 2008-01-15 Scott Peterson <lunchtimemama@gmail.com>
21627 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeModelProvider.cs:
21628 Temporarily disabled Persistant caches until we can fix a bug.
21630 2008-01-15 Scott Peterson <lunchitmemama@gmail.com>
21631 * HACKING: Space before parens.
21633 2008-01-15 Gabriel Burt <gabriel.burt@gmail.com>
21635 * src/Core/Hyena/Hyena.Data.Sqlite/CacheableDatabaseModel.cs:
21636 * src/Core/Hyena/Hyena.Data.Sqlite/CacheableDatabaseModelProvider.cs:
21637 Rename, whitespace.
21639 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseModel.cs:
21640 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseModelProvider.cs:
21641 Rename and split inner classes into their own files.
21643 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs:
21644 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseColumnAttribute.cs:
21645 * src/Core/Hyena/Makefile.am: New files containing classes split from
21646 DatabaseModelProvider. Rename DatabaseBindingFlags to
21647 DatabaseColumnConstraints.
21649 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeModelProvider.cs:
21650 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
21651 Use new class names.
21653 * src/Core/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs:
21654 * src/Core/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Whitespace.
21656 2008-01-15 Gabriel Burt <gabriel.burt@gmail.com>
21658 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
21659 * src/Core/Hyena/Hyena.Data.Sqlite/CacheableDatabaseModelProvider.cs:
21660 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseModelProvider.cs:
21661 * src/Core/Hyena/Hyena.Data.Sqlite/HyenaDbConnection.cs:
21662 * src/Core/Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs:
21663 * src/Core/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs:
21664 * src/Core/Hyena/Makefile.am: Rename HyenaDbConnection/Command to
21665 HyenaSqliteConnection/Command and split HyenaDbCommand into its own file.
21667 2008-01-15 Gabriel Burt <gabriel.burt@gmail.com>
21669 * src/Core/Hyena/Hyena.Data.Sqlite/CacheableDatabaseModelProvider.cs:
21670 * src/Core/Hyena/Hyena.Data.Sqlite/DatabaseModelProvider.cs:
21671 * src/Core/Hyena/Hyena.Data.Sqlite/HyenaDbConnection.cs:
21672 * src/Core/Hyena/Makefile.am: Create new namespace Hyena.Data.Sqlite for
21673 database/sqlite specific classes moved from Hyena.Data.
21675 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeModelProvider.cs:
21676 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
21677 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs: Add
21678 using Hyena.Data.Sqlite;
21680 2008-01-15 Scott Peterson <lunchtimemama@gmail.com>
21682 * src/Core/Hyena/Hyena.Data/HyenaDbConnection.cs: An abstraction of
21683 BansheeDbConnection/COmmand
21684 * src/Core/Hyena/Hyena.Data/DatabaseModelProvider.cs: Added.
21685 * src/Core/Hyena/Hyena.Data/CacheableDatabaseModelProvider.cs: Added. This
21686 class functionally inherits from both CacheableModelAdapter and
21687 DatabaseModelProvider.
21688 * src/Core/Hyena/Hyena.Data/CacheableModelAdapter.cs: Added Add() method.
21689 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeModelProvider.cs:
21690 Added. This will replace BansheeCacheableModelAdapter.
21691 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
21692 Modified to use new model provider system.
21693 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
21694 Added Provider inner class which inherits from BansheeModelProvider.
21695 Made to use that inner class.
21696 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
21697 Abstracted into Hyena.
21698 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Made MimeType and
21700 * build/build.environment.mk: Added sql-related dependancies to Hyena's
21703 2008-01-11 Aaron Bockover <abockover@novell.com>
21705 * src/Core/Banshee.Core/Banshee.Base/Paths.cs: Added
21706 MakePathRelativeToLibrary to extract the relative path from a URI for
21707 storing into the DB
21709 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Added FileSize
21710 and DiscNumber properties
21712 * src/Core/Banshee.Core/Banshee.IO/Interfaces.cs:
21713 * src/Core/Banshee.Core/Banshee.IO/SystemIO.cs:
21714 * src/Core/Banshee.Core/Banshee.IO/Unix.cs:
21715 * src/Core/Banshee.Core/Banshee.IO/GnomeVfs.cs: Added File.GetSize
21717 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs: Use
21718 Banshee.IO.IOProxy.File.GetSize to set TrackInfo.FileSize
21720 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
21721 Perform two path checks (relative and absolute) in ContainsUri; support
21722 FileSize and DiscNumber properties
21724 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
21725 Added FileSize and DiscNumber columns to CoreTracks
21727 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
21730 * src/Core/Hyena/Hyena.Data.Query/QueryField.cs: Added term modifier
21731 support for handling special strings like '50MB' or 'yesterday'
21733 * src/Core/Hyena/Hyena.Data.Query/QueryTermNode.cs: Fix EmitNumericMatch
21734 and EmitStringMatch to use the new QueryField.Modifier support; fix
21735 parsing in EmitNumericMatch to support 64 bit integers which are useful
21736 for times and file sizes
21738 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
21739 Implemented FileSizeModifier and DateTimeModifier methods to support
21740 nice file size and date/time string formats like '40MB'; added three
21741 new fields (FileSize, DateAddedStamp, LastPlayedStamp)
21743 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs:
21744 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
21745 Change references from CoreTracks.RelativeUri to CoreTracks.Uri
21747 2008-01-11 Gabriel Burt <gabriel.burt@gmail.com>
21749 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeCacheableModelAdapter.cs:
21750 Temporarily disable persistent caching. We should probably cache the
21751 unfiltered membership of a model and the filtered separately.
21753 2008-01-10 Aaron Bockover <abockover@novell.com>
21755 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
21756 Show/Hide the cover art popup only when the cursor enters the actual
21757 cover art thumbnail, not the entire widget
21759 2008-01-10 Aaron Bockover <abockover@novell.com>
21761 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs:
21762 Do some exception handling for crappy invalid pixbufs
21764 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
21765 Handle TrackInfoUpdated events from the player engine and only start
21766 the transition when we are already not in one; cover art is now downloaded
21767 properly and shown in the track header when the song plays
21769 2008-01-10 Gabriel Burt <gabriel.burt@gmail.com>
21771 * src/Core/Hyena/Hyena.Data.Query/QueryNode.cs: Add ToUserQuery method to
21772 rebuild what a user would type in the search bar from the object tree.
21773 Add AppendXml and AppendUserQuery abstract methods.
21775 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
21776 For testing purposes, when a user searches, parse the query into the
21777 QueryNode tree, generate XML from that, and then parse the XML.
21779 * src/Core/Hyena/Hyena.Data.Query/QueryListNode.cs: Implement
21782 * src/Core/Hyena/Hyena.Data.Query/QueryTermNode.cs: Add Operator class and
21783 implement AppendUserQuery and AppendXml. Generate XESAM-like XML (with
21784 the goal of being compliant).
21786 * src/Core/Hyena/Hyena.Data.Query/QueryParser.cs:
21787 * src/Core/Hyena/Hyena.Data.Query/UserQueryParser.cs: Update copyright.
21789 * src/Core/Hyena/Makefile.am:
21790 * src/Core/Hyena/Hyena.Data.Query/XmlQueryParser.cs: New file for parsing
21791 XML queries into QueryNode trees.
21793 2008-01-10 Aaron Bockover <abock@gnome.org>
21795 * src/Core/Banshee.Services/Banshee.Streaming/RadioTrackInfo.cs:
21796 Set CanPlay attribute
21798 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
21799 Enable all the metadata service glory again now that the services are
21800 actually ported over. Awesome.
21802 2008-01-10 Aaron Bockover <abock@gnome.org>
21804 * src/Core/Banshee.Core/Banshee.Base/CoverArtSpec.cs: A small API that
21805 provides a layer of query/ID generation methods for the local disk cover
21808 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs:
21809 Updated to use the new CoverArtSpec APIs
21811 * src/Core/Banshee.Services/Banshee.Metadata:
21812 * src/Core/Banshee.Services/Banshee.Metadata.MusicBrainz:
21813 * src/Core/Banshee.Services/Banshee.Metadata.Embedded:
21814 * src/Core/Banshee.Services/Banshee.Metadata.Rhapsody: Ported the
21815 Metadata Services Stack from stable; updated to run in the services layer
21816 so no Gdk/GUI libraries are required; use new CoverArtSpec APIs
21818 * src/Core/Banshee.Services/Banshee.Networking: Ported the networking
21821 2008-01-05 Aaron Bockover <abock@gnome.org>
21823 Merge of Scott Peterson's XML configuration client backend to enable
21824 configuration saving on Windows (or any place where GConf is fugly)
21826 * src/Core/Banshee.Core/Banshee.Configuration/XmlConfigurationClient.cs:
21827 The actual XML backend
21829 * src/Core/Banshee.Core/Banshee.Configuration/ConfigurationClient.cs:
21830 Now selects the appropriate configuration backed for the system (GConf
21831 for Unix, Xml for others)
21833 2008-01-04 Gabriel Burt <gabriel.burt@gmail.com>
21835 This commit makes big strides in porting smart playlists and playlist
21836 import/export. Neither are yet really functional (though smart playlists
21837 appear in the sources list).
21839 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistFileUtil.cs:
21840 * src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs: Move, update
21841 whitespace, start porting (replace verification w/ sqlite on conflict
21842 ignore), greatly simplify.
21844 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeCacheableModelAdapter.cs:
21845 Take uuid argument in the constructor to be able to persist the cache
21846 across Banshee sessions. This will mean faster startup because all
21847 sources will not have to be reloaded on startup.
21849 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
21850 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
21851 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
21852 Uuid ctor changes. On first reload, if cache is already warm (from
21853 previous session), use it instead of regenerating it. Make
21854 TrackListDatabaseModel's GetSort method public for use by smart playlists.
21856 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs: Put
21857 migration code into separate method. Remove listeners after complete.
21859 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
21860 Add on conflict ignore clause to TrackID in CorePlaylistEntries. Add
21861 OrderDir column to CoreSmartPlaylists. Create CoreCacheModels table, the
21862 basis for persistent cache. Migrate smart playlists.
21864 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
21865 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs: Add uuid in
21868 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
21869 Replace static properties with abstract instance properties; static
21870 properties from various subclasses conflict; whoops.
21872 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Override
21873 AbstractPlaylist properties.
21875 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Do not
21876 load smart playlists here, let the SmartPlaylistCore do that.
21878 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Add
21879 SmartPlaylistCore service. Currently commented out.
21881 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
21882 Start porting, ripping out old code that depended on having references to
21883 every TrackInfo in the library. Currently does not reload when tracks
21886 * src/Core/Banshee.Services/Banshee.Web/Browser.cs: Add commented out
21889 * src/Core/Banshee.Services/Makefile.am: Add ported files.
21891 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Add commented
21892 out Editor calls for OnNewSmartPlaylist handler.
21894 * src/Core/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:
21895 * src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:
21896 * src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:
21897 * src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs: Move
21900 * src/Core/Banshee.Services/Banshee.SmartPlaylist/Migrator.cs: New file
21901 for migrating from the old, very hard to change smart playlist definition
21902 format to the new one. Does not yet actually migrate the condition.
21904 * src/Core/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistCore.cs:
21905 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistCore.cs:
21906 Move and start the many changes needed to get smart playlists working.
21907 For example, remove all Gtk references, call the Migrator code, and don't
21908 listen to every single TrackInfo in the library.
21910 * src/Core/Hyena/Hyena.Data.Query/QueryTermNode.cs: Set default op to ":".
21912 * src/Core/Hyena/Hyena.Data.Query/UserQueryParser.cs: Support commas for
21913 specifying OR terms, eg foo, bar is equivalent to foo OR bar.
21915 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellDateTime.cs:
21916 Avoid crashing when bound object is null.
21918 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
21919 Use capitalized sort parameters.
21921 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Add
21922 property for easy access to the main Window.
21924 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Add first
21925 pass at porting/implementing OnImportPlaylist handler.
21927 2008-01-04 Gabriel Burt <gabriel.burt@gmail.com>
21929 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/CompositeTrackListView.cs:
21930 Lower case prepositions fewer than four letters long in menu items.
21932 2008-01-04 Gabriel Burt <gabriel.burt@gmail.com>
21934 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
21935 Tweak debug output.
21937 * src/Core/Hyena/Hyena.Data.Query/QueryTermNode.cs: Add support for other
21938 operators (= == > < >= <=). Implement = or == on a text field as 'starts
21941 * src/Core/Hyena/Hyena.Data.Query/UserQueryParser.cs: Add support for |
21942 and || for OR, and fix a bug with sub clauses.
21944 2008-01-04 Gabriel Burt <gabriel.burt@gmail.com>
21946 * src/Core/Hyena/Hyena.Data.Query/QueryKeywordNode.cs: Remove, put
21947 functionality in QueryListNode.
21949 * src/Core/Hyena/Hyena.Data.Query/QueryNode.cs: Add ToSql and ToXml
21950 methods, and AppendSql, AppendXml, and Trim abstract methods.
21952 * src/Core/Hyena/Hyena.Data.Query/QueryListNode.cs:
21953 * src/Core/Hyena/Hyena.Data.Query/QueryTermNode.cs: Implement AppendSql
21954 and AppendXml methods. Change QueryListNode to have a keyword - an operator,
21955 eg and/or/not - associated with it.
21957 * src/Core/Hyena/Hyena.Data.Query/QueryParser.cs: Make an abstract class,
21958 moving user entered search logic into UserQueryParser. The idea is to have
21959 an XmlQueryParser too, for use with smart playlists.
21961 * src/Core/Hyena/Hyena.Data.Query/SqlQueryGenerator.cs: Remove, this
21962 functionality is available via QueryNode.ToXml.
21964 * src/Core/Hyena/Hyena.Data.Query/UserQueryParser.cs: New subclass of
21965 QueryParser for parsing user-entered searches. Change the parser to
21966 generate a tree of And/Or clauses, instead a tree of lists that contain
21967 them and QueryTermNodes inline. With some post-construction trimming,
21968 this ensures that the generated tree is a valid boolean function (and
21969 means all the validation code in SqlQueryGenerator is not needed to
21970 produce valid SQL anymore).
21972 * src/Core/Hyena/Makefile.am: Add new files, remove old ones.
21974 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
21975 Use ToSql instead of the SqlQueryGenerator.
21977 2007-12-27 Gabriel Burt <gabriel.burt@gmail.com>
21979 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
21980 Actually commit it; grr svn.
21982 2007-12-27 Gabriel Burt <gabriel.burt@gmail.com>
21984 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
21985 Add a source primary key property.
21987 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Load
21990 * src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
21991 * src/Core/Banshee.Services/Makefile.am: New file, skeleton implementation
21992 of the old smart playlist functionality.
21994 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
21995 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Add New Smart
21998 2007-12-26 Gabriel Burt <gabriel.burt@gmail.com>
22000 * src/Core/Banshee.Services/Makefile.am:
22001 * src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs:
22002 New abstract class for playlists (static and smart).
22004 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Subclass
22005 from AbstractPlaylistSource; implement Create/Update methods.
22007 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
22008 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Call Save
22009 after creating new PlaylistSources. Use new AddSelectedTracks method.
22011 2007-12-24 Gabriel Burt <gabriel.burt@gmail.com>
22013 * src/Core/Banshee.Services/Banshee.Collection/TrackListModel.cs: Add
22014 ArtistField and AlbumField properties that are used for By Matching
22015 Artist/Album actions.
22017 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
22018 Implement ArtistField/AlbumField properties.
22020 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
22021 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Make FilterQuery
22022 virtual, and override it to refilter/reload the track model.
22024 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs: Add
22025 UpdateActions methods for setting visibility/sensitivity of several
22028 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
22029 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Add/handle Search
22030 for Songs menu and By Matching Artist/Album items.
22032 * src/Core/Hyena/Makefile.am:
22033 * src/Core/Hyena/Hyena.Data.Query/QueryField.cs: New file for QueryField
22034 and QueryFieldSet classes.
22036 * src/Core/Hyena/Hyena.Data.Query/SqlQueryGenerator.cs: Move
22037 Field/FieldSet out of this file. Fix quote escaping.
22039 * src/Core/Hyena/Hyena.Data/PropertyStore.cs: Avoid raising Changed event
22040 if setting to the current value.
22042 * src/Core/Nereid/Nereid/PlayerInterface.cs: Listen for programmatic
22043 searches (eg By Matching Artist) to update the SearchEntry.
22045 2007-12-20 Gabriel Burt <gabriel.burt@gmail.com>
22047 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
22048 Add rating, plays, skips, path, and type as search fields. Add translated
22049 name, and translate field aliases.
22051 * src/Core/Hyena/Hyena.Data.Query/SqlQueryGenerator.cs: Add a name field
22052 to the Field class.
22054 2007-12-20 Gabriel Burt <gabriel.burt@gmail.com>
22056 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
22057 Use Hyena.Data.Query to generate SQL from the user's query. Allows
22058 searches such as "by:foo year:2006".
22060 * src/Core/Hyena/Hyena.Data.Query/QueryListNode.cs: Fix off by one bug.
22062 * src/Core/Hyena/Hyena.Data.Query/QueryParser.cs: Fix parsing bugs.
22064 * src/Core/Hyena/Hyena.Data.Query/QueryToken.cs: Add And token type.
22066 * src/Core/Hyena/Hyena.Data.Query/SqlQueryGenerator.cs: Add Field and
22067 FieldSet classes that define whether a field is Textual or Numeric, and
22068 generates a mapping of aliases to Fields. Fix the SQL generator to work
22071 2007-12-20 Gabriel Burt <gabriel.burt@gmail.com>
22073 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
22074 Fall back to sorting by file path if needed. Change sort by Title to sort
22075 first by title, then artist, then album instead of first by artist.
22077 2007-12-20 Sebastian Dröge <slomo@circular-chaos.org>
22079 * docs/Makefile.am: Don't prepend $(DESTDIR) to monodocdir. This is
22080 already done be automake.
22082 2007-12-19 Gabriel Burt <gabriel.burt@gmail.com>
22084 * data/icon-theme-hicolor/Makefile:
22085 * data/icon-theme-hicolor/Makefile.in: Remove from svn.
22087 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs: Set TrackInfo.Uri
22089 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
22090 Sort by AlbumTitle, ArtistName, not just AlbumTitle.
22092 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeCacheableModelAdapter.cs:
22093 Make count_command a static BansheeDbCommand so it's not parsed every time.
22095 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryAlbumInfo.cs:
22096 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryArtistInfo.cs:
22097 Add constructor that will return the existing album/artist of the given
22098 name or create a new one. Add Save method that inserts/updates.
22100 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
22101 Add static method for determining if a Uri is already in the Library.
22102 Save the ArtistId/AlbumID when inserting/updating.
22104 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
22105 Return this from ApplyValues to allow chaining.
22107 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs: Don't
22108 import files that are already imported. Set the DateAdded.
22109 Find/create/associate artist and album.
22111 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs: Add
22112 implementations to remove and delete tracks.
22114 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Fix bug
22115 where removing tracks would remove them from all playlists. Add label
22116 overrides for Remove/Unmap actions. Override remove/delete track methods.
22118 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: Add virtual
22119 implementations for Remove/Delete methods, and a helper/delegate for
22120 iterating over a track selection's ranges (used to efficiently remove
22121 tracks, for example).
22123 * src/Core/Banshee.Services/Banshee.Sources/ITrackModelSource.cs: Add
22124 methods/properties for removing/deleting tracks.
22126 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Add HasProperties
22129 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs
22130 * src/Core/Banshee.ThickClient/Makefile.am: New base class providing some
22133 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Use
22134 BansheeActionGroup helpers.
22136 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
22137 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Add
22138 RemoveTracksFromLibraryAction and DeleteTracksFromDriveAction. If
22139 mutliple files are selected, don't preset the rating (so we don't have to
22140 scan all files). Add ConfirmRemove method for confirmation dialogs.
22142 2007-12-19 Sebastian Dröge <slomo@circular-chaos.org>
22144 * src/Core/Banshee.Base/NetworkManager/Manager.cs: Work around
22145 ndesk-dbus bug that might cause type name clashes by renaming IManager
22146 to INetworkManager.This fixes network detection (BGO: #504012).
22148 2007-12-18 Gabriel Burt <gabriel.burt@gmail.com>
22150 * src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs: Fix binding
22153 2007-12-17 Gabriel Burt <gabriel.burt@gmail.com>
22155 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellDateTime.cs:
22156 * src/Core/Banshee.ThickClient/Makefile.am: New cell renderer for DateTime
22157 objects that returns String.Empty if the DateTime is DateTime.MIN_VALUE.
22159 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
22160 Use ColumnCellDateTime for date added/last played.
22162 2007-12-17 Gabriel Burt <gabriel.burt@gmail.com>
22164 * src/Core/Banshee.Services/Banshee.AudioProfiles/ProfileManager.cs: Fix
22167 2007-12-14 Gabriel Burt <gabriel.burt@gmail.com>
22169 * src/Core/Banshee.Services/Banshee.AudioProfiles/ProfileManager.cs:
22170 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Make
22171 the ProfileManager an IService and register it with the ServiceManager.
22173 2007-12-14 Gabriel Burt <gabriel.burt@gmail.com>
22175 * src/Core/Banshee.ThickClient/Makefile.am: Add Banshee.AudioProfiles.Gui
22178 2007-12-14 Gabriel Burt <gabriel.burt@gmail.com>
22180 * src/Core/Banshee.Base/Localization.cs:
22181 * src/Core/Banshee.Core/Banshee.Base/Localization.cs:
22182 * src/Core/Banshee.Core/Makefile.am: Move file/add to build.
22184 * src/Core/Banshee.Services/Makefile.am: Add Banshee.AudioProfile to build.
22186 2007-12-14 Gabriel Burt <gabriel.burt@gmail.com>
22188 * src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/*:
22189 * src/Core/Banshee.ThickClient/Banshee.AudioProfiles.Gui/*: Move files.
22191 2007-12-14 Gabriel Burt <gabriel.burt@gmail.com>
22193 * src/Core/Banshee.Base/Banshee.AudioProfiles/*:
22194 * src/Core/Banshee.Services/Banahsee.AudioProfiles/*: Move files.
22196 * src/Core/Banshee.Services/Banshee.Playlists.Formats/*Format.cs: Take
22197 ITrackModelSource instead of Source.
22199 2007-12-13 Gabriel Burt <gabriel.burt@gmail.com>
22201 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Remove Self
22204 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs: Do
22205 not use Self property, just use null for the property name. Uncomment all
22208 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeCacheableModelAdapter.cs:
22209 Comment out FetchSet logging.
22211 2007-12-13 Gabriel Burt <gabriel.burt@gmail.com>
22213 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Clean up some code, move
22214 Rectangle allocation and setting of common parts to outside of loops.
22216 2007-12-13 Gabriel Burt <gabriel.burt@gmail.com>
22218 This patch changes the way objects are bound to the ListViews, removing
22219 the FieldIndex attributes, instead passing a property name (or null to
22220 return the object itself) instead. SelectAll/None actions are added.
22221 Commented out code for the rest of the TrackInfo columns also added.
22223 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
22224 Load PlayCount, SkipCount, LastPlayed, and DateAdded when loading the
22225 track from the database.
22227 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
22228 Handle sorting on Year, Duration, Rating, PlayCount, SkipCount,
22229 LastPlayed, DateAdded, and RelativeUri.
22231 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
22232 Fix error in our migration - we had DateAdded and LastPlayed swapped.
22234 * src/Core/Hyena.Gui/Hyena.Data.Gui/Column.cs:
22235 * src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs:
22236 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/AlbumListView.cs:
22237 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtistListView.cs:
22238 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
22239 Use property names instead of FieldIndexes.
22241 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs:
22242 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs:
22243 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellDuration.cs:
22244 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellPlaybackIndicator.cs:
22245 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnHeaderCellText.cs:
22246 Change ctors to use property name string instead of FieldIndex.
22248 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Fix typo.
22250 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
22251 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Add
22252 SelectAll/SelectNone actions.
22254 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnCell.cs: In BindListItem use
22255 the property name to get the PropertyInfo object instead of iterating
22256 over all properites looking for the right one.
22259 * src/Core/Hyena.Gui/Hyena.Data.Gui/ObjectListView.cs:
22260 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnController.cs: Change Append to
22261 Add and add AddRange method.
22263 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Move the
22264 SelectAll/SelectNone handler inside the OnKeyPress method. Invalidate
22265 the ListWindow whenever the selection is changed.
22267 * src/Core/Hyena/Hyena.Collections/Selection.cs: Add SelectAll method and
22268 change MaxIndex to actually represent the max index, not the max size.
22270 * src/Core/Hyena/Hyena.Data/ColumnDescription.cs: Instead of using a
22271 FieldIndex specified by the ListItemSetup attribute, use a string that
22272 gives the name of the property to get the column's value from.
22274 * src/Core/Banshee.Core/Banshee.Collection/AlbumInfo.cs:
22275 * src/Core/Banshee.Core/Banshee.Collection/ArtistInfo.cs:
22276 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs:
22277 * src/Core/Hyena/Hyena.Data/ListItemSetup.cs:
22278 * src/Core/Hyena/Makefile.am: Remove ListItemSetup.
22280 2007-12-12 Gabriel Burt <gabriel.burt@gmail.com>
22282 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
22283 Remove named-parameter ctor for BansheeDbCommand - was ambiguous with the
22284 ctor where you can pass an object [] of values if your values were all
22287 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs: Update base
22288 ctor call, set CanRename = false, set a custom GtkActionPath for our
22289 LibraryContextMenu.
22291 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Implement
22294 * src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
22295 * src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs: Update base
22296 ctor call, passing generic_name.
22298 * src/Core/Banshee.Services/Banshee.Sources/IImportable.cs: Bring
22301 * src/Core/Banshee.Services/Banshee.Sources/ISource.cs: Remove Unmap
22302 method, add GenericName property.
22304 * src/Core/Banshee.Services/Banshee.Sources/IUnmapableSource.cs: New
22305 interface for sources that can be unmapped.
22307 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Add GenericName
22308 and CanRename properties.
22310 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Remove
22313 * src/Core/Banshee.Services/Makefile.am: Add IUnmapableSource and
22316 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
22317 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
22318 Rename Popup to ContextMenu.
22320 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs: Add
22321 and handle SourceContextMenu, add method for setting source actions
22322 sensitive/hidden based on the source, and for updating labels. Copy
22323 method for confirming deletion of a source over from AbstractPlaylistSource.
22325 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Override
22326 OnPopup handler to trigger the SourceContextMenu action.
22328 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Add
22329 LibraryContextMenu.
22331 2007-12-11 Gabriel Burt <gabriel.burt@gmail.com>
22333 * src/Core/Nereid/Nereid/ViewContainer.cs: If the view content is the
22334 same, don't remove and readd it, avoiding flickering.
22336 2007-12-11 Gabriel Burt <gabriel.burt@gmail.com>
22338 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
22339 Bring back the exception handling.
22341 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/CompositeTrackListView.cs:
22342 Don't assume the new models will be null, fixing bug with viewing the Error
22345 2007-12-10 Aaron Bockover <abock@gnome.org>
22347 * src/nuke-core-tables:
22348 * src/run-banshee: Some scripts to help development
22350 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
22351 Moved the insert/update calls from CoreTracksSchema
22353 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs: Added
22354 AddNamedParameter method
22356 * src/Core/Banshee.Services/Banshee.Database/TableSchema.cs: Generic
22357 table schema code to parse table definitions and generate basic insert
22360 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
22361 Fixed some comment junk
22363 2007-12-07 Gabriel Burt <gabriel.burt@gmail.com>
22365 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeCacheableModelAdapter.cs:
22366 Change select command to be a reusable BansheeDbCommand.
22368 * src/Core/Banshee.Services/Banshee.Collection.Database/CoreTracksSchema.cs:
22369 Get track update commands working.
22371 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
22372 Add ArtistId and AlbumId properties. Change Commit method to Save.
22374 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs: Call
22377 2007-12-07 Gabriel Burt <gabriel.burt@gmail.com>
22379 * build/Common.Makefile:
22380 * build/build.environment.mk:
22381 * build/m4/banshee/mono-addins.m4: Add Mono.Addins.Setup/Gui dependency
22382 check. Change from Mono.Data.SqliteClient to Mono.Data.Sqlite.
22384 * src/Core/Banshee.Services/Banshee.Collection.Database/CoreTracksSchema.cs:
22385 Update the generation of the insert_command and update_command so they are
22388 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
22389 Add setter on DbId so CoreTracksSchema can set it.
22391 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
22392 Switch to Mono.Data.Sqlite, change DbCommand to BansheeDbCommand.
22394 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Rewrite
22395 add/remove tracks from playlist queries to be reusable.
22397 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
22398 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Add
22399 Manage Extensions action.
22401 2007-12-06 Aaron Bockover <abock@gnome.org>
22403 * src/Core/Banshee.Services/Banshee.Collection.Database/CoreTracksSchema.cs:
22404 Schema information about the CoreTracks table and handles any insert
22405 and update commands for the table
22407 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
22408 Added a Commit method and oved the Columns enum to CoreTracksSchema
22410 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
22411 Create a LibraryTrackInfo from the files being parsed, call commit
22412 to save to database; doesn't actually work yet
22414 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs: Added
22415 the DbParameter/DbCommand stuff back from the old Banshee
22417 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Added a null check
22420 2007-12-06 Gabriel Burt <gabriel.burt@gmail.com>
22422 Highlights: Now remembers scroll position for track/artist/album lists
22423 per source. Selection of track/artist/albums with keyboard now possible.
22425 * src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs: Clear
22426 the selection when the model is reloaded.
22428 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/CompositeTrackListView.cs:
22429 Keep track of scroll positions on a per-model basis, and restore scroll
22430 positions when we switch models. Changes to selection and artist/album
22433 * src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs: Don't trigger
22434 the OnChanged timeout if not Ready.
22436 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs:
22437 Fix errors in calculating the vadjustment height etc so we can scroll to
22438 the last item. Implement selecting items with they keyboard. Fix off by
22439 one bug in SelectAll that led to NRE when iterating the selection with a
22440 ModelSelection (unless you checked for it). Add option to scroll to a
22441 given point when changing the model, used by CompositeTrackListView.
22443 * src/Core/Hyena/Hyena.Collections/Selection.cs: Keep track of the first
22444 index selected, and add method for selecting from that point to another
22445 point (used for keyboard and mouse selection on the ListView).
22447 * src/Core/Nereid/Nereid/PlayerInterface.cs: Fix bug so filter query is
22448 actually restored when switching sources.
22450 2007-12-04 Gabriel Burt <gabriel.burt@gmail.com>
22452 The main point of this change is to make Selections tied to a specific
22453 model, which in turn are already tied to a specific source. So, if you
22454 have some artists and/or albums and/or tracks selected in your Library,
22455 switch to a playlist, then switch back, they will still be selected when
22458 * src/Core/Hyena/Hyena.Data/IListModel.cs: Add a Selection property.
22460 * src/Core/Banshee.Services/Makefile.am:
22461 * src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs: New
22462 abstract base class to avoid duplications, implement Selection property of
22465 * src/Core/Banshee.Services/Banshee.Collection/AlbumListModel.cs:
22466 * src/Core/Banshee.Services/Banshee.Collection/ArtistListModel.cs:
22467 * src/Core/Banshee.Services/Banshee.Collection/TrackListModel.cs: Subclass
22468 from BansheeListModel.
22470 * src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs: Add Selection
22473 * src/Core/Banshee.Services/Banshee.Collection/IHasTrackSelection.cs:
22474 Return a SelectionProxy instead of a Selection, because the Selection will
22475 change for the ListView depending on what source is selected, and we only
22476 care about the currently displayed one.
22478 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtistListView.cs:
22479 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/AlbumListView.cs:
22480 Don't set the selection to the first item automatically; that is done in
22483 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/CompositeTrackListView.cs:
22484 Add method for changing all three models at once.
22486 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Listen to the
22487 events on the track SelectionProxy not the Selection itself.
22489 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Add SelectionProxy
22490 property, use the Selection property everywhere and remove the selection
22491 instance variable, since the Selection belongs to the model now, and that
22494 * src/Core/Hyena/Hyena.Data/Selection.cs:
22495 * src/Core/Hyena/Hyena.Collections/Selection.cs: Move to the appropriate
22496 folder for its namespace, and remove Owner property.
22498 * src/Core/Hyena/Makefile.am:
22499 * src/Core/Hyena/Hyena.Collections/SelectionProxy.cs: New file that has
22500 events for when its selection is updated and for when its selection is
22501 changed to a different one.
22503 * src/Core/Hyena/Hyena.Data/ModelSelection.cs: Comment out unfinished
22506 * src/Core/Nereid/Nereid/PlayerInterface.cs: Updated to new ListView API.
22508 2007-12-03 Gabriel Burt <gabriel.burt@gmail.com>
22510 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
22511 Whitespace, and add commented out BansheeDbCommand class that will be
22512 useful if/when we use Mono.Data.Sqlite and prepared statements.
22514 2007-12-03 Gabriel Burt <gabriel.burt@gmail.com>
22516 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs: Don't
22517 subclass from QueuedSqliteDatabase.
22519 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
22520 Revert changes made when I switched to QueuedSqliteDatabase.
22522 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs: Sort
22523 whitelist in static constructor.
22525 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
22526 Temporarily comment out some queries.
22528 2007-11-29 Gabriel Burt <gabriel.burt@gmail.com>
22530 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Prevent
22531 crashing when a TrackInfo is null.
22533 2007-11-29 Gabriel Burt <gabriel.burt@gmail.com>
22535 * src/Core/Banshee.Widgets/Banshee.Widgets/RatingEntry.cs:
22536 * src/Core/Banshee.Widgets/Banshee.Widgets/RatingMenuItem.cs: Whitespace.
22538 2007-11-29 Gabriel Burt <gabriel.burt@gmail.com>
22540 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
22541 * src/Core/Banshee.Widgets/Banshee.Widgets/RatingActionProxy.cs:
22542 * src/Core/Banshee.Widgets/Banshee.Widgets/RatingEntry.cs: If all the
22543 selected tracks have the same rating, prepopulate it. Actually set the
22544 Rating on all the tracks when Activated.
22546 2007-11-29 Gabriel Burt <gabriel.burt@gmail.com>
22548 * src/Core/Banshee.Core/Banshee.Base/*:
22549 * src/Core/Banshee.Core/Banshee.Collection/*: White space and license
22552 2007-11-29 Gabriel Burt <gabriel.burt@gmail.com>
22554 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
22555 Activate the TrackPopupAction instead of showing the popup manual
22558 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Add
22559 and handle RateTracksAction and TrackPopupAction.
22561 * src/Core/Banshee.Widgets/Banshee.Widgets/ComplexMenuItem.cs:
22562 * src/Core/Banshee.Widgets/Banshee.Widgets/RatingMenuItem.cs: Update
22563 license header, override OnAdded and OnRemoved to allow using with
22566 * src/Core/Banshee.Widgets/Banshee.Widgets/RatingEntry.cs: Update license
22569 * src/Core/Banshee.Widgets/Banshee.Widgets/CustomActionProxy.cs:
22570 * src/Core/Banshee.Widgets/Banshee.Widgets/RatingActionProxy.cs:
22571 * src/Core/Banshee.Widgets/Makefile.am: New files to enable setting custom
22572 MenuItem subclasses as proxies for Gtk.Actions. Abstracts out repetitive
22573 logic for inserting menu items at a particular position.
22575 2007-11-27 Gabriel Burt <gabriel.burt@gmail.com>
22577 * src/Core/Makefile.am: Use BANSHEE_DEV_OPTIONS env var so developers can
22578 have make run use an alternate db (with
22579 BANSHEE_DEV_OPTIONS="--db=/alternate/banshee/db") and so I stop committing
22582 2007-11-27 Gabriel Burt <gabriel.burt@gmail.com>
22584 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs:
22585 Add Track and Source action groups here instead of from PlayerInterface.
22587 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
22588 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Add properties
22589 so PlayerInterface can set itself as the provider of things these actions
22592 * src/Core/Nereid/Nereid/Client.cs: Fix typo.
22594 * src/Core/Nereid/Nereid/PlayerInterface.cs: Set action group properities,
22595 don't instantiate them.
22597 2007-11-27 Gabriel Burt <gabriel.burt@gmail.com>
22599 * src/Core/Banshee.Base/QueuedSqliteDatabase.cs:
22600 * src/Core/Banshee.Services/Makefile.am:
22601 * src/Core/Banshee.Services/Banshee.Database/QueuedSqliteDatabase.cs:
22602 Migrate QueuedSqliteDatabase class over, mostly unchanged.
22604 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
22605 Inherit from QueuedSqliteDatabase.
22607 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
22608 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeCacheableModelAdapter.cs:
22609 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
22610 Update database queries.
22612 * src/Core/Banshee.Services/Banshee.Collection/IHasTrackSelection.cs: Add
22613 method for getting the TrackModel, used by PlaylistSource to efficiently
22616 * src/Core/Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Add
22617 ability to create new PlaylistSource and have it be automatically saved to
22618 the db or not. New AddTracks and RemoveTracks methods that use the
22619 Selection's Ranges to efficiently add/remove tracks.
22621 * src/Core/Banshee.Services/Banshee.Sources/Source.cs: Bring Sort methods
22624 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
22625 Override OnPopupMenu to actually pop up the track context menu.
22627 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs: Check
22630 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Remove
22631 'Action' suffix from action handler's name for consistency/brevity.
22633 * src/Core/Nereid/Nereid/PlayerInterface.cs:
22634 * src/Core/Banshee.ThickClient/Banshee.Gui/IHasSourceView.cs: New
22635 interface that PlayerInterface implements so SourceActions can get the
22636 highlighted source. Instantiate SourceActions the same as TrackActions.
22638 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Port
22639 changes from stable branch: add a second column to the TreeStore for
22640 source order, and sort by it.
22642 * src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:
22643 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs:
22644 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
22645 * src/Core/Banshee.ThickClient/Makefile.am: New SourceActions class,
22646 handle RenameSource, NewPlaylist, AddToPlaylist, AddToNewPlaylist, and
22647 RemoveTracks actions.
22649 * src/Core/Hyena/Hyena.Data/Selection.cs: Provide access to the Ranges of
22650 the Selection, enabling extremely fast playlist track addition/removal.
22652 2007-11-27 Gabriel Burt <gabriel.burt@gmail.com>
22654 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Improve
22655 handling of child sources -- add them to the SourceManager automatically.
22656 Child sources with children should be possible (though probably not
22659 * src/src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Don't
22660 manually add Playlists to the SourceManager since they are implicitly
22661 added by being children of the Library.
22663 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Handle context menu mouse
22664 clicks by calling OnPopupMenu.
22666 2007-11-27 Aaron Bockover <abock@gnome.org>
22668 * src/Core/Hyena/Hyena.Data/Selection.cs:
22669 * src/Core/Hyena/Hyena.Collections/RangeCollection.cs: Check for NET_2_0
22670 to use generics internally, otherwise implemented 1.1 supported for use
22671 inside Managed Windows Forms; implemented IndexOf and partial
22672 implementation of indexer
22674 * tests/Hyena/RangeCollectionTests.cs: More tests
22676 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs:
22678 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ArtworkPopup.cs:
22679 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkRenderer.cs:
22680 Dispose pixbuf when done
22682 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs:
22683 Do not cache pixbufs and added a LookupScale that will save the scaled
22684 version to disk for subsequent lookups; reduces memory usage ... a lot
22686 * src/Core/Banshee.Services/Banshee.Collection/IHasTrackSelection.cs:
22687 * src/Core/Hyena/Hyena.Data/ModelSelection.cs:
22688 * src/Core/Nereid/Nereid/PlayerInterface.cs:
22689 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs:
22690 Updated to reflect namespace change
22692 * src/Core/Hyena.Gui/Hyena.Gui/CairoExtensions.cs: Implemented Pop/Push
22693 Group methods that will use reflection to invoke them in the managed
22694 Cairo binding if they exist or fall back on P/Invoke if they do not;
22695 reflection results are cached for efficient subsequent calls
22697 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
22698 Go back to using Push/Pop Group methods ala the new interop wrapping;
22699 gets rid of a huge memory leak
22701 2007-11-27 Gabriel Burt <gabriel.burt@gmail.com>
22703 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: When changing the
22704 selection avoid having the Selection raise two Changed events by passing
22705 raise = false to Clear.
22707 2007-11-24 Aaron Bockover <abock@gnome.org>
22709 * src/Core/Banshee.Core/Banshee.Collection/AlbumInfo.cs: Ignore any
22710 part of the album/artist string that ends in a (.*)
22712 2007-11-22 Aaron Bockover <abock@gnome.org>
22714 * src/Core/Hyena/Hyena.Data/Selection.cs: Updated to use RangeCollection
22716 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Updated to reflect
22717 API change in Selection
22719 2007-11-22 Aaron Bockover <abock@gnome.org>
22721 * Core/Hyena/Hyena.Collections/RangeCollection.cs: New collection for
22722 storing ordered ranges that supports efficient add/remove of indexes
22724 * Core/Hyena/Hyena.Collections/IStackProvider.cs: Moved to new
22725 Hyena.Collections namespace
22727 * Core/Banshee.Core/Banshee.Kernel/IntervalHeap.cs: Reset count
22729 * tests/Hyena/RangeCollectionTests.cs: Added unit tests for RangeCollection
22731 2007-11-20 Gabriel Burt <gabriel.burt@gmail.com>
22733 * src/Core/Banshee.Services/Makefile.am:
22734 * src/Core/Banshee.Services/Banshee.Services.mdp:
22735 * src/Core/Banshee.Services/Banshee.Collection/IHasTrackSelection.cs: Add
22736 new interface used by TrackActions to get the selected tracks.
22738 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs: Change
22739 the ctor to take an Enumerable<TrackInfo> instead of a List<TrackInfo> so
22740 we can avoid putting all the TrackInfos in memory at once.
22742 * src/Core/Banshee.ThickClient/Makefile.am:
22743 * src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp:
22744 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml
22745 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
22746 * src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Add Edit menu
22747 and Track Properties menu item.
22749 * src/Core/Hyena/Makefile.am:
22750 * src/Core/Hyena/Hyena.mdp:
22751 * src/Core/Hyena/Hyena.Data/ModelSelection.cs: New file that takes a Model
22752 and Selection and is an IEnumerable<T> over the selection. Will be an
22755 * src/Core/Makefile.am:
22756 * src/Core/Nereid/Nereid/Client.cs:
22757 * src/Core/Nereid/Nereid/PlayerInterface.cs: Implement IHasTrackSelection
22758 and create TrackActions.
22760 2007-11-19 Aaron Bockover <abock@gnome.org>
22762 * src/Core/Banshee.Services/Banshee.MediaEngine/PlaybackControllerService.cs:
22763 Many improvements in the controller logic, but still a lot to tweak; at
22764 least it is mostly usable now; implement StopWhenFinished
22766 * src/Core/Banshee.Services/Banshee.MediaEngine/IPlaybackController.cs:
22767 The DBus interface to expose for the playback controller
22769 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Show
22770 some of the old actions, like the shuffle mode and stop when finished
22772 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Implement
22773 shuffle and stop when finished
22775 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Moved open
22776 location action to here from PlaybackActions
22778 2007-11-19 Aaron Bockover <abock@gnome.org>
22780 * src/Core/Banshee.Services/Banshee.Collection/TrackListModel.cs:
22781 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeCacheableModelAdapter.cs:
22782 * src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseModel.cs:
22783 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
22784 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
22785 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
22786 Support IndexOf method for getting the index in the model of a track;
22787 used by the PlaybackController for determining linear next
22789 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
22790 Store the index of the track from the database
22792 * src/Core/Banshee.Services/Banshee.MediaEngine/IPlayerEngineService.cs:
22793 DBus interface for the player engine
22795 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineState.cs:
22796 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineEvent.cs:
22797 Added DBus worthy signal delegates
22799 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
22800 Implement IPlayerEngineService, the DBus interface
22802 2007-11-18 Aaron Bockover <abock@gnome.org>
22804 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/CompositeTrackListView.cs:
22805 Reset the artist/album filter if the browser is hidden
22807 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ArtworkPopup.cs:
22808 Ported the artwork popup, always wrap the label if the layout width
22809 of the text is larger than the image width
22811 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
22812 Show the ArtworkPopup when the header is touched by the mouse
22814 2007-11-18 Aaron Bockover <abock@gnome.org>
22816 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationArea.cs:
22817 * src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs:
22818 Began porting the notification area plugin; not functional yet
22820 * src/Extensions/Banshee.NotificationArea/Resources/Banshee.NotificationArea.addin.xml:
22821 Addin spec for the notification area service
22823 * src/Core/Banshee.Services/Banshee.Services.addin.xml:
22824 * src/Core/Banshee.ThickClient/Banshee.ThickClient.addin.xml:
22825 * src/Backends/Banshee.GStreamer/Banshee.GStreamer.addin.xml: Changed 'Core'
22826 addin to Banshee.Services
22828 2007-11-18 Aaron Bockover <abock@gnome.org>
22830 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/CompositeTrackListView.cs:
22831 Allow the browser to be shown/hidden
22833 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Implement OnUnmapped,
22834 set WidgetFlags.Mapped/Unmapped when appropriate
22836 * src/Core/Nereid/Nereid/PlayerInterface.cs: Use Show, not ShowAll for
22837 showing the view container
22839 2007-11-17 Aaron Bockover <abock@gnome.org>
22841 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs:
22842 Do not draw the second line if the artist informatio is unset
22844 2007-11-17 Aaron Bockover <abock@gnome.org>
22846 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/CompositeTrackListView.cs:
22847 Allow the browser to be shown at either the top or the left of the
22848 track view; merge an action UI into the menu for toggling between the
22851 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Added
22852 a placeholder for the browser view menu options
22854 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Add proper padding
22855 for the right side of the text to the pango layout
22857 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs:
22858 * src/Core/Banshee.ThickClient/Banshee.Gui/ViewActions.cs: Added view
22861 2007-11-16 Aaron Bockover <abock@gnome.org>
22863 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Fix the vadjustment
22864 to account for the FooterHeight; Make FooterHeight reflect the BorderWidth
22866 2007-11-16 Aaron Bockover <abock@gnome.org>
22868 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
22869 Set RulesHint to true to show alternating row background colors
22871 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Properly draw RulesHint
22873 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListViewGraphics.cs: Added DrawRowRule
22875 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
22878 2007-11-16 Aaron Bockover <abock@gnome.org>
22880 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs:
22881 Use ArtworkRenderer to render the thumbnail of the cover; do the layout
22882 of the text properly
22884 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkRenderer.cs:
22885 Extracted the cover art rendering from TrackInfoDisplay so we can render
22886 the same style of cover in many places
22888 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Change the cell rendering
22889 API; use CellContext, save/clip/render/restore for cell renderers to make
22890 writing cell renderers simpler; do not allow resizing below a miniumum
22892 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellPlaybackIndicator.cs:
22893 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnHeaderCellText.cs:
22894 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnCell.cs:
22895 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs:
22896 Updated to reflect the API changes for cell renderers
22898 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListViewGraphics.cs: Added Text color
22899 support; made the BorderRadius public
22901 * src/Core/Hyena.Gui/Hyena.Data.Gui/IHeaderCell.cs: Interface to expose
22902 a MinWidth for text in the headers
22904 * src/Core/Hyena.Gui/Hyena.Data.Gui/CellContext.cs: A context of stuff
22905 to pass to cell renderers to avoid the Render() calls from growing an
22906 insane amount of arguments
22908 * src/Core/Hyena.Gui/Hyena.Gui/CairoExtensions.cs: Changed Namespace
22910 2007-11-16 Gabriel Burt <gabriel.burt@gmail.com>
22912 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
22913 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
22914 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeCacheableModelAdapter.cs:
22915 Comment out verbose debugging output.
22917 * src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs: Add
22918 --db option for specifying exactly what database file to use. Helpful for
22919 being able to use stable and trunk versions simultaneously.
22921 2007-11-16 Aaron Bockover <abock@gnome.org>
22923 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
22924 Use TrackInfo.AudiblyEqual instead of a reference check to determine if
22925 the input track is the track that is currently playing
22927 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Implement
22928 AudiblyEqual, a method used to determine if the two tracks are probably
22929 the same, based on artist, album, and track title information, regardless
22930 of managed reference differences or even source stream differences
22932 2007-11-16 Aaron Bockover <abock@gnome.org>
22934 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
22935 Implement proper sorting for all columns. Muy Caliente.
22937 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
22938 Make the Track column a SortableColumn
22940 2007-11-16 Aaron Bockover <abock@gnome.org>
22942 * Banshee.Services/Banshee.Sources/DatabaseSource.cs: Return
22943 UnfilteredCount instead of Count on the model for the source count if
22944 the model is IFilterable
22946 * Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
22947 Implement UnfilteredCount so the source count doesn't change when a
22948 filter is applied to the model
22950 * Hyena/Hyena.Data/IFilterable.cs: Added an UnfilteredCount property
22952 2007-11-16 Aaron Bockover <abock@gnome.org>
22954 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
22955 Use a ColumnCellDuration for the duration column
22957 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellDuration.cs:
22958 A cell renderer that formats TimeSpan objects in a pretty way
22960 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs: Added a virtual
22961 Text property so making new text renderers is a snap
22963 2007-11-16 Aaron Bockover <abock@gnome.org>
22965 * src/Core/Nereid/Nereid/PlayerInterface.cs: Ported the code to add/remove
22966 the accelerator binding on key press event to prevent them from conflicting
22967 with search; adds the key bindings for focusing search
22969 * src/Core/Nereid/Nereid/ViewContainer.cs: Explicitly show search entry
22971 * src/Core/Banshee.Widgets/Banshee.Widgets/SearchEntry.cs: Set NoShowAll
22972 so ShowAll doesn't affect the clear button
22974 * src/Core/Hyena.Gui/Hyena.Gui/GtkUtilities.cs: A crappy class for
22975 random GTK routines that really can't go anywhere else; added
22976 IsImportantModifierSet
22978 2007-11-15 Gabriel Burt <gabriel.burt@gmail.com>
22980 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeCacheableModelAdapter.cs:
22981 Fix small build-stopping bug.
22983 2007-11-15 Gabriel Burt <gabriel.burt@gmail.com>
22985 * src/Core/Hyena/Hyena.Data/CacheableModelAdapter.cs: New abstract class
22986 that partially implements a Dictionary-based caching strategy for models.
22988 * src/Core/Hyena/Hyena.Data/ICacheableModel.cs: Interface that Models must
22989 implement to work with CacheableModelAdapters.
22991 * src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseModel.cs:
22992 Interface that defines basic database-related properties on Models that
22993 the adapter needs to generically implement limit/offset based lookups on
22996 * src/Core/Banshee.Services/Banshee.Collection.Database/BansheeCacheableModelAdapter.cs:
22997 Implementation of CacheableModelAdapter using SQL and the Banshee.Database
22998 connection that combines the Dictionary cache with limit/offset queries to
23001 * src/Core/Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
23002 * src/Core/Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
23003 * src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
23004 Use the BansheeCacheableModelAdapter instead of implementing the same
23005 caching/limit+offset strategy three times.
23007 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
23008 Chnage CoreTracksCache to just CoreCache as it is used by any Model that
23009 uses the BansheeCacheableModelAdapter.
23011 * src/Core/Banshee.Services/Makefile.am:
23012 * src/Core/Hyena/Makefile.am: Add new files.
23014 2007-11-15 Sebastian Dröge <slomo@circular-chaos.org>
23016 * src/Core/Banshee.Base/PowerManagement.cs: Add support for
23017 gnome-power-manager >= 2.19 while keeping support for older
23018 versions (BGO: #492195)
23020 2007-11-13 Gabriel Burt <gabriel.burt@gmail.com>
23022 * src/Core/Banshee.Base/Gui/SeekDialog.cs:
23023 * src/Core/Banshee.Base/Gui/TrackEditor.cs:
23024 * src/Core/Banshee.Base/Hyena.Gui/EntryEraseAction.cs:
23025 * src/Core/Banshee.Base/Hyena.Gui/EntryInsertAction.cs:
23026 * src/Core/Banshee.Base/Hyena.Gui/EntryUndoAdapter.cs: Remove from
23027 Banshee.Base, all have been moved into new structure.
23029 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/TrackEditor.cs:
23030 * src/Core/Banshee.ThickClient/Makefile.am: Add TrackEditor, not yet used.
23032 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/CompositeTrackListView.cs:
23033 * src/Core/Hyena.Gui/Hyena.Data.Gui/Selection.cs:
23034 * src/Core/Hyena/Hyena.Data/Selection.cs:
23035 * src/Core/Hyena.Gui/Makefile.am:
23036 * src/Core/Hyena/Makefile.am: Move Selection from Hyena.Gui to Hyena.
23038 2007-11-13 Aaron Bockover <abock@gnome.org>
23040 * src/Core/Hyena/Hyena.Data/ColumnDescription.cs: A non-GUI base class
23041 for columns, so basic column setup can be done at the model level
23043 * src/Core/Hyena/Hyena.Data/IListModel.cs: Added IObjectListModel
23045 * src/Core/Nereid/Nereid/PlayerInterface.cs: Support IObjectListModel
23048 * src/Core/Hyena.Gui/Hyena.Data.Gui/Column.cs: Extend ColumnDescription
23050 * src/Core/Hyena.Gui/Hyena.Data.Gui/ObjectListView.cs: Wrapper view for
23051 simple IObjectListModels
23053 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnController.cs: Be eventful
23055 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Make some model event
23056 handler methods virtual
23058 * src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs: Call
23059 source.Activate after raising the notification of change
23061 * src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs: Implement
23062 a simple IObjectListModel source for displaying errors
23064 * src/Core/Banshee.Services/Banshee.Library/LibrarySource.cs: Add a
23067 * src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs: Add
23068 import errors to the Library's ErrorSource
23070 2007-11-13 Aaron Bockover <abock@gnome.org>
23073 * src/Core/Nereid/banshee2.in: For the sake of development, call the
23074 project "banshee2" - this means trunk will be installed to
23075 $(libdir)/banshee2 and the executable is "banshee2" NOTE: this does not
23076 mean "Banshee v2.0!" This change is only temporary for the sake of allowing
23077 trunk to be installed without conflicting with stable. Do not read too
23078 much into the 2 part :)
23080 Do rm -rf ~/.config/banshee/addins after make install to ensure the
23081 installed version runs cleanly.
23083 * src/Core/Banshee.Services/Makefile.am:
23084 * src/Core/Banshee.Services/Banshee.Services.addins: Include a .addins
23085 file to tell Mono.Addins where to look for installed addins
23087 * build/build.environment.mk: Install to pkglibdir again
23089 2007-11-12 Aaron Bockover <abock@gnome.org>
23091 * Banshee.Services/Banshee.Collection/ImportManager.cs: Actually register
23092 the user job with the manager, allow it to be cancelled, and show
23093 a nice message if it is empty
23095 * Banshee.Services/Banshee.Library/LibraryImportManager.cs: Implemented
23096 the TagLib tag reading, make a nice display of the import process,
23097 and do extension-based whitelisting as a precondition to the tag parse
23099 * Banshee.Core/Banshee.Streaming/StreamTagger.cs: Fixed ProcessUri to
23100 not check for a mimetype
23102 2007-11-12 Aaron Bockover <abock@gnome.org>
23104 * autogen.sh: Use my new autogen script that's been used in podsleuth
23105 and other projects - no dependency on gnome-autogen, which has been a
23106 big pain for banshee; also sets -Wno-portability -Wno-syntax on automake
23107 so it will STFU about our Makefile.ams, which has been a problem in
23108 Mono projects and the latest automake
23110 2007-11-12 Aaron Bockover <abock@gnome.org>
23112 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
23113 Fully fixed the missing_pixbuf translation glitch - was using the wrong
23114 rectangle for the illusion squasher fill
23116 2007-11-12 Aaron Bockover <abock@gnome.org>
23118 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
23119 First pass at fixing a missing_pixbuf->not missing transition glitch;
23120 center the text on the middle of the cover art on the y-axis
23122 2007-11-11 Aaron Bockover <abock@gnome.org>
23124 * Nereid/Nereid/PlayerInterface.cs: Add the AccelGroup from
23125 InterfaceActionService; tseng should be happy
23127 * Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs: Implement GUI
23130 * Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Enable the help links
23132 * Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Implemented
23133 open locaiton and restart song
23135 * Banshee.ThickClient/Banshee.Gui.Dialogs/OpenLocationDialog.cs:
23136 * Banshee.Services/Banshee.Web/Browser.cs:
23137 * Banshee.Services/Banshee.Streaming/RadioTrackInfo.cs:
23138 * Banshee.Services/Banshee.Playlists.Formats.Xspf:
23139 * Banshee.Services/Banshee.Playlists.Formats: Ported from old Banshee
23141 2007-11-11 Aaron Bockover <abock@gnome.org>
23143 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
23144 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
23147 * src/Core/Banshee.Core/Banshee.Streaming/StreamTagger.cs:
23148 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Removed legacy
23149 cover art lookup junk
23151 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/AboutDialog.cs: Ported
23154 * src/Core/Banshee.Core/Banshee.Base/Paths.cs: Removed a bunch of
23157 * src/Core/Banshee.Core/Banshee.Base/ConfigureDefines.cs.in: Finally nuked
23159 * src/Core/Banshee.Core/Banshee.Base/ProductInformation.cs: Moved over
23161 * build/TranslatorExtract.cs: Moved to build
23163 2007-11-11 Aaron Bockover <abock@gnome.org>
23165 * Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs:
23166 * Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Added
23169 * Core/Banshee.ThickClient/Banshee.Library.Gui/ImportDialog.cs: Ported
23170 the import music dialog
23172 * Core/Banshee.ThickClient/Banshee.Gui.Dialogs/FileChooserDialog.cs:
23173 * Core/Banshee.ThickClient/Banshee.Gui.Dialogs/ImageFileChooserDialog.cs:
23174 Ported the file chooser dialogs
23176 * Core/Banshee.ThickClient/Banshee.Library.Gui/FileImportSource.cs:
23177 * Core/Banshee.ThickClient/Banshee.Library.Gui/FolderImportSource.cs:
23178 * Core/Banshee.Services/Banshee.Library/HomeDirectoryImportSource.cs:
23179 * Core/Banshee.Services/Banshee.Library/IImportSource.cs:
23180 Ported the IImportSource sources
23182 * Core/Banshee.Services/Banshee.Library/ImportSourceManager.cs: Implemented
23183 a new ImportSourceManager that loads IImportSources using Mono.Addins
23185 * Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Load
23186 LibraryImportManager and ImportSourceManager services
23188 * Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs: Extend
23189 ImportManager for importing to the library
23191 * Core/Banshee.Services/Banshee.Collection/ImportManager.cs: Ported the
23194 * Core/Banshee.Core/Banshee.IO/IOProxy.cs: Use Log.Debug
23196 * Core/Banshee.Core/Banshee.Base/Log.cs: Added timer debug methods
23198 * Core/Banshee.Services/Banshee.ServiceStack/UserJob.cs: Added
23199 IsCancelRequested property
23201 * Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs: Listen
23202 to StyleSet to reload pixbufs
23204 * Core/Nereid/Nereid/Client.cs: Remove the TestUserJob stuff
23206 2007-11-11 Aaron Bockover <abock@gnome.org>
23208 * src/Core/Banshee.ThickClient/Banshee.Gui/CommonServices.cs: Helper
23209 class to boot common GUI services
23211 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs: Base class
23212 for any GTK client to use for booting the core
23214 * src/Core/Nereid/Nereid/Entry.cs: Fixed up to use GtkBaseClient
23216 * src/Core/Banshee.Services/Banshee.ServiceStack/IUserJob.cs:
23217 * src/Core/Banshee.Services/Banshee.ServiceStack/UserJob.cs: Added a Name
23218 property, which should never change and should be concise
23220 * src/Core/Banshee.Services/Banshee.ServiceStack/TestUserJob.cs: Updated,
23221 actually allow it to be canceled
23223 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs: Support
23224 actually cancelling jobs, show a pretty dialog
23226 2007-11-11 Gabriel Burt <gabriel.burt@gmail.com>
23228 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/GladeWindow.cs: Look
23229 for the glade file in the calling assembly not the executing one.
23231 * src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/SeekDialog.cs: Ported
23232 from old dialog, using new ConnectedSeekSlider.
23234 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs:
23235 Provide getter for Label so the seek dialog can make the font larger.
23237 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Handle the
23240 * src/Core/Banshee.ThickClient/Makefile.am: add new SeekDialog.cs
23242 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
23243 Uncomment the Seek To action.
23245 2007-11-11 Aaron Bockover <abock@gnome.org>
23247 * Banshee.Services/Banshee.ServiceStack/IUserJob.cs: Interface for UserJobs
23249 * Banshee.Services/Banshee.ServiceStack/UserJob.cs: Base UserJob class,
23250 suitable for most cases when a UserJob is needed
23252 * Banshee.Services/Banshee.ServiceStack/UserJobEventHandler.cs: Event
23253 handler and argument class for UserJob events
23255 * Banshee.Services/Banshee.ServiceStack/UserJobManager.cs: A manager
23256 class for keeping track of UserJobs
23258 * Banshee.Services/Banshee.ServiceStack/TestUserJob.cs: An exhaustive,
23259 interesting test case for the UserJob stack
23261 * Banshee.Services/Banshee.ServiceStack/Application.cs: Added Invoke
23262 and RunIdle methods
23264 * Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs: GUI tile
23265 representing a single UserJob
23267 * Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs: GUI container
23268 for managing the display of the UserJobTile widgets
23270 * Nereid/Nereid/PlayerInterface.cs: Pack in a UserJobTileHost
23272 * Nereid/Nereid/Entry.cs: Implement RunIdle and kick off some TestUserJobs
23274 2007-11-10 Aaron Bockover <abock@gnome.org>
23276 * src/Core/Banshee.Core/Banshee.Base/Log.cs: Make the log output nicer
23278 2007-11-10 Aaron Bockover <abock@gnome.org>
23280 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs:
23283 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
23284 Do not use Push/Pop since there appear to be problems with it missing
23285 in Mono 1.2.4, at least in Ubuntu Gutsy; ugly workaround. Only fade
23286 in/out the artist/album information if it changes
23288 * src/Core/Hyena.Gui/Hyena.Gui/CairoExtensions.cs: Remove Push/Pop wrapper
23289 stubs as they aren't needed; added a ContextDispose
23291 2007-11-10 Aaron Bockover <abock@gnome.org>
23293 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtistListView.cs:
23294 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs:
23295 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Fix a bunch of warnings
23297 * src/Core/Hyena.Gui/Hyena.Gui/CairoExtensions.cs: Stubbed out the
23298 push/pop group methods that were introduced in Cairo 1.2/Mono 1.2.5;
23299 they can be filled in to implement backwards compat, but simply
23300 wrap the Mono.Cairo provided API right now
23302 2007-11-10 Aaron Bockover <abock@gnome.org>
23304 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
23305 Refactored some of the animation logic, fade old track text out and
23306 new track text in while the cover art xfades
23308 2007-11-10 Aaron Bockover <abock@gnome.org>
23310 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs:
23311 Provide an expand override for adding items to toolbars
23313 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml:
23314 Remove the spacing, since the track info header will expand
23316 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
23317 Draw pango layouts for displaying the track information
23319 * src/Core/Nereid/Nereid/PlayerInterface.cs: Expand the TrackInfoDisplay
23321 * src/Core/Hyena.Gui/Hyena.Data.Gui/CairoExtensions.cs: Added
23322 ColorGetHex and ColorAdjustBrightness methods
23324 2007-11-10 Aaron Bockover <abock@gnome.org>
23326 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
23327 Use a timeout instead of idle to limit the number of frames rendered;
23328 if debugging is on, print the number of fps per transition
23330 * src/Core/Banshee.Core/Banshee.Base/Log.cs: Added a DebugFormat method
23332 2007-11-10 Aaron Bockover <abock@gnome.org>
23334 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs:
23335 An adaptor around the seek slider and stream position label that connects
23336 itself to the necessary engine events
23338 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs:
23339 A connected header view for showing cover art and track information;
23340 currently only shows cover art but is 100% cairo-drawn and does cross
23343 * src/Core/Nereid/Nereid/PlayerInterface.cs: Removed all player engine
23344 event handling; embed ConnectedSeekSlider and TrackInfoDisplay; at this
23345 point the main client UI is effectively stupid and only embeds smart
23346 widgets - makes writing new client UIs very, very easy
23348 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListViewGraphics.cs: Properly align
23349 the selection stroke to the pixel boundary; sharp strokes
23351 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Added missing cr dispose
23353 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Added
23354 ArtistAlbumId shortcut property and ArtistAlbumEqual method
23356 2007-11-09 Gabriel Burt <gabriel.burt@gmail.com>
23358 * Banshee.Services/Banshee.Collection.Database/AlbumListDatabaseModel.cs:
23359 * Banshee.Services/Banshee.Collection.Database/ArtistListDatabaseModel.cs:
23360 * Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
23361 * Banshee.Services/Banshee.Playlist/PlaylistSource.cs:
23362 * Banshee.Services/Banshee.Sources/DatabaseSource.cs: Filter which artists
23363 and albums are shown for a source based on the tracks that source has.
23364 Fix playlists so they actually work.
23366 2007-11-09 Aaron Bockover <abock@gnome.org>
23368 * src/Core/Banshee.ThickClient/Banshee.Gui/IconThemeUtils.cs: Avoid
23369 possible warnings from GdkPixbuf when a resource doesn't exist by
23370 checking the manifest resource names in the assembly ahead of time
23372 * src/Core/Banshee.ThickClient/Resources/*: Migrated some icon resources
23374 * src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Use
23375 a stock icon for missing source icons
23377 2007-11-09 Gabriel Burt <gabriel.burt@gmail.com>
23379 * src/Core/Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cs:
23380 Migrate playlists as well.
23382 2007-11-09 Aaron Bockover <abock@gnome.org>
23384 * Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
23387 * Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Connect next
23388 and previous actions to the playback controller
23390 * Core/Banshee.Services/Banshee.MediaEngine/PlaybackControllerService.cs:
23391 Implement rough logic for doing linear/random playback
23393 * Core/Banshee.Services/Banshee.MediaEngine/PlaybackControllerDatabaseStack.cs:
23394 Wrap a stock generic stack for now for testing the controller logic
23396 2007-11-09 Aaron Bockover <abock@gnome.org>
23398 * Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
23399 Call QueueDraw instead of protected Invalidate methods
23401 * Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellPlaybackIndicator.cs:
23402 Added a paused pixbuf that reflects the player engine playback state
23404 * Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Provide a public QueueDraw
23405 that does proper invalidation of the internal windows
23407 * Core/Banshee.Services/Banshee.MediaEngine/PlaybackControllerService.cs:
23408 * Core/Banshee.Services/Banshee.MediaEngine/PlaybackRepeatMode.cs:
23409 * Core/Banshee.Services/Banshee.MediaEngine/PlaybackShuffleMode.cs:
23410 * Core/Banshee.Services/Banshee.MediaEngine/PlaybackControllerDatabaseStack.cs:
23411 Stubbed out some API for the new playback controller
23413 * Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Add the
23414 playback controller as a default service
23416 * Core/Hyena/Hyena/UndoManager.cs:
23417 * Core/Hyena/Hyena/IUndoAction.cs: Moved the Undo Manager
23419 * Core/Hyena/Hyena/IStackProvider.cs: A generic interface that provides
23420 a stack data structure
23422 2007-11-09 Sebastian Dröge <slomo@circular-chaos.org>
23424 * build/Common.Makefile:
23425 * build/banshee.pc.in:
23426 * build/m4/banshee/taglib.m4:
23427 * configure.ac: Allow building against an external taglib-sharp and
23428 create a proper pkg-config file when doing so (BGO: #447769, #447768).
23430 2007-11-09 Sebastian Dröge <slomo@circular-chaos.org>
23432 * build/m4/shamrock/gstreamer.m4: Allow disabling of the GStreamer
23433 plugin checks with --disable-gstreamer-plugins-check (BGO: #476500).
23435 2007-11-08 Aaron Bockover <abock@gnome.org>
23437 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellPlaybackIndicator.cs:
23438 Cell renderer that indicates when a song is the playing song
23440 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
23441 Add a ColumnCellPlaybackIndicator, iterate columns and cells to notify
23442 theme of any theme changes
23444 * src/Core/Hyena.Gui/Hyena.Data.Gui/ColumnCell.cs: Added a virtual
23445 NotifyThemeChange so cells can invalidate any theme cached items
23447 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Made invalidation
23450 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
23451 Added IsTrackPlaying method
23453 * src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Added a Self
23454 property to allow an inline data binding
23456 2007-11-08 Aaron Bockover <abock@gnome.org>
23458 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs:
23459 Added PopulateToolbarPlaceholder that allows generic widgets to be
23460 embedded in a toolbar placeholder
23462 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Cosmetic
23464 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: Added
23465 some more placeholder nodes for other widgets, and added an expanded
23466 spacing item to create the proper alignments
23468 * src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedVolumeButton.cs:
23469 A class derived from Bacon.VolumeButton that integrates with
23470 PlayerEngineService. Sexy.
23472 * src/Core/Nereid/Nereid/PlayerInterface.cs: More hotness with the
23473 header toolbar, fix spacing/cosmetic issues in the display, and embed
23474 the ConnectedVolumeButton in the toolbar
23476 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
23477 Always set the volume from the schema when starting a new track
23479 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs:
23480 Added a FIXME to just move the old artwork directory, but we'll wait
23481 until we get closer to a release to keep from messing with Banshee stable
23483 2007-11-08 Gabriel Burt <gabriel.burt@gmail.com>
23485 * Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
23486 Make track caching model work for multiple sources, not just the LibrarySource.
23488 * Banshee.Services/Banshee.Sources/DatabaseSource.cs:
23489 * Banshee.Services/Banshee.Library/LibrarySource.cs:
23490 * Banshee.Services/Banshee.Playlist/PlaylistSource.cs: Generalize
23491 and move useful functions from the LibrarySource into DatabaseSource so
23492 they can be used by PlaylistSources too.
23494 * Banshee.Services/Banshee.ServiceStack/Application.cs: Load playlists when
23497 * Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
23498 * Banshee.Services/Banshee.Services.mdp:
23499 * Banshee.Services/Banshee.Sources/ChildSource.cs:
23500 * Banshee.Services/Banshee.Sources/Source.cs:
23501 * Banshee.Services/Makefile.am: Get rid of ChildSource -- allow any Source
23502 to have a parent set.
23504 2007-11-08 Aaron Bockover <abock@gnome.org>
23506 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtworkManager.cs:
23507 Turned into a service; added a migration path for old legacy cover art
23509 * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs:
23510 Updated to use the ArtworkManager service
23512 * src/Core/Nereid/Nereid/Entry.cs: Register the ArtworkManager service
23514 * src/Core/Nereid/Nereid/PlayerInterface.cs: Spaces cleanup
23516 2007-11-08 Aaron Bockover <abock@gnome.org>
23518 * src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs:
23519 Service for interface actions via Gtk.ActionManager/Gtk.UIManager
23521 * src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs: Common
23522 global actions, like 'Quit'
23524 * src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs: Actions
23525 specific to controlling playback
23527 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeIconFactory.cs: Custom
23528 icon factory to load theme icons and resource icons into the stock
23530 * src/Core/Banshee.ThickClient/Resources/core-ui-actions-layout.xml: UI
23531 layout for the menu and toolbar
23533 * src/Core/Nereid/Nereid/PlayerInterface.cs: Embed the menu and toolbar
23534 UIs; render the stock Gtk.Toolbar as a plain, styleless widget so it
23535 blends in with the window background and looks like 'the old Banshee.'
23537 * src/Core/Nereid/Nereid/Entry.cs: Register the InterfaceActionService
23539 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
23540 Added a TogglePlaying method that just does the right thing; raise
23541 a new PlayWhenIdleRequest event if playback is requested but the engine
23544 * src/Core/Banshee.Widgets/Banshee.Widgets/GenericToolItem.cs: A generic
23545 widget container for embedding in a Gtk.Toolbar
23547 2007-11-08 Aaron Bockover <abock@gnome.org>
23549 * src/Core/Banshee.ThickClient/Banshee.Gui/BansheeIconFactory.cs: Stubbed
23550 icon factory for our icons
23552 * src/Core/Banshee.ThickClient/Banshee.Gui/GtkElementsService.cs:
23553 Instantiate a BansheeIconFactory
23555 * src/Core/Banshee.Widgets/Banshee.Widgets/StreamPositionLabel.cs: Accept
23556 milliseconds, not seconds
23558 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs: Deliver
23559 timing information in milliseconds, not seconds
23561 2007-11-07 Aaron Bockover <abock@gnome.org>
23563 * src/Core/Nereid/Nereid/PlayerInterface.cs: Added the seek slider stuff
23565 2007-11-07 Aaron Bockover <abock@gnome.org>
23567 * src/Core/Nereid/Nereid/PlayerInterface.cs: Connect the RowActivated
23568 event on the track view to the PlayerEngineService to get the first
23569 working playback in the new banshee
23571 * src/Core/Banshee.Services/Banshee.Collection.Database/LibraryTrackInfo.cs:
23572 Set CanPlay, since ... it can
23574 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Provide
23575 a property for accessing the PlayerEngineService
23577 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Fix design of RowActivted
23579 2007-11-07 Aaron Bockover <abock@gnome.org>
23581 * src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
23582 Ported the old PlayerEngineCore to be a service and to load its engines
23585 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Make
23586 PlayerEngineService a built-in service
23588 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceStartedHandler.cs:
23589 Updated delegate signature since ServiceManager is now static
23591 * src/Core/Banshee.Core/Banshee.Base/Log.cs: Add some more overrides
23593 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs: Defer
23594 the loading of the player engine internals until we get a notification
23595 from ServiceManager that the GStreamerCoreService has been loaded
23597 2007-11-07 Aaron Bockover <abock@gnome.org>
23599 * src/Core/Banshee.Core/Banshee.Base/Log.cs: Added a new, extremely simple
23600 and much more efficient logging facility
23602 * src/Core/Banshee.Base/LogCore.cs: Removed legacy logging facility
23604 2007-11-07 Gabriel Burt <gabriel.burt@gmail.com>
23606 * src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Add RowActivated event.
23608 2007-11-07 Aaron Bockover <abock@gnome.org>
23610 * src/Core/Banshee.Services/Banshee.Services.addin.xml: Define an extension
23611 point for registering services
23613 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Load
23614 addin services into the service manager; moved the Mono.Addins init stuff
23615 to ServiceManager directly
23617 * src/Backends/Banshee.GStreamer/Banshee.GStreamer.addin.xml: Define
23618 a service extension for the GStreamer backend
23620 * src/Backends/Banshee.GStreamer/Banshee.GStreamer/Service.cs: Implement
23621 the skeleton for the GStreamer service backend
23623 2007-11-05 Aaron Bockover <aaron@abock.org>
23625 * Banshee.MediaEngine.GStreamer/GstPlayerEngine.cs: Ported the GStreamer
23626 player engine to work under the new APIs, implemented as a Mono.Addin
23629 2007-11-05 Aaron Bockover <aaron@abock.org>
23631 * Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:
23632 * Nereid/Nereid/PlayerInterface.cs: Reflect API change in ServiceManager
23634 * Nereid/Nereid/Entry.cs: Reflect API change in ServiceManager and
23635 implement a TimeoutHandler using GLib.Timeout
23637 * Banshee.Services/Banshee.MediaEngine/*: Ported the PlayerEngine base
23638 class; made it a Mono.Addin extension point
23640 * Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Made
23641 ServiceManager completely static so using it doesn't suck
23643 * Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs: Allow
23644 the DBus support to be optional
23646 * Banshee.Services/Banshee.ServiceStack/AddinCoreService.cs: Service
23647 for controlling Mono.Addins
23649 * Banshee.Core/Banshee.Streaming/*: Ported StreamTagger, StreamTag and
23650 other generic stream types and friends
23652 * Banshee.Core/Banshee.Collection/TrackInfo.cs: API Fixups
23654 * Banshee.Core/Banshee.Base/ApplicationContext.cs: Fix API bug
23656 * Banshee.ThickClient/Banshee.Gui/GtkThemeService.cs: Will be used for
23657 more generic GTK interface stuff; make IPropertyStoreExpose and expose
23658 PrimaryWindow and PrimaryWindow.RawHandle properties
23660 * Hyena/Hyena.Data/IPropertyStoreExpose.cs: Interface to expose a
23663 2007-11-04 Aaron Bockover <aaron@abock.org>
23665 * src/Core/Banshee.Core/Banshee.Base/PlatformHacks.cs: A static class
23666 containing a collection of random platform-specific hacks such as
23667 forcing the process name, working around a GDK/window manager bug,
23668 and working around a GStreamer bug that interfered with signal handling
23671 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs:
23672 * src/Core/Nereid/Nereid/Entry.cs: Simplified due to PlatformHacks
23674 * src/Core/Banshee.Core/Banshee.Base/Utilities.cs: Moved SetProcessName
23675 in an effort to get rid of this file
23677 2007-11-04 Aaron Bockover <aaron@abock.org>
23679 * Hyena/Hyena.Data/PropertyStore.cs: Added StringList and GetType support
23681 * Banshee.ThickClient/Banshee.Gui/IconThemeUtils.cs: Removed unnecessary
23684 * Banshee.ThickClient/Banshee.Gui/GtkThemeService.cs: New service that
23685 listens for GTK theme changes, invalidates known icon caches in
23686 services, and notifies listening components; effectively means that
23687 the source view will update its icons if the GTK theme changes
23689 * Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Support loading
23690 icons via the IconName source property as a string or string list and
23691 cache the result in the IconPixbuf property in the source; listen
23692 to GtkThemeService to queue redraw
23694 * Nereid/Nereid/PlayerInterface.cs: Set the ListenWidget in GtkThemeService
23697 * Nereid/Nereid/Entry.cs: Register a GtkThemeService
23699 * Banshee.Services/Banshee.Library/LibrarySource.cs: Fixed icon names
23701 * Banshee.Services/Banshee.ServiceStack/ServiceManager.cs: Added Contains
23703 2007-10-31 Gabriel Burt <gabriel.burt@gmail.com>
23705 * MERGE BUILD FIXES: More fixes. Everything except src/Core/Banshee/*
23708 2007-10-29 Gabriel Burt <gabriel.burt@gmail.com>
23710 * MERGE BUILD FIXES: Replace many instances of track.DisplayTitle/Artist/Album
23711 and other build fixes.
23713 2007-10-29 Gabriel Burt <gabriel.burt@gmail.com>
23715 * MERGE BUILD FIXES: Replace many instances of track.Title/Artist/Album
23716 and Globals.ArgumentQueue etc.
23718 2007-10-29 Gabriel Burt <gabriel.burt@gmail.com>
23720 * Get things closer to building. Add SkipCount column.
23722 2007-10-29 Aaron Bockover <abock@gnome.org>
23724 * HUGE COMMIT: This commit breaks the build horribly and is a first step
23725 in the merge of all the cool model/view stuff; do not expect it to build
23726 or work at all from this point on until ... it does (hopefully within
23729 2007-10-24 Gabriel Burt <gabriel.burt@gmail.com>
23731 * src/Core/Banshee.Base/ActionManager.cs: Remove ellipses from Plugins
23732 menu item. Patch from Michael Monreal, fixes BGO #478465.
23734 * src/Plugins/Banshee.Plugins.Podcast/UI/PodcastFeedView.cs: Make strings
23735 more easily translatable. Fixes BGO #407094.
23737 2007-10-14 Yannig Marchegay <yannig@marchegay.org>
23739 * po/LINGUAS: Added 'oc' to ALL_LINGUAS.
23741 2007-10-04 Sebastian Dröge <slomo@circular-chaos.org>
23743 * src/Core/Banshee/PlayerInterface.cs: Don't filter by
23744 Artist/Album/Genre if the relevant field is empty or null. Before
23745 Banshee crashed whenever the field was null. (BGO #479237)
23746 While at that, also convert tabs to spaces.
23748 2007-10-03 Gabriel Burt <gabriel.burt@gmail.com>
23750 * src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs: Prevent
23751 array index out of bounds error -- not sure what's changed (Gtk#?) but
23752 suddenly selecting most smart playlist condition types would cause a
23753 crash. Fixes BGO #464362.
23755 * src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:
23758 2007-09-19 Sebastian Dröge <slomo@circular-chaos.org>
23760 * src/Core/Banshee.Base/Banshee.Library/Import.cs:
23761 * src/Core/Banshee.Base/StreamTagger.cs: Use TagLib to filter files
23762 that don't contain audio only instead of filtering by the mimetype
23763 which breaks for some mp4 files (BGO #472747)
23765 2007-09-04 Aaron Bockover <abock@gnome.org>
23767 * src/Core/Banshee.ThickClient: Migrated Banshee.ThickClient
23769 2007-09-04 Aaron Bockover <abock@gnome.org>
23771 * src/Core/Banshee.Services: Migrated Banshee.Services
23773 * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
23774 * src/Core/Banshee.Services/Banshee.ServiceStack/Application.cs: Disabled
23775 some things to be added back later
23777 * src/Core/Banshee.Base/Globals.cs: Add Banshee.Services startup to the
23778 existing startup sequence for now
23781 * src/Core/Makefile.am:
23782 * src/Core/Core.mds:
23783 * src/Core/Banshee.Base/Makefile.am:
23784 * build/Common.Makefile: Configure Banshee.Services in the build
23786 2007-08-29 Aaron Bockover <abock@gnome.org>
23789 * src/Core/Hyena.Gui: Added Hyena back from NG
23791 * build/Common.Makefile:
23793 * build/banshee.pc.in: Build rules for Hyena
23795 * src/Plugins/Banshee.Plugins.Radio/StationManager.cs: Fixed build bug
23797 2007-08-29 Aaron Bockover <abock@gnome.org>
23799 * src/Plugins/Banshee.Plugins.Radio/StationManager.cs:
23800 * src/Plugins/Banshee.Plugins.Radio/banshee-plugin-radio.schemas.in:
23801 Patch from Mário Meyer to allow setting the radio station base URI from
23802 which Banshee will load online radio stations
23804 2007-08-19 Aaron Bockover <abock@gnome.org>
23808 * configure.ac: Bump to 0.13.1
23810 * NEWS: Updated release notes
23812 2007-08-19 Aaron Bockover <abock@gnome.org>
23814 * src/Core/Banshee.Base/Gui/TrackEditor.cs: Reset the undo managers
23815 bound to each field when changing tracks
23817 * src/Core/Banshee.Base/Hyena/UndoManager.cs: Added a clear method
23819 * src/Core/Banshee.Base/Hyena.Gui/EntryUndoAdapter.cs: Proxy the UndoManager
23821 2007-08-19 Aaron Bockover <abock@gnome.org>
23823 Fix for BGO #453420
23825 * src/Core/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusDrive.cs: Use HAL
23826 to get capacity information if it is available
23828 * src/Core/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusRecorder.cs:
23829 Duplicate the burn drive reference as a crappy workaround to some stupid
23830 issue with libnautilus-burn in GNOME 2.19.x+
23832 * src/Core/Banshee.Base/Banshee.Cdrom.Nautilus.Interop/BurnDrive.cs:
23833 P/Invoke more functions into the glue
23835 * libbanshee/nautilus-burn.c: Add free glue to free/unref depending on
23838 * libbanshee/gst-transcode-0.10.c: Remove the meta cdwavenc element since
23839 now the CD quality caps are in the WAV profile
23841 * data/audio-profiles/wav.xml.in: Added caps for proper encoding of
23844 2007-08-19 Aaron Bockover <abock@gnome.org>
23846 * src/Core/Banshee.Base/Paths.cs: Expand ~ to home directory
23848 2007-08-19 Aaron Bockover <abock@gnome.org>
23850 * src/Core/Banshee.Base/Banshee.Playlists.Formats/AsxPlaylistFormat.cs:
23851 Added first pass of ASX parsing support
23853 * src/Core/Banshee.Base/Banshee.Playlists.Formats/PlaylistParser.cs:
23854 Add ASX to the list of playlist formats to try
23856 * tests/*: Added ASX tests
23858 2007-08-19 Aaron Bockover <abock@gnome.org>
23860 * src/Plugins/Banshee.Plugins.Radio/RadioTrackInfo.cs:
23861 * src/Core/Banshee.Base/RadioTrackInfo.cs: Moved RadioTrackInfo from
23862 the radio plugin into core
23864 * src/Plugins/Banshee.Plugins.Radio/CellRendererStation.cs: Added null check
23866 * src/Core/Banshee/PlayerInterface.cs: Use RadioTrackInfo with the open
23867 location dialog so now internet playlists can be opened and played
23870 2007-08-19 Aaron Bockover <abock@gnome.org>
23872 * src/Plugins/Banshee.Plugins.Radio/RadioTrackInfo.cs: Updated to use
23873 the new PlaylistParser in Banshee; handle errors more sanely so the
23874 UI becomes more responsive and informative
23876 * src/Plugins/Banshee.Plugins.Radio/totem-plparser/: Nuked! Internet
23877 Radio playlists are now handled in fully managed code - no more Totem
23878 PlParser dependency
23880 * src/Core/Banshee.Base/Banshee.Playlists.Formats/PlaylistParser.cs:
23881 New PlaylistParser to replace Totem PlParser; this is completely managed
23882 code and uses the new PlaylistFormat work from the previous commit; the
23883 parser currently handles local and HTTP streams
23885 * src/Core/Banshee.Base/Banshee.Playlists.Formats/PlaylistFormatDescription.cs:
23886 Added a magic delegate to allow the format to see if it may be able to
23889 * src/Core/Banshee.Base/Banshee.Playlists.Formats/PlaylistFormatBase.cs:
23890 * src/Core/Banshee.Base/Banshee.Playlists.Formats/IPlaylistFormat.cs:
23891 Add StreamReader API
23893 * src/Core/Banshee.Base/Banshee.Playlists.Formats/M3uPlaylistFormat.cs:
23894 * src/Core/Banshee.Base/Banshee.Playlists.Formats/PlsPlaylistFormat.cs:
23895 Fixes; refactored slightly to use the tweaked base API
23897 * src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs: Updated
23898 to reflect some minor API changes
23900 * tests/PlaylistFormats.cs: Add some more tests
23902 * src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:
23903 Catch some stupid exception
23905 2007-08-19 Aaron Bockover <abock@gnome.org>
23907 * src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs:
23908 * src/Core/Banshee/PlayerInterface.cs: Updated to use new playlist
23911 * src/Core/Banshee.Base/Banshee.Playlists.Formats/PlaylistFile.cs:
23912 * src/Core/Banshee.Base/Banshee.Playlists.Formats/M3u.cs:
23913 * src/Core/Banshee.Base/Banshee.Playlists.Formats/Pls.cs: Removed old
23914 PLS and M3U implementations and the old base class
23916 * src/Core/Banshee.Base/Banshee.Playlists.Formats/PlaylistFormatDescription.cs:
23917 New class to describe a playlist format for GUI/factory reasons
23919 * src/Core/Banshee.Base/Banshee.Playlists.Formats/IPlaylistFormat.cs:
23920 * src/Core/Banshee.Base/Banshee.Playlists.Formats/PlaylistFormatBase.cs:
23921 * src/Core/Banshee.Base/Banshee.Playlists.Formats/M3uPlaylistFormat.cs:
23922 * src/Core/Banshee.Base/Banshee.Playlists.Formats/PlsPlaylistFormat.cs:
23923 API for implementing new playlist formats; new implementation of
23924 M3U and PLS formats
23926 * src/Core/Banshee.Base/Banshee.Playlists.Formats/InvalidPlaylistException.cs:
23927 Exception for invalid playlists
23929 * src/Core/Banshee.Base/IO/SystemIO.cs:
23930 * src/Core/Banshee.Base/IO/Unix.cs:
23931 * src/Core/Banshee.Base/IO/GnomeVfs.cs:
23932 * src/Core/Banshee.Base/IO/Interfaces.cs: Added OpenRead and OpenWrite
23933 stream methods on File
23935 * build/Common.Makefile: Link against TagLib for BUILD_LIB_BANSHEE
23937 * tests/PlaylistFormats.cs: Added tests for playlist parsing
23939 * tests/playlist-data: Test data for playlist parsing
23941 2007-08-19 Aaron Bockover <abock@gnome.org>
23943 * src/Plugins/Banshee.Plugins.Recommendation/RecommendationUtilities.cs:
23944 If response stream is GZip compressed, decompress it on the fly using
23945 ICSharpCode.SharpZipLib.GZip (Christian Krause, BGO #468216)
23947 * src/Plugins/Banshee.Plugins.Recommendation/Makefile.am: Link against
23948 ICSharpCode.SharpZipLib
23950 * configure.ac: Check for ICSharpCode.SharpZipLib in GAC
23952 2007-08-15 Aaron Bockover <abock@gnome.org>
23954 * src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs:
23955 Finally fixed the 'rating exceeds 100%' issue with the recommendation
23956 plugin - it was a localization/parsing issue (BGO #451457)
23958 * src/Core/Banshee.Base/Globals.cs: Expose a static en-US culture as
23959 InternalCultureInfo for use when parsing non-culture-dependent data
23961 * ChangeLog: Fixed a bunch of dates that were 2006
23963 2007-08-15 Aaron Bockover <abock@gnome.org>
23965 * src/Core/Banshee.Base/Hyena.Gui/EntryUndoAdapter.cs: An adapter to
23966 use UndoManager against any Gtk.Entry
23968 * src/Core/Banshee.Base/Hyena.Gui/EntryInsertAction.cs:
23969 * src/Core/Banshee.Base/Hyena.Gui/EntryEraseAction.cs: IUndoAction
23970 implementations for inserting and removing text from a Gtk.Entry
23972 * src/Core/Banshee.Base/Hyena/IUndoAction.cs: Interface for supporting
23975 * src/Core/Banshee.Base/Hyena/UndoManager.cs: Logic for supporting
23976 unlimited undo/redo actions
23978 * src/Core/Banshee.Base/Gui/TrackEditor.cs: Apply an EntryUndoAdapter
23979 to Gtk.Entry fields in the metadata track editor (BGO #465736)
23981 2007-08-06 Aaron Bockover <abock@gnome.org>
23983 * src/Core/Banshee.Base/Paths.cs: Support the changes to the
23984 xdg-user-dirs spec that allow $HOME to start the path; also allows
23985 for quotes surrounding the path (BGO #461596)
23987 2007-08-05 Aaron Bockover <abock@gnome.org>
23989 * data/banshee.desktop.in.in: Removed X-SuSE-translate
23991 2007-08-05 Aaron Bockover <abock@gnome.org>
23995 * NEWS: Updated with 0.13.0 release notes
23997 * configure.ac: Do not check for cdparanoiasrc; cdda sources will be
23998 resolved at runtime via URI
24000 2007-08-04 Aaron Bockover <abock@gnome.org>
24002 * src/Engines/Banshee.MediaEngine.GStreamer/GstPlayerEngine.cs: Pass
24003 the top level GdkWindow to the engine
24005 * libbanshee/gst-misc-0.10.c: Initialize pbutils
24007 * libbanshee/gst-playback-0.10.c: Very basic support for the gstreamer
24008 install plugins framework; still could use a lot of love
24010 * build/m4/banshee/gstreamer.m4: Check to see if pbutils is supported
24012 * data/audio-profiles/Makefile.am: Do not install the aac/faac profile
24013 as the plugins it requires are very broken in GStreamer; this profile
24014 only confuses users
24016 2007-08-03 Aaron Bockover <abock@gnome.org>
24018 * libbanshee/gst-cd-rip-0.10.c: Do not hard core cdparanoia. Create the
24019 cdda source from URI to avoid a hard dependency.
24021 2007-07-10 Aaron Bockover <abock@gnome.org>
24023 * libbanshee/gst-playback-0.10.c: Nasty, hopefully temporary, hack to
24024 ignore errors coming from qtdemux as it seems to have an issue with
24025 demuxing AAC files that come from iTunes Plus store (the DRM-free files)
24027 2007-07-10 Aaron Bockover <abock@gnome.org>
24029 * src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs: Only call Eject on
24030 the storage volume if storage.requires_eject is not set or is true; calling
24031 Eject on a volume that doesn't require it causes problems (BGO #443048,
24034 * src/Core/Banshee.Base/Gui/PreferencesDialog.cs: Use SetCurrentFolder
24035 instead of SetFilename on FileChooserButton to avoid a race condition
24036 in GTK+ (BGO #443027, Ilya Konstantinov)
24038 2007-07-03 Patrick van Staveren <trick@vanstaveren.us>
24040 * ext/taglib-sharp: change svn:externals pointer to use http:// rather
24043 2007-06-12 Aaron Bockover <abock@gnome.org>
24045 * data/audio-profiles/wavpack.xml.in: Updated by Sebastian Dröge
24047 2007-06-10 Gabriel Burt <gabriel.burt@gmail.com>
24049 * src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs: Set remover to null
24050 when finished deleting and set correct icon (Pepijn van de Geer, BGO
24053 2007-06-09 Gabriel Burt <gabriel.burt@gmail.com>
24055 * src/Core/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs: Add
24056 support for querying TrackNumber in smart playlists (Michael Monreal, BGO #445773).
24058 2007-06-09 Gabriel Burt <gabriel.burt@gmail.com>
24060 * src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs: Increment the counter
24061 to make the (gui) counter and progressbar work (Pepijn van de Geer,
24064 2007-06-03 Gabriel Burt <gabriel.burt@gmail.com>
24066 Patch from Brian Nickel fixing the build.
24068 * src/Core/Banshee.Base/FileTrackInfo.cs:
24069 * src/Core/Banshee.Base/IO/IOProxy.cs:
24070 * src/Core/Banshee.Base/StreamTagger.cs:
24071 * src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs: Work with latest TagLib#.
24073 2007-05-30 Gabriel Burt <gabriel.burt@gmail.com>
24075 * src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImportDialog.cs:
24076 * src/Core/Banshee.Base/Banshee.PlayerMigration/AmarokPlayerImport.cs:
24077 * src/Core/Banshee.Base/Banshee.PlayerMigration/RhythmboxPlayerImport.cs:
24078 Make some strings translatable.
24080 2007-05-28 Aaron Bockover <abock@gnome.org>
24082 Patch to provide 16x16 versions of the playlist icons (BGO #398484,
24085 * src/Core/Banshee/PlayerInterface.cs:
24086 * src/Core/Banshee.Base/Sources/AbstractPlaylistSource.cs:
24087 * src/Core/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
24088 Reference source-smart-playlist-{16,22} and source-playlist-{16,22}
24090 * data/images/source-smart-playlist-16.png:
24091 * data/images/source-playlist-16.png: 16x16 versions of the playlist icons
24093 2007-05-25 Gabriel Burt <gabriel.burt@gmail.com>
24095 * src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:
24096 Show the rating item for Smart Playlists too.
24098 2007-05-24 Aaron Bockover <abock@gnome.org>
24100 * src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:
24101 Allow rating the current playing track from the notif. menu (BGO #337157,
24102 Pepijn van de Geer)
24104 2007-05-24 Aaron Bockover <abock@gnome.org>
24106 * src/Core/Banshee.Base/Paths.cs: Added ReadXdgUserDir to detect
24107 XDG user directories; use XDG_MUSIC_DIR or ~/Music for the default
24110 2007-05-23 Aaron Bockover <abock@gnome.org>
24112 * src/Core/Banshee.Base/IO/SystemIO.cs:
24113 * src/Core/Banshee.Base/IO/Unix.cs:
24114 * src/Core/Banshee.Base/IO/GnomeVfs.cs: Implemented Close(System.IO.Stream)
24115 to reflect changes made in TagLib#
24117 2007-05-22 Aaron Bockover <abock@gnome.org>
24119 * src/Core/Banshee/PlayerInterface.cs: Do not start search until at
24120 least three characters are available
24122 2007-05-22 Aaron Bockover <abock@gnome.org>
24124 NOTE TO ALL: ~/.gnome2/banshee is now ~/.config/banshee
24126 * src/Core/Banshee.Base/Paths.cs: Changed ApplicationData to
24127 ~/.config/banshee; added new property, LegacyApplicationData which remains
24130 * src/Core/Banshee.Base/Globals.cs: If Paths.ApplicationData does not
24131 exist, check for Paths.LegacyApplicationData and move the directory
24132 to Paths.ApplicationData if it does; if not, create Paths.ApplicationData
24133 or use it if it already exists
24135 * src/Core/Banshee.Base/Library.cs: Removed unnecessary directory check
24136 and creation of Paths.ApplicationData as this is always handled at
24139 2007-05-22 Aaron Bockover <abock@gnome.org>
24141 * src/Core/Banshee.Base/Banshee.PlayerMigration/PlayerImportSource.cs:
24142 Use the 'applications-other' icon if it exists... we need a better
24143 icon for this source; syntax cleanup
24145 * src/Core/Banshee.Base/Gui/ImportDialog.cs: Select PlayerImportSource
24146 if there are no tracks in the library and an audio CD is not available;
24147 make the dialog transient and centered on parent
24149 2007-05-22 Aaron Bockover <abock@gnome.org>
24151 Patch by Sebastian Dröge <slomo@circular-chaos.org>
24153 * src/Core/Banshee.Base/Banshee.PlayerMigration/*:
24154 * src/Core/Banshee.Base/Makefile.am:
24155 * src/Core/Banshee.Base/Banshee.Base.mdp:
24156 * src/Core/Banshee.Base/Gui/ImportDialog.cs:
24157 Add import source and small framework for importing from libraries by
24158 other players and an importer for Amarok and Rhythmbox (BGO #378430)
24160 2007-05-22 Aaron Bockover <abock@gnome.org>
24162 * src/Extras/Boo/: Updated bundled Boo assemblies to 0.7.7.2475
24164 * build/Common.Makefile: Link against Boo.Lang.dll
24166 * src/Extras/BooBuddy/BooBuddyInterpreter.cs: Print the Boo compiler
24167 version in the shell welcome message
24169 2007-05-22 Aaron Bockover <abock@gnome.org>
24171 * src/Plugins/Banshee.Plugins.Recommendation/Makefile.am: Fixed up so
24172 we distcheck ok again
24174 * build/m4/banshee/gmcs-79698.m4:
24175 * build/mcs-test-79698.cs:
24176 * build/Makefile.am:
24178 * configure.ac: Do not run the gmcs check for BXC #79698 anymore (a
24179 bug that plagues gmcs 1.1.18) since it means we have to bundle a fixed
24180 C# compiler; there are several Mono releases since 1.1.18 now with
24181 fixed packages available for and/or pushed into distros; reduces the
24182 tarball size quite a bit now; however, anyone using 1.1.18 to build
24183 now will get a broken build - be warned
24185 2007-05-22 Aaron Bockover <abock@gnome.org>
24188 * Makefile.am: Updated to reflect tools and extras directory changes
24190 * tools/*: Moved to extras/tools
24192 * extras/scripts/*.boo: Added a safe place for some boo scriptlets which
24193 may be of use to some users
24195 2007-05-09 Aaron Bockover <abock@gnome.org>
24197 * src/Core/Banshee.Widgets/SearchEntry.cs: Some drawing fixes
24199 2007-05-09 Aaron Bockover <abock@gnome.org>
24201 * src/Core/Banshee.Base/Banshee.SmartPlaylist/Editor.cs: Properly fixed
24202 up to use the new search filter stuff
24204 2007-05-09 Aaron Bockover <abock@gnome.org>
24206 * src/Core/Banshee.Widgets/SearchEntry.cs: Completely rewritten SearchEntry
24207 with a better filter API and proper GTK themeing
24209 * src/Core/Banshee.Widgets/HoverImageButton.cs: A cute button that may
24210 end up somewhere standalone, but for now makes up the filter and clear
24211 buttons in the new SearchEntry
24213 * src/Core/Banshee.Base/TrackFilterType.cs: Define what kind of filters
24214 can be made on the track view; means that logic can happen against this
24215 enum instead of lots of stupid Catalog.GetString()+string comparisons,
24216 so searching should actually be a bit faster
24218 * src/Core/Banshee.Base/Source.cs: Save a TrackFilterType instead of the
24219 old string filter name
24221 * src/Core/Banshee/PlayerInterface.cs: Use the new SearchEntry API which
24222 should actually bring search/filter speed improvements
24224 * src/Core/Banshee.Base/Banshee.SmartPlaylist/Editor.cs: Hackishly use
24225 the new SearchEntry API (needs finishing)
24227 2007-05-07 Aaron Bockover <abock@gnome.org>
24229 * src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:
24230 A nice piece of crack I'm not sure about yet - reverse the menu contents
24231 if the notification area is on the bottom of the screen so the most used
24232 items are closest to the panel - more usable in theory, but maybe it's
24235 * src/Dap/Banshee.Dap.Ipod/DatabaseRebuilder.cs:
24236 * src/Core/Banshee.Base/Gui/TrackEditor.cs:
24237 * src/Core/Banshee.Base/FileTrackInfo.cs:
24238 * src/Core/Banshee.Base/StreamTagger.cs: Updated to use the TagLib# 2.0
24239 API (BGO #436743, Sebastian Dröge)
24241 * ext/taglib-sharp/TagLib: Updated TagLib external reference back to
24242 TagLib# trunk for development work, may cause breakage at times during
24243 this development cycle
24245 * ext/taglib-sharp/Makefile.am:
24246 * ext/taglib-sharp/Makefile.MonoDevelop:
24247 * ext/taglib-sharp/TagLib.sources: Explicitly define sources in
24248 TagLib.sources and use them for building as wildcard matching no longer
24249 produces a clean build on TagLibg# trunk
24251 * libbanshee/gst-playback-0.10.c: Check to see if playbin is still
24252 alive before pausing (BGO #436741, Sebastian Dröge)
24254 2007-05-07 Gabriel Burt <gabriel.burt@gmail.com>
24256 * data/UIManagerLayout.xml:
24257 * src/Core/Banshee.Base/ActionManager.cs: Remove menu items (Columns,
24258 Select All/None) from track context menu. Properly capitalize others.
24260 * src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconConfigPage.cs:
24261 * src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconMenu.xml:
24262 * src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs: Add
24263 a menu item for disabling/enabling notifications to the notification icon menu.
24265 2007-05-07 Aaron Bockover <abock@gnome.org>
24267 * Banshee.mds: Added a new top-level solution that will build in ext/
24268 and in libbanshee/ first
24270 * src/Core/Banshee.Base/Banshee.Base.mdp: Run
24271 build/monodevelop/fixup-configuredefines before the build
24273 * ext/Makefile.MonoDevelop:
24274 * ext/dbus-sharp/Makefile.MonoDevelop:
24275 * ext/hal-sharp/Makefile.MonoDevelop:
24276 * ext/taglib-sharp/Makefile.MonoDevelop: Simple makefiles that can be
24277 run from inside MonoDevelop without any need to run autogen/configure
24279 * build/monodevelop/fixup-configuredefines: A script to generate
24280 src/Core/Banshee.Base/ConfigureDefines.cs without having to run
24281 configure; used from within MonoDevelop
24283 2007-05-07 Aaron Bockover <abock@gnome.org>
24285 * src/Plugins/Banshee.Plugins.Sample: Added the sample plugin to the build
24286 from the Wiki so we can verify it is always building and working; of
24287 course it does not get installed/packaged
24290 * src/Plugins/Plugins.mds:
24291 * src/Plugins/Makefile.am: Added src/Plugins/Banshee.Plugins.Sample
24293 2007-04-26 Aaron Bockover <abock@gnome.org>
24295 * src/Plugins/Banshee.Plugins.MMKeys/MMKeysPlugin.cs:
24296 * src/Core/Banshee.Base/GnomeMMKeys.cs:
24297 Added handling for Stop multimedia key (BGO #425247, Bojan Rajkovic)
24299 2007-04-26 Aaron Bockover <abock@gnome.org>
24301 * src/Core/Banshee.Base/Banshee.Metadata.Embedded/EmbeddedQueryJob.cs:
24302 Fix crash if embedded picture data is null (BGO #433668, Dan Wilson)
24304 2007-04-24 Aaron Bockover <abock@gnome.org>
24306 * src/Core/Banshee.Widgets/ComplexMenuItem.cs: Do not try to connect
24307 the key press proxy if the new Parent is null; Never proxy Gdk.Key.Escape
24308 to the menu item; implement a default key press override that has the
24309 current Gtk.MenuItem behavior
24311 2007-04-24 Aaron Bockover <abock@gnome.org>
24313 * src/Core/Banshee/PlayerInterface.cs: Use RatingMenuItem instead of
24314 the submenus which are clunky and ugly
24316 * src/Core/Banshee.Widgets/ComplexMenuItem.cs: A special MenuItem that
24317 allows widgets to be embedded and connected to a proper theme expose
24318 handler, also enables keyboard events to be passed to the menu item
24320 * src/Core/Banshee.Widgets/RatingMenuItem.cs: A ComplexMenuItem that
24321 embeds the RatingEntry in it to allow inline track rating from menus;
24322 with the item selected, it accepts input via the mouse with clicking
24323 or dragging, the scroll wheel, or the keyboard
24325 * src/Core/Banshee.Widgets/RatingEntry.cs: Drawing related changes to
24326 allow the widget to be embedded in other widgets and fit in, but also
24327 work properly as a standalone 'entry'; fix drag-rating in the standalone
24330 * src/Core/Banshee.Base/ActionManager.cs:
24331 * data/UIManagerLayout.xml: Remove RatingAction as it was never a real
24332 action and acted only as a visible placeholder
24334 2007-04-23 Aaron Bockover <abock@gnome.org>
24336 * src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs:
24337 Load generic-artist.png in place of the artist photo if there's a problem
24338 loading the artist photo from last.fm (BGO #432200); cosmetic string
24339 changes; round the similarity value to the nearest whole percentage;
24340 introduce a cache wipe/versioning system to allow the cache to be wiped
24341 if the code to parse it changes later on (see NOTE in code) - everyone
24342 will start out with a clean cache after this update at version 2
24344 * src/Plugins/Banshee.Plugins.Recommendation/RecommendationPlugin.cs:
24345 Added schema for cache_version
24347 * src/Plugins/Banshee.Plugins.Recommendation/generic-artist.png: Added
24348 a musician to display if an artist photo cannot be loaded from last.fm
24350 2007-04-18 Aaron Bockover <abock@gnome.org>
24352 * src/Plugins/Banshee.Plugins.Daap/DaapCore.cs: Share local playlists
24353 over DAAP (BGO #407672, Daniel Munckton)
24355 * src/Core/Banshee/Banshee.TrackView.Columns/DateAddedColumn.cs:
24356 * src/Core/Banshee/Banshee.TrackView.Columns/TrackViewColumn.cs:
24357 * src/Core/Banshee/PlaylistView.cs: Added a Date Added column for the
24358 track view (BGO #392232, Pepijn van de Geer)
24360 * src/Core/Banshee.Base/ActionManager.cs: Fix capitalization errors; first
24361 break of string freeze from 0.12.x (BGO #410183, Igor Guerrero Fonseca)
24363 * src/Extras/BooBuddy/BooBuddy.Debugger/DebugAliasBuilder.cs: Fix p_help()
24364 output to correctly show description (BGO #424951, Ruben Vermeersch)
24366 * src/Extras/BooBuddy/BooBuddy.Debugger/DebugAliasAttribute.cs:
24367 * src/Extras/BooBuddy/BooBuddy.Debugger/DebugAliasBuilder.cs: Ensure
24368 functions are not aliased twice to allow Boo Buddy to be closed and
24369 re-opened (BGO #416991, Scott Peterson)
24371 * src/Core/Banshee/PlayerInterface.cs: Sort the playlists in 'Add to
24372 playlist' in the same order as sources (BGO #398489, Pepijn van de Geer)
24374 2007-04-18 Aaron Bockover <abock@gnome.org>
24376 * src/Core/Banshee/PlayerInterface.cs: Make the track view popup menu
24377 accessible from the keyboard (BGO #334132, Bill Dawson)
24379 2007-04-18 Aaron Bockover <abock@gnome.org>
24381 This patch adds org.gnome.SettingsDaemon MM Keys support, originally
24382 done by Jan Arne Petersen as a patch to the MM Keys plugin. Redesigned
24383 by myself to leave support for older GNOME in tact while removing the
24384 overhead of a plugin on new GNOME. Fixes BGO #395433.
24386 * src/Core/Banshee.Base/Plugins/PluginFactory.cs (AddExcludeMask): Allow
24387 filtering plugins for exclusion based on their file name
24389 * src/Core/Banshee.Base/Plugins/PluginCore.cs: Do not load the legacy
24390 MM Keys plugin if the new GnomeMMKeys is loaded successfully
24392 * src/Core/Banshee.Base/GnomeMMKeys.cs: A standalone MM Keys component
24393 that uses the new org.gnome.SettingsDaemon DBus interface available in
24394 GNOME 2.18+. If this component loads, the legacy plugin will be disabled
24396 * src/Core/Banshee.Base/Globals.cs: Try to load GnomeMMKeys at startup;
24397 load DBus background components before plugins in case the plugins need
24400 2007-04-17 Aaron Bockover <abock@gnome.org>
24402 * src/Plugins/Banshee.Plugins.Daap/DaapSource.cs: Crash fix (BGO #406923,
24405 * src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs: Resolve PSP Audio
24406 Device Properties crash (BGO #419163, Jason Conti)
24408 * src/Plugins/Banshee.Plugins.Recommendation/RecommendationUtilities.cs:
24409 Prevent reco cache from getting corrupt (BGO #381229, Pepijn van de Geer)
24411 * src/Core/Banshee.Base/Dap/Dap.cs: Fixed NJB syncing (BGO #405289,
24414 * src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileComboBox.cs:
24415 Do not forget profile setting (BGO #410498, Lauri Kotilainen)
24417 * src/Core/Banshee.Base/Gui/SourceView.cs: Ensure sources that are not
24418 CanActivate really can't be activated (BGO #415138, Scott Peterson)
24420 2007-04-17 Aaron Bockover <abock@gnome.org>
24422 * build/gconf-schema-rules: Revert previous commit as it breaks the
24423 install if builddir is undefined; also shouldn't be necessary at all as
24424 builddir is effectively supposed to be '.' if set and the script is run
24425 from the directory with the .schema file in it anyway
24427 2007-04-16 Gary Ekker <gekker@novell.com>
24429 * build/gconf-schema-rules: Fix installation path of schema_DATA
24431 2007-04-13 Gabriel Burt <gabriel.burt@gmail.com>
24433 * src/Plugins/Banshee.Plugins.Bookmarks/BookmarksPlugin.cs: Use UIManager
24434 for the Add Bookmark item and have Ctrl-D activate it. Add hidden logger
24435 warnings for several errors.
24437 * src/Plugins/Banshee.Plugins.Bookmarks/BookmarksMenu.xml:
24438 * src/Plugins/Banshee.Plugins.Bookmarks/Makefile.am: New menu XML.
24440 2007-04-13 Gabriel Burt <gabriel.burt@gmail.com>
24442 * src/Plugins/Banshee.Plugins.Bookmarks/BookmarksPlugin.cs: Clean the
24443 design of the plugin with clear distinctions between the plugin, the UI,
24444 and the model. Handle bookmarked tracks being removed, and escape
24445 underscores in track names when putting them in menus, and make the plugin
24448 2007-04-12 Aaron Bockover <abock@gnome.org>
24450 Added playlist import/export functionality (BGO #363018)
24451 Trey Ethridge <tale@juno.com>
24453 * src/Core/Banshee/PlayerInterface.cs: Implemented OnImportPlaylistAction
24454 and OnExportPlaylistAction
24456 * src/Core/Banshee.Base/Gui/FileChooserDialog.cs: Overloaded constructor.
24458 * src/Core/Banshee.Base/Banshee.Playlists.Formats/Pls.cs: Uncommented
24459 exception that is thrown when import determines file is not a Pls file.
24461 * src/Core/Banshee.Base/Banshee.Playlists.Formats/PlaylistFile.cs: Added
24464 * src/Core/Banshee.Base/Banshee.Playlists.Formats/Pls.cs:
24465 * src/Core/Banshee.Base/Banshee.Playlists.Formats/M3u.cs: Uncommented
24466 exception that is thrown when import determines file is not a playlist file
24468 * src/Core/Banshee.Base/SourceManager.cs: Show the export option on
24469 playlist source context menus
24471 * src/Core/Banshee.Base/Banshee.Library/Import.cs: Exposed import status
24473 * src/Core/Banshee.Base/ImportManager.cs: Exposed import status
24475 * src/Core/Banshee.Base/Banshee.Playlists/PlaylistFileUtil.cs: Utilities
24478 * src/Core/Banshee.Base/Banshee.Playlists/IPlaylist.cs: Added interface
24479 for playlists to implement. Allows the export menu option to be added
24480 to context menu in a generic manner.
24482 * src/Core/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
24483 * src/Core/Banshee.Base/Sources/PlaylistSource.cs: Implemented IPlaylist
24485 * src/Core/Banshee.Base/ActionManager.cs: Added actions for import/export
24487 2007-04-03 Gabriel Burt <gabriel.burt@gmail.com>
24489 Add new plugin, disabled by default, for bookmarking positions in tracks.
24492 * src/Plugins/Makefile.am:
24493 * src/Plugins/Plugins.mds:
24494 * src/Plugins/Banshee.Plugins.Bookmarks/BookmarksPlugin.cs:
24495 * src/Plugins/Banshee.Plugins.Bookmarks/Makefile.am:
24496 * src/Plugins/Banshee.Plugins.Bookmarks/banshee-plugin-bookmarks.schemas.in:
24497 * src/Plugins/Banshee.Plugins.Bookmarks/Banshee.Plugins.Bookmarks.mdp: New.
24499 2007-04-01 Aaron Bockover <abock@gnome.org>
24501 * build/m4/banshee/dap-ipod.m4: Required ipod-sharp 0.6.3
24503 2007-04-01 Aaron Bockover <abock@gnome.org>
24505 * configure.ac: Bump version to 0.13.0 to mark the start of the new
24508 2007-03-31 Aaron Bockover <abock@gnome.org>
24510 * src/Core/Banshee.Base/Utilities.cs (SetProcessName): Added a fallback
24511 to setproctitle if prctl fails; this should work for BSD
24513 2007-03-31 Aaron Bockover <abock@gnome.org>
24515 * src/Dap/Banshee.Dap.Ipod/IpodDap.cs: Fixed major bug where no tracks
24516 would be read on an HFS+ iPod; handle new iPod shuffles a little better;
24517 map to more suitable device icons for new Nanos and Shuffles
24519 * src/Dap/Banshee.Dap.Ipod/UnsupportedDatabaseView.cs: Dot not offer to
24520 rebuild the database if iPod is read only/HFS+
24522 * src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileComboBoxConfigurable.cs:
24523 * src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs: Do not crash when
24524 reading profile properties
24526 * src/Core/Banshee.Base/Banshee.Kernel/Scheduler.cs: Added Suspend/Resume
24527 methods to stop the processing of scheduled jobs
24529 * src/Core/Banshee.Base/QueuedOperationManager.cs: Internals rewritten
24530 to use the scheduler instead of creating its own threads; there was a huge
24531 bug here that ended up potentially spawning hundreds of threads. Evil.
24532 The scheduler rocks.
24534 * src/Core/Banshee.Base/Sources/DapSource.cs: Added some null checks and
24535 updated to reflect changes in QOM
24537 * src/Plugins/Banshee.Plugins.Podcast/PodcastDBManager.cs: Do not bail
24538 reading the DB if the date/time is invalid
24540 2007-03-25 Ruben Vermeersch <ruben@savanne.be>
24542 * src/Core/Banshee.Base/Paths.cs: Fix a typo in DefaultLibraryPath
24545 2007-03-19 Alp Toker <alp@atoker.com>
24547 * ext/dbus-sharp/README: Add dbus-sharp README so hackers/packagers
24550 2007-03-19 Alp Toker <alp@atoker.com>
24552 * ext/dbus-sharp/*: Update dbus-sharp to 0.4.2 stable release
24554 2007-03-05 Aaron Bockover <abock@gnome.org>
24558 * NEWS: Updated with 0.12.0 release notes
24560 2007-03-05 Aaron Bockover <abock@gnome.org>
24562 * configure.ac: Bumped to 0.12.0
24564 * src/Core/Banshee/banshee.in: Prepend GST_PLUGINS_PATH instead of
24567 2007-03-05 Aaron Bockover <abock@gnome.org>
24569 * src/Plugins/Banshee.Plugins.Radio/RadioSource.cs: Implement StartPlayback
24570 method which will play either the selected station, the first station
24571 in the selected group, or the first station in the first group when
24572 there is no selection (happens when the main play button is clicked);
24573 disabled the previous/next actions as they do not apply to radio
24575 * src/Plugins/Banshee.Plugins.MiniMode/SourceModel.cs: Updated FindSource
24576 to be recursive like the SourceView (Scott Peterson, BGO #414505)
24578 * src/Core/Banshee.Base/Gui/SourceView.cs: Fixed ellipsis code to not
24579 use excessive substrings in a try/catch form; efficient and no longer
24580 ugly (Scott Peterson, BGO #414485)
24582 * src/Plugins/Banshee.Plugins.MiniMode/minimode.glade: Full screen button
24583 should not have relief now that others do not
24585 * src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs:
24586 Update background of recommendations pane on StyleSet (Brian Kerrick
24587 Nickel BGO #413593)
24589 * src/Core/Banshee.Base/PlayerEngineCore.cs: Added null check for
24590 CurrentTrack (BGO #410364)
24592 * src/Core/Banshee.Base/SafeUri.cs: Added Equals method
24594 * src/Core/Banshee.Base/Source.cs: Added StartPlayback virtual method
24595 that sources can override to handle when the play button is pressed
24596 while the engine is in idle
24598 * src/Core/Banshee.Widgets/FadingAlignment.cs: Updated to be a bit more
24599 subtle and use better color choices (background+mid); Added a subtle
24600 left border to blend better with the view widget (BGO #412584)
24602 * src/Core/Banshee/PlaylistModel.cs: Reset the PlayingIter to zero when
24603 a new stream is started
24605 * src/Core/Banshee/PlaylistView.cs: Set as 'now playing' when the playing
24606 iter is set, do not update the iter is non-zero; set the PlayingIter
24607 when the URIs of two tracks are equal, caches to reduce comparisons; fixes
24608 both (BGO #408128, #348079, BNC #228720)
24610 * src/Core/Banshee/PlayerInterface.cs: In PlayPause, call StartPlayback
24611 on the active source if it implements the method and the engine is in
24614 * src/Core/Banshee/Main.cs: Manually call gdk_set_program_class as there
24615 appears to be an issue with window grouping in SLED FCS and SP1; also
24616 use Gnome.Program.Run instead of Gtk.Application.Run (BNC #249494)
24618 2007-02-26 Mike Kestner <mkestner@novell.com>
24620 * autogen.sh: don't clobber existing ACLOCAL_FLAGS.
24622 2007-02-26 Aaron Bockover <abock@gnome.org>
24624 * src/Plugins/Banshee.Plugins.Radio/StationManager.cs: Ensure that local
24625 stations can be loaded even if the remote ones can't (BNC #248831)
24627 * src/Core/Banshee.Base/Banshee.Playlists.Formats.Xspf/Playlist.cs: Throw
24628 an exception if the XSPF document does not have a valid root node to
24629 ensure that a NullReferenceException doesn't get thrown (can be bad due
24630 to how Mono handles them - often they lead to an unhandled SIGSEGV)
24632 2007-02-25 Gabriel Burt <gabriel.burt@gmail.com>
24634 * src/Core/Banshee/PlayerInterface.cs: Make the Remove content menu option
24635 insensitive for SmartPlaylistSources. Make the Add to Playlist/Ratings
24636 menus show up for SmartPlaylistSources. Fixes BGO #411221.
24638 2007-02-24 Aaron Bockover <abock@gnome.org>
24640 * src/Core/Banshee/PlayerInterface.cs: Use the Fading Alignment under the
24643 * src/Core/Banshee.Widgets/FadingAlignment.cs: Make the gradient look nicer
24645 * data/banshee.glade: Reordered some widgets to allow for proper spacing
24647 2007-02-23 Aaron Bockover <abock@gnome.org>
24649 * libbanshee/gst-playback-0.10.c: Set the pipeline to playing or paused
24650 when at the right time when buffering a stream so the clock can't get
24651 ahead of itself, which may cause some streams to rebuffer depending on
24652 the stream and network speed (BGO #410278)
24654 2007-02-22 Aaron Bockover <abock@gnome.org>
24656 * src/Core/Banshee.Base/FileNamePattern.cs: Forgot to mark
24657 ExpandTokenHandler as public too
24659 2007-02-22 Aaron Bockover <abock@gnome.org>
24661 * src/Core/Banshee.Base/FileNamePattern.cs: Make AddConversion and
24662 the Conversion struct public, inlined access to the conversion table
24663 values (Alptacular)
24665 2007-02-21 Aaron Bockover <abock@gnome.org>
24667 * src/Plugins/Banshee.Plugins.Recommendation/RecommendationUtilities.cs
24668 (HostInjectionHack): Work around a last.fm web services bug where they
24669 return URIs without a host name on some content. It appears the host
24670 name is always static3.last.fm, but that may not be the case for all
24671 data or it may change in the future - last.fm should fix their
24672 stuff (BGO #408068)
24674 2007-02-21 Aaron Bockover <abock@gnome.org>
24676 * src/Core/Banshee/banshee.in: Do not use @MONO@, which hard codes the
24677 mono runtime location; just use mono and let the right one be chosen
24678 from PATH - useful when working with parallel mono environments
24680 * src/Core/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusDriveFactory.cs:
24681 Add an explicit null check for HalCore.Manager to get around any potential
24682 SEGV signal issues when throwing NullReferenceException; ensures that
24683 even if HAL isn't available, the app should continue to load, regardless
24684 of signal settings (which determine if SEGV can chain up to
24685 NullReferenceException by being handled by the runtime))
24687 * ext/hal-sharp/Manager.cs: Do the same as the above, plus throw a
24688 more descriptive exception with cute DBus details
24690 2007-02-21 Aaron Bockover <abock@gnome.org>
24692 * src/Dap/Banshee.Dap.Ipod/IpodQueryJob.cs
24693 * src/Dap/Banshee.Dap.Ipod/IpodMetadataProvider.cs: Updated to reflect
24694 API updates in the metadata services
24696 2007-02-21 Aaron Bockover <abock@gnome.org>
24698 * build/m4/banshee/dbus.m4:
24699 * build/Common.Makefile:
24700 * ext/dbus-sharp/Makefile.am:
24701 * configure.ac: Patch from Sebastian Dröge to allow linking against an
24702 external installation of NDesk DBus (BGO #409964)
24704 2007-02-20 Aaron Bockover <abock@gnome.org>
24706 * src/Core/Banshee.Widgets/VolumeButton.cs: Do not show the slider dock
24707 when scrolling on the volume button; stop the scroll signal emission
24708 in event-after to keep the tooltip showing (and reflecting the updated
24709 volume level) as the scroll happens, like the panel applet volume button
24711 2007-02-20 Aaron Bockover <abock@gnome.org>
24713 * src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/TextViewLabel.cs: A
24714 GtkTextView that acts and looks more like a GtkLabel - but it has nice
24717 * src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileConfigurationDialog.cs:
24718 Make the dialog resizable in the X direction; Use the new TextViewLabel
24719 to show the description so when resizing, it can wrap properly; set a
24720 good default minimum width
24722 * src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileComboBoxConfigurable.cs:
24723 Use the TextViewLabel to show the description (widget is based on code
24724 that was written directly into ProfileComboBoxConfigurable.)
24726 2007-02-20 Aaron Bockover <abock@gnome.org>
24728 * src/Core/Banshee.Base/Banshee.Metadata/MetadataServiceJob.cs:
24729 * src/Core/Banshee.Base/Banshee.Metadata/IMetadataLookupJob.cs:
24730 * src/Core/Banshee.Base/Banshee.Metadata/MetadataService.cs:
24731 * src/Core/Banshee.Base/Banshee.Metadata/IMetadataProvider.cs:
24732 * src/Core/Banshee.Base/Banshee.Metadata/BaseMetadataProvider.cs:
24733 * src/Core/Banshee.Base/Banshee.Base.mdp:
24734 * src/Core/Banshee.Base/Banshee.Metadata.Rhapsody/RhapsodyMetadataProvider.cs:
24735 * src/Core/Banshee.Base/Banshee.Metadata.Rhapsody/RhapsodyQueryJob.cs:
24736 * src/Core/Banshee.Base/Banshee.Metadata.Embedded/EmbeddedMetadataProvider.cs:
24737 * src/Core/Banshee.Base/Banshee.Metadata.Embedded/EmbeddedQueryJob.cs:
24738 * src/Core/Banshee.Base/Globals.cs:
24739 * src/Core/Banshee.Base/AudioCd/AudioCdDisk.cs:
24740 * src/Core/Banshee.Base/Makefile.am:
24741 * src/Core/Banshee.Base/Banshee.Metadata.MusicBrainz/MusicBrainzMetadataProvider.cs:
24742 * src/Core/Banshee.Base/Banshee.Metadata.MusicBrainz/MusicBrainzQueryJob.cs:
24743 Use the new MetadataSettings so there's no dependency on core/app features
24744 that previously made the metadata services only usable inside the Banshee
24745 application context; provide a GlobalMetadataSettings implementation that
24746 implements settings for the application core
24748 2007-02-20 Aaron Bockover <abock@gnome.org>
24752 * NEWS: Updated with 0.11.7 notes
24754 * configure.ac: Bump to 0.11.7
24756 2007-02-19 Aaron Bockover <abock@gnome.org>
24758 * src/Engines/Banshee.MediaEngine.GStreamer/GstPlayerEngine.cs: Do not
24759 update the CurrentTrack if it is null
24761 * src/Core/Banshee/PlaylistView.cs: call column.SetMaxFixedWidth(this)
24763 * src/Core/Banshee/PlayerInterface.cs: Show dialogs for LogCore LogEntrys
24764 that have been logged before connecting to the event; prompt for importing
24765 when the StartupInitializer is done, not through some library loaded hack
24767 * src/Core/Banshee/Banshee.TrackView.Columns/TrackViewColumn.cs: Added
24768 SetMaxFixedWidth to size fixed width columns properly
24770 * src/Core/Banshee/Banshee.TrackView.Columns/TrackNumberColumn.cs: Set
24771 the fixed width strings
24773 * src/Core/Banshee/Main.cs: Handle any exceptions that happen when trying
24774 to initialize DBus; log a warning if there's a problem
24776 * src/Core/Banshee.Base/Gui/SplashScreen.cs: Turn off KeepAbove so the
24777 splash screen doesn't force itself above other windows
24779 * src/Core/Banshee.Base/DBusPlayer.cs: If only one CD is available and
24780 no argument is passed to --audio-cd, select the single CD
24782 2007-02-07 Aaron Bockover <abock@gnome.org>
24784 * ext/dbus-sharp/*: Updated dbus-sharp and dbus-sharp-glib to 0.4.0 and
24785 0.3.0 respectively; number of fixes and performance improvements including
24786 a fix for surviving a session bus restart
24788 2007-02-05 Aaron Bockover <abock@gnome.org>
24790 * libbanshee/gst-cd-rip-0.10.c: Fix major crasher that sometimes happens
24791 when canceling a CD rip; caused by memory corruption due to not setting
24792 an unreffed object pointer to null; _free calls _cancel to avoid code
24795 * src/Plugins/Banshee.Plugins.Radio/RadioSource.cs: Allow the view to
24796 scroll horizontally
24798 * src/Plugins/Banshee.Plugins.Recommendation/RecommendationPlugin.cs:
24799 Hide the pane when the player state goes idle
24801 * src/Core/Banshee/PlayerInterface.cs: Set the cover art for the cover
24802 art view to null when idle
24804 * src/Core/Banshee.Widgets/CoverArtView.cs: Hide on null
24806 * src/Core/Banshee.Base/FileNamePattern.cs: Added more characters to
24807 escape, and cache the regular expression
24809 2007-02-05 Aaron Bockover <abock@gnome.org>
24817 * src/Plugins/Banshee.Plugins.Radio/Makefile.am: Added files to EXTRA_DIST
24819 2007-02-05 Aaron Bockover <abock@gnome.org>
24821 * src/Core/Banshee.Base/Gui/SourceView.cs: Prevent a possible
24822 nullref when dropping on the view and not on a row (BNC 236798)
24824 * src/Core/Banshee.Widgets/ActionButton.cs: Decreased spacing between
24825 icon and label; looked strange now that the buttons don't have relief
24827 * configure.ac: Bumped to 0.11.6
24829 2007-02-05 Aaron Bockover <abock@gnome.org>
24831 * Plugins/Banshee.Plugins.Radio/StationManager.cs: Added Create, Update,
24832 and Remove station methods; support showing/hiding remote stations
24834 * Plugins/Banshee.Plugins.Radio/RadioPlugin.cs: Support showing/hiding
24837 * Plugins/Banshee.Plugins.Radio/RadioSource.cs: Added UI for editing,
24838 adding, and removing stations
24840 * Plugins/Banshee.Plugins.Radio/StationGroup.cs: Added Save method
24842 * Plugins/Banshee.Plugins.Radio/StationModel.cs: Support adding, updating,
24843 and removing stations
24845 * Plugins/Banshee.Plugins.Radio/StationEditor.cs: Editor dialog for local
24848 * Plugins/Banshee.Plugins.Radio/RadioActions.xml: Updated UI
24850 * Core/Banshee.Base/Banshee.Playlists.Formats.Xspf/Playlist.cs:
24851 * Core/Banshee.Base/Banshee.Playlists.Formats.Xspf/XspfBaseObject.cs:
24852 * Core/Banshee.Base/Banshee.Playlists.Formats.Xspf/Track.cs: Added
24853 basic XML write support for XSPF playlists
24855 2007-02-04 Aaron Bockover <abock@gnome.org>
24857 * src/Core/Banshee.Widgets/VolumeButton.cs: Port of the C version of
24858 BaconVolumeWidget - a much more natural and easy to use volume button
24860 2007-02-03 Aaron Bockover <abock@gnome.org>
24862 * src/Core/Banshee.Base/Gui/TrackEditor.cs:
24863 * data/banshee-dialogs.glade: Changed wording on the copy all fields button
24864 to make it easier to understand and translate (BGO 399650)
24866 2007-02-03 Aaron Bockover <abock@gnome.org>
24868 * src/Core/Banshee/PlaylistView.cs: Remove Dispose override,
24871 * src/Core/Banshee/PlayerInterface.cs: Call playlistView.SaveColumns
24873 2007-02-02 Aaron Bockover <abock@gnome.org>
24875 * src/Core/Banshee.Widgets/CoverArtThumbnail.cs: Call SetSizeRequest on
24876 the image, not on the window, ensure Resize on the window is always smaller
24877 than the image so the image.SetSizeRequest ends up making the window
24878 fit perfectly to the scaled cover art (Fixes BGO 334698); split
24879 CoverArtView into a separate file
24881 * src/Core/Banshee.Widgets/CoverArtView.cs: Split class out of old file
24883 2007-02-01 Aaron Bockover <abock@gnome.org>
24885 * src/Core/Banshee/PlaylistView.cs: Add a 1px fixed column that can't be
24886 moved or resized and is always in the last position; do not allow columns
24887 to be dragged to the right of this special column; this ensures that if
24888 the user drags a resizable column into the 'last' position, it will not
24889 fill to eat the remaining width of the view, thus creating a false width;
24890 this should _finally_ get rid of unwanted horizontal scrolling. This
24891 fix is hereby dedicated to Whiprush.
24893 * src/Core/Banshee/Banshee.TrackView.Columns/TrackViewColumn.cs: Turn
24894 on ellipsizing on columns CellRendererText renderers, fixed packing of
24895 the renderer - a bug exposed by setting ellipsizing
24897 * src/Core/Banshee.Base/Sources/AudioCdSource.cs: Show a 'Copy CD' action
24898 button in the header when the source is active
24900 2007-02-01 Aaron Bockover <abock@gnome.org>
24902 * data/banshee.glade: Made spacing look better now that buttons do not
24903 have a relief style
24905 * data/UIManagerLayout.xml: Added placeholder for actions that are 'new'
24907 * data/audio-profiles/Makefile.am: CLEANFILES->DISTCLEANFILES, fixes a
24908 potential build issue regarding generating the audio profiles .xml files
24910 * src/Plugins/Banshee.Plugins.Podcast/*: Added a subscribe button to the
24911 toolbar, change the verbage of 'feed' to 'podcast' as it's more user
24912 friendly (BNC 237045, 237038)
24914 * src/Plugins/Banshee.Plugins.Radio/RadioSource.cs: Do not show the
24915 playlist header and disable Write to CD action
24917 * src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:
24918 Fixed a potential crasher regarding showing cover art (BNC 236428)
24920 * src/Core/Banshee/PlayerInterface.cs: Fixed visibility logic of the
24921 playlist header; fixed a tiny focus bug
24923 * src/Core/Banshee.Widgets/ActionButton.cs: Set relief to none
24925 * src/Core/Banshee.Widgets/FadingAlignment.cs: Added a nice fading
24926 widget, but it's not in use anywhere right now; my idea didn't work
24927 out like I wanted it to, but the widget may still be useful
24929 * src/Core/Banshee.Widgets/DiscUsageDisplay.cs:
24930 * src/Core/Banshee.Widgets/DrawingUtilities.cs: Moved GdkColorToCairoColor
24931 from private widgets to avoid duplication
24933 * src/Core/Banshee.Base/Gui/ExceptionDialog.cs: Do not load the icon
24934 name for the window from branding because the dialog might be handling
24935 a crash from before branding initialization, in which case a nullref
24938 * src/Core/Banshee.Base/IconThemeUtils.cs: Finally updated to use the
24939 binding API for Gtk.IconTheme love; this code was written in the Gtk# 2.4
24940 era, when there was no binding for Gtk.IconTheme; gets rid of a lot of
24941 native interop at the Banshee level
24943 * src/Core/Banshee.Base/Sources/AudioCdSource.cs: Disable the Write to CD
24946 * src/Core/Banshee.Base/TrackInfoHeader.cs: Ensure the cover art thumbnail
24947 is hidden on idle, not just empty
24949 * src/Core/Banshee.Base/SourceManager.cs: Respect source.CanWriteToCD
24951 * src/Core/Banshee.Base/Source.cs: Added CanWriteToCD virtual property
24953 2007-01-31 Gabriel Burt <gabriel.burt@gmail.com>
24955 * src/Core/Banshee.Base/FileNamePattern.cs: Escape &'s too.
24957 * src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs: Log exceptions caught
24958 while transferring songs.
24960 2007-01-31 Gabriel Burt <gabriel.burt@gmail.com>
24962 * src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs: If the DAP is not
24963 restricted to a particular folder depth, use the normal Banshee
24964 FileNamePattern when copying music over. Fixes BGO #398491.
24966 2007-01-30 Gabriel Burt <gabriel.burt@gmail.com>
24968 * src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs:
24969 * src/Dap/Banshee.Dap.MassStorage/MassStorageTrackInfo.cs: Cleanup
24970 whitespace (follow HACKING).
24972 2007-01-29 James Willcox <snorp@snorp.net>
24974 * src/Plugins/Banshee.Plugins.Daap/daap-sharp/Database.cs: updated from
24975 upstream, fixes a problem where track numbers weren't showing up.
24977 2007-01-24 Aaron Bockover <abock@gnome.org>
24979 * src/Core/Banshee.Widgets/PropertyTable.cs: Do not add a key label
24980 if the key string is null
24982 * src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileConfigureButton.cs:
24983 Protected against a potential nullref
24985 * src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileConfigurationDialog.cs:
24986 Added ':' to the end of the control labels
24988 * src/Core/Banshee.Base/Sources/DapSource.cs: Override the default source
24989 property label to 'iPod Properties', where iPod is the generic device
24990 name - nicer than 'Source Properties'
24992 * src/Core/Banshee.Base/Dap/DapPropertiesDialog.cs: Use a description box
24993 container so the profile selector doesn't look goofy
24995 2007-01-24 Aaron Bockover <abock@gnome.org>
24997 * src/Core/Banshee.Base/Banshee.AudioProfiles/PipelineVariable.cs:
24998 * src/Core/Banshee.Base/Banshee.AudioProfiles/Profile.cs: Use the XML
24999 utilities in Banshee.Base.Localization to select the right string node
25002 * src/Core/Banshee.Base/Localization.cs: Utilities to read the instance
25003 language setting (based on g_get_language_names()); XML utilities to to
25004 select nodes matching a query that also match against an xml:lang for
25005 the language in the current instance
25007 * src/Core/Banshee.Base/Makefile.am:
25008 * src/Core/Banshee.Base/Banshee.Base.mdp: Added Localization.cs
25010 * data/audio-profiles/vorbis.xml.in: Missed two strings to be translated
25012 2007-01-23 Aaron Bockover <abock@gnome.org>
25014 * data/audio-profiles/*.xml.in: Moved from *.xml, edit to allow intltool
25015 to extract and merge translations
25017 * data/audio-profiles/Makefile.am: Added, use INTLTOOL_XML_RULE to
25018 support translating the audio profiles
25020 * data/Makefile.am: Include audio-profiles in SUBDIRS, do not install
25021 the audio profiles as the audio-profiles/Makefile will do that now
25023 * configure.ac: Generate data/audio-profiles/Makefile
25025 2007-01-22 Patrick van Staveren <trick@vanstaveren.us>
25027 * build/m4/banshee/dap-mtp.m4: properly quote error string and
25028 give more useful output.
25030 2007-01-22 Aaron Bockover <abock@gnome.org>
25032 * configure.ac: Bumped to 0.11.5
25034 * NEWS: Updated with 0.11.5 release notes
25036 * src/Core/Banshee.Base/BatchTranscoder.cs: Added the ability to register
25037 alternative Transcoder types for handing WAV encoding
25039 * src/Core/Banshee.Base/Banshee.Metadata/MetadataService.cs: Removed
25042 * src/Plugins/Banshee.Plugins.MetadataSearch/banshee-plugin-metadatasearcher.schemas.in:
25045 2007-01-21 Aaron Bockover <abock@gnome.org>
25047 * src/Core/Banshee.Base/Banshee.Metadata.MusicBrainz/MusicBrainzQueryJob.cs:
25048 Added a Lookup method that returns bool; support instances with a
25049 pre-determined ASIN
25051 * src/Core/Banshee.Base/AudioCd/AudioCdDisk.cs: Perform a sync lookup
25052 through MusicBrainzQueryJob to fetch cover art for audio CDs
25054 * src/Core/Banshee.Base/AmazonCoverFetcher.cs: Removed legacy cover art
25057 2007-01-21 James Willcox <snorp@snorp.net>
25059 * src/Core/Banshee.Base/Banshee.Metadata/MetadataService.cs: add a
25060 'AddProvider' method
25062 * src/Core/Banshee.Base/Banshee.Metadata/MetadataProviderFactory.cs:
25065 * src/Dap/Banshee.Dap.Ipod/IpodMetadataProvider.cs: add a new metadata
25066 provider which gets the cover art off the iPod when available.
25068 * src/Dap/Banshee.Dap.Ipod/IpodQueryJob.cs: added
25070 2007-01-21 Aaron Bockover <abock@gnome.org>
25072 * src/Core/Banshee.Base/Banshee.Metadata/MetadataServiceJob.cs:
25073 Added SaveHttpStreamPixbuf that normalizes image data over HTTP to
25074 JPEG form and saves it to the cover art location, if the dimensions are
25077 * src/Core/Banshee.Base/Banshee.Metadata.Rhapsody/RhapsodyQueryJob.cs:
25078 * src/Core/Banshee.Base/Banshee.Metadata.MusicBrainz/MusicBrainzQueryJob.cs:
25079 Use SaveHttpStreamPixbuf from the base class
25081 2007-01-20 Aaron Bockover <abock@gnome.org>
25083 * src/Plugins/Banshee.Plugins.MetadataSearch/MetadataSearchConfigDialog.cs:
25086 * src/Plugins/Banshee.Plugins.MetadataSearch/MetadataSearchPlugin.cs: R
25087 Rewritten to use the new Banshee.Metadata services APIs; shows progress
25088 of the operation in an ActiveUserEvent
25090 * src/Core/Banshee.Base/Banshee.Metadata/MetadataServiceJob.cs: Ensure
25091 jobs are removed from the private queries table when they are unscheduled
25092 as well as finished
25094 * src/Core/Banshee.Base/Banshee.Kernel/Scheduler.cs: In Unschedule(),
25095 match jobs that implement the interface of a type or is that are a
25096 subclass of a type; added ScheduledJobsCount; use Globals.Debugging
25098 * src/Core/Banshee.Base/ActionManager.cs:
25099 * data/UIManagerLayout.xml: Added a top level 'Tools' menu
25101 * src/Plugins/Banshee.Plugins.Podcast/data/PodcastMenu.xml:
25102 * src/Plugins/Banshee.Plugins.Audioscrobbler/AudioscrobblerMenu.xml:
25103 Moved main menu actions to the new 'Tools' top level menu
25105 2007-01-19 Aaron Bockover <abock@gnome.org>
25107 Merged patch by Trey Ethridge <tale@juno.com> that loads embedded cover
25108 art in streams; implemented as the first-priority metadata provider in
25109 the new metadata services framework. BGO #388162.
25111 * src/Core/Banshee.Base/Banshee.Metadata/MetadataProviderFactory.cs: Added
25112 EmbeddedMetadataProvider.
25114 * src/Core/Banshee.Base/Paths.cs: Added overloaded method to get
25115 cover art path that takes the file extension
25117 * src/Core/Banshee.Base/TrackInfo.cs: Updated CoverArtFileName to try all
25118 possible file extensions that we support when using the new artist_album_id
25120 * src/Core/Banshee.Base/Banshee.Metadata.Embedded/EmbeddedMetadataProvider.cs:
25121 Implements the metadata provider interface.
25123 * src/Core/Banshee.Base/Banshee.Metadata.Embedded/EmbeddedQueryJob.cs:
25124 Does the work of retrieving the cover art from the file and caching it.
25126 * src/Core/Banshee.Base/StreamTagger.cs: Updated TrackInfoMerge method
25127 to use any file extension. It was hard coded to only use ".jpg".
25129 2007-01-19 Aaron Bockover <abock@gnome.org>
25131 * src/Core/Banshee.Base/Banshee.Metadata/MetadataServiceJob.cs: New
25132 metadata service job that runs all provider jobs in chain+sync
25134 * src/Core/Banshee.Base/Banshee.Metadata/MetadataService.cs: Primary
25135 singleton for scheduling metadata lookups; runs a MetadataServiceJob
25136 in the Banshee scheduler
25138 * src/Core/Banshee.Base/Banshee.Metadata/IMetadataProvider.cs: Updated
25140 * src/Core/Banshee.Base/Banshee.Metadata/BaseMetadataProvider.cs: New
25141 base class for service jobs
25143 * src/Core/Banshee.Base/Banshee.Metadata.Rhapsody/RhapsodyQueryJob.cs:
25144 * src/Core/Banshee.Base/Banshee.Metadata.Rhapsody/RhapsodyMetadataProvider.cs:
25145 * src/Core/Banshee.Base/Banshee.Metadata.MusicBrainz/MusicBrainzQueryJob.cs:
25146 * src/Core/Banshee.Base/Banshee.Metadata.MusicBrainz/MusicBrainzMetadataProvider.cs:
25147 Updated to work with the changes in the metadata service APIs
25149 2007-01-17 Aaron Bockover <abock@gnome.org>
25151 * src/Core/Banshee.Base/BansheeBranding.cs: Fixed branding initialization
25152 bug wherein the default cover art would never be loaded if a custom
25153 branding were available
25155 * src/Core/Banshee/Banshee.TrackView.Columns/RatingColumn.cs:
25156 * src/Core/Banshee/banshee-interface.schemas.in: Rating is on by default
25158 * src/Plugins/Banshee.Plugins.Podcast/PodcastCore.cs: Removed debug line
25160 2007-01-17 Aaron Bockover <abock@gnome.org>
25162 * src/Core/Banshee/Banshee.TrackView.Columns/TrackNumberColumn.cs: Make
25163 this column a fixed width
25165 * src/Core/Banshee/Banshee.TrackView.Columns/AlbumColumn.cs:
25166 * src/Core/Banshee/Banshee.TrackView.Columns/TitleColumn.cs:
25167 * src/Core/Banshee/Banshee.TrackView.Columns/DurationColumn.cs:
25168 * src/Core/Banshee/Banshee.TrackView.Columns/ArtistColumn.cs: Set better
25169 default widths for these columns
25171 * src/Core/Banshee/banshee-interface.schemas.in: Updated from above
25173 * src/Core/Banshee.Base/Library.cs: Fixed library path bug found in SP1
25175 2007-01-17 Aaron Bockover <abock@gnome.org>
25177 * src/Core/Banshee.Base/Gui/PreferencesDialog.cs:
25178 * src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileComboBoxConfigurable.cs:
25179 Show the description in a GtkTextView
25181 * data/banshee-dialogs.glade: Fixed more alignment issues
25183 * data/audio-profiles/*: Updated profile names and descriptions to
25184 provide more detail and be more user-friendly
25186 2007-01-17 Aaron Bockover <abock@gnome.org>
25188 * data/audio-profiles/wavpack.xml: Fixed
25190 2007-01-17 Ruben Vermeersch <ruben@savanne.be>
25192 * data/audio-profiles/mp3-lame.xml: Change the vbr-mode parameter, which
25193 doesn't exist, to vbr. Fixes BGO #397753.
25195 2007-01-17 Aaron Bockover <abock@gnome.org>
25197 * src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileConfigureButton.cs:
25198 Only enable when the profile can be configured
25200 * src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileConfigurationDialog.cs:
25201 Do not show the advanced expander if there are no advanced variables
25203 * src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileComboBoxConfigurable.cs:
25204 Show the description of the profile in a label below the combo box
25206 * src/Core/Banshee.Base/Globals.cs:
25207 * src/Core/Banshee.Base/GstMisc.cs: Added SExp functions for building
25208 GStreamer pipelines
25210 * src/Core/Banshee.Base/Banshee.AudioProfiles/Pipeline.cs: Flatten the
25213 * build/m4/shamrock/mono.m4: Hopefull this will work on evil distros
25214 that put the GAC in lib64 and on good distros that put it in lib
25216 * data/banshee-dialogs.glade: Fix alignment on label
25218 * data/audio-profiles/*: Updated to the latest SExp syntax and use
25219 new gst-construct-* functions to help build pretty pipelines
25221 2007-01-17 Gabriel Burt <gabriel.burt@gmail.com>
25223 * src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs: Make sure not to
25224 modify a list while iterating over it. Push removal of songs into a
25225 separate thread so it doesn't block.
25227 2007-01-17 Gabriel Burt <gabriel.burt@gmail.com>
25229 * src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs: Instead of copying
25230 instantly when adding a file to a DAP, wait until the Synchronize button
25231 is pressed like how other DAPs operate. Fixes BGO #370229. Doing so
25232 gives us transcoding nearly for free, fixing BGO #354727. Based on patch
25235 * src/Core/Banshee.Base/Dap/DapMisc.cs: Add GetCodec method.
25237 * src/Core/Banshee.Base/Dap/Dap.cs: Allow subclasses to set the
25238 SupportedExtensions and SupportedPlaybackMimeTypes properties.
25240 2007-01-16 Gabriel Burt <gabriel.burt@gmail.com>
25242 * src/Core/Banshee.Base/Gui/SourceView.cs: Let tracks from smart playlists
25243 be dragged around. Patch by Chris Turchin, fixes BGO #377885.
25245 * src/Core/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: Set
25246 IsDragSource for future DAP playlist use.
25248 2007-01-16 James Willcox <snorp@snorp.net>
25250 * src/Core/Banshee.Base/Banshee.Metadata.Rhapsody/RhapsodyQueryJob.cs:
25251 Move the HTTP stuff up to the parent class
25253 * src/Core/Banshee.Base/Banshee.Metadata.MusicBrainz/*.cs: new metadata
25254 provider which uses MusicBrainz to find cover art. It is the default
25255 provider now, since it gets much higher quality images compared to the
25256 Rhapsody backend. If it fails, the Rhapsody backend is used as a
25259 2007-01-15 Aaron Bockover <abock@gnome.org>
25261 * src/Core/Banshee.Base/Banshee.Configuration/GConfConfigurationClient.cs:
25262 Support disabling actual GConf support via BANSHEE_DISABLE_GCONF
25264 * build/gconf-schema-rules: Set BANSHEE_DISABLE_GCONF so a GConf client
25265 is not actually created during the schema generation; necessary for
25266 building in build services, etc.
25268 2007-01-15 Alp Toker <alp@atoker.com>
25270 * ext/hal-sharp/Device.cs: Add internal DType enum copied from
25271 dbus-sharp since it will no longer be available in future versions.
25273 2007-01-15 Aaron Bockover <abock@gnome.org>
25277 * NEWS: Updated with 0.11.4 release notes
25279 2007-01-14 Aaron Bockover <abock@gnome.org>
25281 * src/Core/Banshee.Base/IO/IOProxy.cs: Enable the GNOME VFS IO backend
25283 2007-01-14 Aaron Bockover <abock@gnome.org>
25285 * src/Plugins/Banshee.Plugins.Radio/*: Added initial code for local
25286 station management, not complete
25288 * src/Core/Banshee.Base/Banshee.Playlists.Formats.Xspf/XspfBaseObject.cs:
25291 2007-01-14 Aaron Bockover <abock@gnome.org>
25293 * src/Plugins/Banshee.Plugins.Podcast/PodcastPlugin.cs: Added a better
25294 description of what podcasting is
25296 * src/Plugins/Banshee.Plugins.Radio/RadioSource.cs:
25297 * src/Plugins/Banshee.Plugins.Radio/source-radio.png: Use Jakub's new
25298 radio icon (sweeeet)
25300 * src/Core/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistCore.cs:
25301 * src/Core/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
25302 * src/Core/Banshee.Base/Globals.cs: Rework the SmartPlaylistCore so
25303 that it is not a plugin, instead initialize/dispose it directly as we
25304 always want smart playlists to be available
25306 2007-01-14 Aaron Bockover <abock@gnome.org>
25308 * src/Plugins/: Moved Radio, Podcast, MiniMode, Recommendation plugins
25309 from banshee-official-plugins
25311 * build/m4/shamrock/mono.m4: Use Mono's libdir (BGO #394033)
25313 2007-01-12 Patrick van Staveren <trick@vanstaveren.us>
25315 * src/Dap/Banshee.Dap.Karma/KarmaDap.cs: add PluginModuleEntry,
25316 on behalf of Bob Copeland. BGO 392013.
25318 2007-01-10 Aaron Bockover <abock@gnome.org>
25320 * src/Core/Banshee.Base/Banshee.AudioProfiles/SExpEngine/Literals.cs: Use
25321 the en-US culture to format doubles
25323 * src/Core/Banshee.Base/Banshee.AudioProfiles/PipelineVariable.cs: Add
25324 enables/disables support on the variable node, used by the check type
25326 * src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileConfigurationDialog.cs:
25327 Fixed minor bug with check control, add enables/disables support for
25330 * src/Core/Banshee.Base/Globals.cs: Load profiles even if they're not
25333 * data/audio-profiles/wma.xml: Use the check control for vbr
25335 * data/audio-profiles/wavpack.xml: Added a wavpack profile by
25338 2007-01-06 Aaron Bockover <abock@gnome.org>
25340 * src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileConfigurationDialog.cs:
25341 Support the check type; added a text view to dump the S-Expression eval
25342 in when running in debug mode
25344 * src/Core/Banshee.Base/Banshee.AudioProfiles/PipelineVariable.cs: Added
25347 * src/Core/Banshee.Base/Banshee.AudioProfiles/SExpEngine/CastFunctionSet.cs:
25350 * src/Core/Banshee.Base/Banshee.AudioProfiles/SExpEngine/Literals.cs:
25351 Override ToString on BooleanLiteral to return lower-case true/false
25353 * data/audio-profiles/mp3-xing.xml:
25354 * data/audio-profiles/wma.xml:
25355 * data/audio-profiles/vorbis.xml:
25356 * data/audio-profiles/flac.xml: Updated
25358 2007-01-06 Aaron Bockover <abock@gnome.org>
25360 This commit adds some incredible power to the audio profiles support.
25361 Profile process (i.e. GStreamer pipelines) are now defined using an
25362 S-Expression like language. This is a big change, but very, very well
25363 worth it. I will be flying and unavailable today/Jan 6, so if this commit
25364 breaks the build or functionality somehow, revert to the previous svn
25367 * src/Core/Banshee.Base/Banshee.AudioProfiles/Pipeline.cs: Added
25368 SExpEngine integration to compile the pipeline process; removed
25369 transformation/Abakos support as it can now be done inline in S-Exp
25371 * src/Core/Banshee.Base/Globals.cs: Add the gst-element-is-available
25374 * src/Core/Banshee.Base/GstMisc.cs: Added a S-Exp function,
25375 gst-element-is-available, which is a S-Exp wrapper around TestPipeline;
25376 this S-Exp function can be used to conditionally include an element
25377 or pipeline piece inside of the master pipeline:
25379 (+ "lame" (if (gst-element-is-available "xingmux") "! xingmux" ""))
25381 * data/audio-profiles/*.xml: Ported all the pipelines to S-Exp expressions
25383 * src/Core/Banshee.Base/Banshee.AudioProfiles/SExpEngine/*: The new
25384 SExpEngine - written in 10 hours! Probably lots of holes to fill, but
25385 it has a lot of built in functionality and is working for what we need
25386 for audio profiles; the parser could probably use some love
25388 2007-01-05 Peter Teichman <peter@novell.com>
25390 * src/Core/Banshee.Base/LibraryTrackInfo.cs: Fix an integer
25391 overflow when importing tracks with numbers that don't
25392 fit into 32 bits. (BNC #219700)
25394 Also, only use numbers in filenames as track numbers when they're
25395 at the beginning of the filename.
25397 2007-01-05 Aaron Bockover <abock@gnome.org>
25399 * src/Core/Banshee.Base/Gui/SourceView.cs: Expand node if source.Expanded
25400 is true or source.AutoExpand is not null and is true; override the
25401 OnRowExpanded/OnRowCollapsed methods to store the expansion state in
25404 * src/Core/Banshee.Base/Source.cs: Added Expanded virtual bool property
25405 and made AutoExpand a nullable bool
25407 * src/Core/Banshee.Base/Sources/LibrarySource.cs: Override Expanded and
25408 read/store the value in configuration; Override AutoExpand and return
25409 it as null, so the Expanded property is used exclusively in the view
25411 * src/Core/Banshee.Base/Banshee.Configuration.Schema/LibrarySchema.cs:
25412 Added SourceExpanded property
25414 * src/Core/Banshee.Base/Globals.cs:
25415 * src/Core/Banshee.Base/StreamTagger.cs:
25416 * src/Core/Banshee.Base/Gui/RatingRenderer.cs: Fixed some minor warnings
25418 * src/Core/Banshee.Base/Makefile.am: Added ScriptCore.cs
25420 2007-01-05 Aaron Bockover <abock@gnome.org>
25422 * src/Core/Banshee/PlaylistView.cs: Removed old unused column variables
25424 * src/Core/Banshee/PlayerInterface.cs: Show the rip check button again
25426 * src/Core/Banshee.Base/Plugins/ScriptCore.cs: Split script support out
25427 from PluginCore into new ScriptCore; added StartupInvocationEntry and
25428 ScriptCore.InstallInvocation to allow scripts to install menu/UI hooks
25429 in the Music menu - provides simple user-initiated invocation for scripts
25431 * src/Core/Banshee.Base/Plugins/PluginCore.cs: Split script support out
25432 into new ScriptCore
25434 * src/Core/Banshee.Base/Globals.cs: Initialize ScriptCore
25436 * data/UIManagerLayout.xml:
25437 * src/Core/Banshee.Base/ActionManager.cs: Created action for the
25440 2007-01-04 Aaron Bockover <abock@gnome.org>
25442 * src/Core/Banshee.Base/FileNamePattern.cs: Filter the display pattern too
25444 * src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileConfigurationDialog.cs:
25445 Support enables/disables on preset variables; support min/max labels
25447 * src/Core/Banshee.Base/Banshee.AudioProfiles/PipelineVariable.cs: Added
25448 enables/disables support and min-label, max-label
25450 * src/Core/Banshee.Base/Banshee.AudioProfiles/Abakos.Compiler/Expression.cs:
25451 Work around parser bug
25453 * src/Core/Banshee.Base/Globals.cs: Do not test audio profiles if
25454 BANSHEE_PROFILES_NO_TEST is set
25456 * src/MonoDevelopBootstrap.cs: Use Mono.Unix.Native.Syscall.system to
25457 exec make run so the environment can be set
25459 * data/audio-profiles/vorbis.xml: Set min-label, max-label
25461 * data/audio-profiles/mp3-lame.xml: Support VBR
25463 2007-01-04 Aaron Bockover <abock@gnome.org>
25465 * src/Core/Banshee.Base/Plugins/PluginFactory.cs: Handle reflecting
25466 against dynamic modules
25468 * src/Core/Banshee.Base/Plugins/PluginCore.cs: After compiling a boo
25469 script, always call factory.LoadPluginsFromAssembly, and always invoke
25470 the assembly.EntryPoint and with the proper number of arguments; this
25471 allows you to not have to specify a Main() method at all in the boo
25474 * src/Core/Banshee.Base/FileNamePattern.cs: Added FilterHandler to
25475 allow plugins and scripts to perform further formatting on the
25478 2007-01-03 Ruben Vermeersch <ruben@savanne.be>
25480 * src/Core/Banshee.Base/ArgumentQueue.cs: Allow duplicate arguments to be
25481 passed. This avoids a crash when you pass --play --play (or similar) and
25482 avoids dirty hacks in the launcher script. The first passed argument will
25483 be used. Any subsequent arguments with the same name (and their
25484 parameters) will be ignored.
25486 * src/Core/Banshee/banshee.in: Add support for profiling banshee. By
25487 passing --profile=name (where name is the name of the profiler you wish to
25488 use), the chosen profiler will be started. Also added support for starting
25489 profilers, traces and enabling debug by using environment variables. You
25490 can now start banshee with BANSHEE_DEBUG=1, BANSHEE_PROFILE=heap-shot and
25491 BANSHEE_TRACE=something.
25493 2007-01-03 Peter Teichman <peter@novell.com>
25495 * src/Core/Banshee/PlayerInterface.cs:
25496 Disable "Delete Song From Drive" in playlist listings (BNC #218997)
25497 Start playing the next song if the current one is deleted (BNC #218993)
25499 2007-01-03 Aaron Bockover <abock@gnome.org>
25501 * src/Core/Banshee/Banshee.TrackView.Columns/RatingColumn.cs: Make the
25502 column a fixed width and not resizable (BGO #385547)
25504 * src/Core/Banshee.Base/Gui/RatingRenderer.cs: Added static Width propery
25506 2007-01-03 Aaron Bockover <abock@gnome.org>
25508 * src/Core/Banshee/PlaylistView.cs: Call CreatePopupableHeader on the
25509 columns after adding to the view (must be done after AppendColumn)
25511 * src/Core/Banshee/Banshee.TrackView.Columns/TrackViewColumn.cs: Added
25512 clever hack from Peter Johanson to allow button press events on tree
25513 view column headers, thus display a context menu on each column header
25514 on right click, allowing to hide the column or show the columns dialog
25516 2007-01-03 Aaron Bockover <abock@gnome.org>
25518 * src/Core/Banshee/Banshee.TrackView.Columns/*.cs: Make the SchemaEntry
25519 properties all public so they can be picked up by gconf schema extractor
25521 * src/Core/Banshee/banshee-interface.schemas.in:
25522 * src/Core/Banshee.Base/banshee-core.schemas.in: Updated, schema entries
25523 are sorted by key now
25525 * build/GConfSchemaExtractor.cs: Sort the schema entries by key to ensure
25526 that the schema content doesn't change just because the reflection
25527 iterating order in the assembly may have changed, which will cause
25528 false modifications (this is apparent when compiling between gmcs/make and
25531 2007-01-03 Aaron Bockover <abock@gnome.org>
25533 * src/Core/Banshee/Banshee.TrackView.Columns/*.cs: Use an enum to ID
25534 columns and their sort orders, will make adding new columns easier; always
25535 sort track number in ascending order if not explicitly sorting on the
25536 track number column; sort by the parent folder uri of a track before
25537 sorting by album, which allows the same album to be in the library
25538 multiple times in different file system locations, but grouped and sorted
25539 properly in the view when sorting by track, album, or artist
25541 * src/Core/Banshee/Banshee.TrackView.Columns/UriColumn.cs: Added Uri Column;
25542 shows the local path if the file is local; if local, show the relative
25543 path from the base library path if path is a child of the base library
25545 * src/Core/Banshee/PlaylistView.cs: Instantiate Uri column
25547 * src/Core/Banshee.Base/Gui/PreferencesDialog.cs: QueueDraw on the playlist
25548 view when the library location changes; if the Uri column is visible,
25549 the displayed path may change when changing base library location
25551 * src/Core/Banshee.Base/Library.cs: Added set accessor on the Location
25552 property, added CachedLocation to avoid GConf calls on the get accessor
25553 to improve rendering in the Uri column renderer
25555 2007-01-02 Ruben Vermeersch <ruben@savanne.be>
25557 * src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs:
25558 Prevent the notification bubble from showing up twice.
25560 2007-01-02 Aaron Bockover <abock@gnome.org>
25562 * src/Core/Banshee.Base/Globals.cs: FreeHGlobal(mono_jig_segv_handler)
25564 2007-01-02 Aaron Bockover <abock@gnome.org>
25566 * src/Core/Banshee.Base/GstMisc.cs:
25567 * libbanshee/gst-misc-0.10.c: Removed TestEncoder
25569 * src/Core/Banshee.Base/Globals.cs: Use sigaction before and after
25570 startup to grab and restore the JIT's SEGV handler due to a bad bug
25571 in GStreamer's SEGV signal handling (Gst BGO #391777); this should stop
25572 the random segfaults that have been happening lately
25574 2007-01-01 Ruben Vermeersch <ruben@savanne.be>
25576 * src/Makefile.am: Quick'n dirty fix to make HEAD build again. Happy
25579 2006-12-31 Aaron Bockover <abock@gnome.org>
25581 * src/PlayerInterface.cs:
25582 * src/Banshee.Base/Gui/SeekDialog.cs: Synced functionality, minor fixes
25584 2006-12-31 Aaron Bockover <abock@gnome.org>
25587 * src/Banshee.Base/Makefile.am:
25588 * src/PlayerWindowSchema.cs:
25589 * src/Banshee.Base/Banshee.Configuration.Schema/PlayerWindowSchema.cs:
25590 Moved PlayerWindowSchema to Banshee.Base
25592 * build/Makefile.am: Install gconf-schema-extractor.exe
25594 * configure.ac: Bump to 0.11.4
25596 2006-12-31 Aaron Bockover <abock@gnome.org>
25598 * src/PlayerInterface.cs: Use Album instead of DisplayAlbum, set the
25599 MoreInfoUri on the TrackInfoHeader; Use a stop icon instead of a pause
25600 icon if the stream cannot pause; support the Contacting engine state
25602 * src/StockIcons.cs: Added stop icon
25604 * src/PlaylistView.cs: Added protected IntPtr constructor
25606 * src/Banshee.Base/Banshee.Metadata/SchedulerMetadataProvider.cs: Added
25607 some more null checks
25609 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
25610 Use Album instead of DisplayAlbum
25612 * src/Banshee.MediaEngine/Helix/HelixRemotePlayerEngine.cs: Support parsing
25613 Real Radio clip metadata and sending results as StreamTags; support
25614 cover art lookup inside live streams when track changes occur; support
25615 virtual sub-tracks on live streams when duration events come in; this
25616 allows the UI to show proper position/duration on subsets of a live stream
25618 * src/Banshee.Base/PlayerEngineCore.cs: Added CanPause property, if
25619 Pause() is called and the track cannot pause, stop it instead
25621 * src/Banshee.Base/MediaEngine/PlayerEngine.cs: Added a Contacting state
25622 and use current_track.IsLive instead of current_track is UnknownTrackInfo
25623 to ensure tag updates only occur on live/radio streams
25625 * src/Banshee.Base/StreamTagger.cs: Added CommonTags.MoreInfoUri and
25626 support merging a duration that is already a TimeSpan
25628 * src/Banshee.Base/UnknownTrackInfo.cs: Set is_live
25630 * src/Banshee.Base/TrackInfoHeader.cs: Set MoreInfoUri, use a LinkLabel
25631 for the title; do not show the album if it is null
25633 * src/Banshee.Base/TrackInfo.cs: Removed Equals/GetHashCode overrides,
25634 added AreEqual(a,b) static method; Added IsLive and MoreInfoUri properties
25636 * src/Banshee.Widgets/StreamPositionLabel.cs: Added IsContacting
25638 * src/Banshee.Widgets/LinkLabel.cs: Added ActAsLink - link functionality
25639 can be disabled by setting this to false, it will act as a normal label;
25640 use the selection background color for the link foreground color; Added
25641 Ellipsize and Selectable properties; Selectable is always disabled if
25644 * src/Banshee.Widgets/Banshee.Widgets.mdp: Updated
25646 2006-12-31 Aaron Bockover <abock@gnome.org>
25648 * src/Banshee.Base/Banshee.Metadata/*.cs: New generic metadata query APIs
25650 * src/Banshee.Base/Banshee.Metadata.Rhapsody/*.cs: Rhapsody cover art
25651 fetching implementation of Banshee.Metadata APIs
25653 * src/Banshee.Base/PlayerEngineCore.cs: Query the metadata query APIs
25654 on track change; send results as a track info update event
25656 * src/Banshee.Base/TrackInfo.cs: Cover art fixes
25658 * src/Banshee.Base/StreamTagger.cs: Added album-cover-id
25660 * src/Banshee.Base/Makefile.am:
25661 * src/Banshee.Base/Banshee.Base.mdp: Updated
25663 2006-12-30 Aaron Bockover <abock@gnome.org>
25665 * GNOME Subversion: About f*cking time.
25667 2006-12-29 Alp Toker <alp@atoker.com>
25669 * dbus-sharp/*: Updated to 0.3.1. Fixes 64-bit Linux regression.
25671 2006-12-29 Alp Toker <alp@atoker.com>
25673 * src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:
25674 Compile fix for 2.0; see Mono bug #80384
25676 2006-12-29 Aaron Bockover <abock@gnome.org>
25678 * src/Banshee.Base/NetworkDetect.cs: Added NetworkUnavailableException
25680 2006-12-29 Aaron Bockover <abock@gnome.org>
25682 * src/Banshee.Base/Banshee.Web/Browser.cs: Added UserAgent field
25684 2006-12-28 Aaron Bockover <abock@gnome.org>
25686 * src/Banshee.Base/Banshee.Playlists.Formats.Xspf/*: Implemented read
25687 support for most of the XSPF specification
25690 * tests/Makefile.am: Added Xspf test suite
25692 * src/Banshee.Base/Banshee.Base.mdp:
25693 * src/Banshee.Base/Makefile.am:
25695 2006-12-26 Aaron Bockover <abock@gnome.org>
25697 * src/banshee.in: source scripts into the wrapper that are installed
25698 into $(libdir)/banshee/shell-init/ and are +x; Useful if plugins need
25699 to ensure certain environment variables are initialized
25701 2006-12-24 Ruben Vermeersch <ruben@savanne.be>
25703 * src/Banshee.Base/Gui/ExceptionDialog.cs: Set UseUnderline to false on
25704 the label of the exception, this caused exception messages to be garbled
25705 if they contained an underscore.
25707 2006-12-23 Ruben Vermeersch <ruben@savanne.be>
25709 * src/Banshee.Widgets/CoverArtThumbnail.cs: Fix funny aspect ratio
25710 weirdness (BGO #388903).
25712 2006-12-23 Aaron Bockover <abock@gnome.org>
25714 NOTE: A new configuration system has been added. With this change also
25715 comes a reorganization of the GConf keys. Keys are organized into
25716 namespaces and also are now correctly formatted (under_cased and not
25717 CamelCased). As such, all old settings will be lost. A migration path
25718 will be introduced before the next release, but be warned if using CVS
25719 from here until 0.11.4 - your settings will not be migrated until otherwise
25722 * src/Banshee.Base/Banshee.Configuration/ConfigurationClient.cs: new static
25723 top-level configuration API that is platform agnostic
25725 * src/Banshee.Base/Banshee.Configuration/GConfConfigurationClient.cs: GConf
25726 backend to new configuration API
25728 * src/Banshee.Base/Banshee.Configuration/IConfigurationClient.cs: Interface
25729 for configuration backends
25731 * src/Banshee.Base/Banshee.Configuration/SchemaEntry.cs: Generic structure
25732 representing a configuration setting. Should be defined as public static
25733 readonly instances in classes so GConf schema XML files can be generated
25736 * src/Banshee.Base/Banshee.Configuration.Schema/ImportSchema.cs:
25737 * src/Banshee.Base/Banshee.Configuration.Schema/LibrarySchema.cs: Define
25738 lots of namespaced configuration settings (SchemaEntry<T>)
25740 * src/TrackViewColumnWindow.cs: Column window using new TrackViewColumn API
25742 * src/Basnhee.TrackView.Columns/*: Added TrackViewColumn base column
25743 implementation that extends Gtk.TreeViewColumn and specific column
25744 implementations extending TrackViewColumn. Each column implementation
25745 handles its own configuration, sorting, and rendering.
25747 * src/Banshee.Base/DBusRemote.cs: NameReply changed to RequestNameReply
25748 in managed DBus 0.3.0
25750 * src/Banshee.Base/BatchTranscoder.cs: Return if the batch_queue is empty,
25751 avoids a possible nullref
25753 * src/Banshee.Base/Gui/FileChooserDialog.cs: FileChooserDialog that
25754 automatically restores/sets the last folder URI
25756 * src/Banshee.Base/Gui/ImageFileChooserDialog.cs:
25757 * src/Banshee.Base/FolderImportSource.cs:
25758 * src/Banshee.Base/FileImportSource.cs: Use the new Banshee
25761 * src/Banshee.Base/GConfKeys.cs: Removed
25763 * src/Banshee.Base/Globals.cs: Removed old GConf client
25765 * src/Banshee.Base/StringUtil.cs: Added CamelCaseToUnderCase
25767 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:
25768 * src/Banshee.Plugins/Daap/DaapCore.cs:
25769 * src/Banshee.Plugins/Daap/DaapPlugin.cs:
25770 * src/Banshee.Plugins/MMKeys/MMKeysPlugin.cs:
25771 * src/Banshee.Plugins/MetadataSearch/MetadataSearchPlugin.cs:
25772 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconConfigPage.cs:
25773 * src/Banshee.Base/Gui/OpenLocationDialog.cs:
25774 * src/Banshee.Base/Gui/PreferencesDialog.cs:
25775 * src/Banshee.Base/Gui/TrackEditor.cs:
25776 * src/Banshee.Base/IO/IOProxy.cs:
25777 * src/Banshee.Base/Plugins/Plugin.cs:
25778 * src/Banshee.Base/Plugins/PluginCore.cs:
25779 * src/Banshee.Base/Plugins/PluginDialog.cs:
25780 * src/Banshee.Base/Sources/AbstractPlaylistSource.cs:
25781 * src/Banshee.Base/Sources/LibrarySource.cs:
25782 * src/Banshee.Base/StreamTagger.cs:
25783 * src/Banshee.Base/PlayerEngineCore.cs:
25784 * src/Banshee.Base/LibraryTrackInfo.cs:
25785 * src/Banshee.Base/Library.cs:
25786 * src/Banshee.Base/FileNamePattern.cs:
25787 * src/Banshee.Base/AudioCdRipper.cs:
25788 * src/PlayerInterface.cs: Use the new Banshee.Configuration APIs, getting
25789 and setting configuration from SchemaEntry<T> objects
25791 * src/Banshee.Base/Banshee.AudioProfiles/ProfileConfiguration.cs:
25792 Use the new configuration APIs to get the base key
25794 * src/Banshee.Base/Banshee.AudioProfiles/ProfileManager.cs: Place
25795 document.Load inside try/catch, dump exception if it occurs (useful if
25796 profile XML is invalid)
25798 * src/Banshee.Base/Banshee.AudioProfiles/Pipeline.cs:
25799 Added GetPendingProcessesById, CompileProcess(Process), AddProcess(Process)
25800 methods and allow defining multiple pipeline processes with the same id
25801 using an order attribute. This allows for defining various pipelines for
25802 a single process, the first pipeline that compiles will be used.
25804 * src/PlaylistView.cs: Use new columns, cleaned up lots of code
25806 * src/Makefile.am: Added new files, include new auto-schema rule
25808 * banshee.mds: Updated
25810 * build/Common.Makefile: Added MONO_BASE_PATH and LINK_BANSHEE_BASE
25812 * build/Makefile.am: Build GConfSchemaExtractor.cs
25814 * build/GConfSchemaExtractor.cs: Creates a GConf schema XML file from
25815 assemblies containing SchemaEntry<T> objects
25817 * build/gconf-schema-rules: Makefile.am include file with rule for
25818 automatically generating and installing schemas from assemblies
25820 * data/audio-profiles/*.xml: Updated
25822 * dbus-sharp/*: Updated to 0.3.0
25824 * data/Makefile.am:
25825 * data/banshee.schemas.in: Removed old manual schemas
25828 * autogen.sh: Manually copy mkinstalldirs if it wasn't copied by automake
25830 2006-12-17 Gabriel Burt <gabriel.burt@gmail.com>
25832 * src/Banshee.Base/Gui/SourceView.cs: Don't enter source renaming mode
25833 unless the user presses F2 or right clicks and selects 'Rename'. Prevents
25834 entering rename mode when a source is selected and you try to drag it or
25835 double click it to start it playing.
25837 2006-12-17 Gabriel Burt <gabriel.burt@gmail.com>
25839 Add initial support for DAPs to have playlists. Code contributed by Trey
25840 Ethridge, Patrick van Staveren, Kevin Kubasik, and Gabriel Burt.
25842 * src/Banshee.Base/Banshee.Base.mdp:
25843 * src/Banshee.Base/Makefile.am: new files
25845 * src/Banshee.Base/Banshee.Playlists.Formats/M3u.cs
25846 * src/Banshee.Base/Banshee.Playlists.Formats/PlaylistFile.cs
25847 * src/Banshee.Base/Banshee.Playlists.Formats/Pls.cs: New files for
25848 importing and exporting playlist files, written by Trey Ethridge.
25850 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: The
25851 Playlist ConfirmUnmap dialog was moved, updating reference here.
25853 * src/Banshee.Base/Sources/AbstractPlaylistSource.cs: New abstract class
25854 that PlaylistSource (should be renamed to LibraryPlaylistSource..) and
25855 DapPlaylistSource derive from.
25857 * src/Banshee.Base/Sources/DapPlaylistSource.cs: New source for DAP
25860 * src/Banshee.Base/Sources/DapSource.cs: Handle SourceDrop. If a
25861 PlaylistSource is dropped on a DAP and it is IPlaylistCapable, create
25862 a new DAP playlist from the dropped source.
25864 * src/Banshee.Base/Sources/IPlaylistCapable.cs: New interface for DAPs
25865 and Sources that can have child playlists.
25867 * src/Banshee.Base/Sources/PlaylistSource.cs: Refactored into
25868 AbstractPlaylistSource.
25870 2006-12-17 Patrick van Staveren <trick@vanstaveren.us>
25872 * src/Banshee.Dap/Mtp/GPhotoDevice.cs: fix sync'ing not creating
25875 2006-12-17 Patrick van Staveren <trick@vanstaveren.us>
25877 * src/Banshee.Dap/Mtp/GPhotoDeviceFile.cs:
25878 * src/Banshee.Dap/Mtp/MtpDap.cs: add / clean up debug info
25880 2006-12-17 Ruben Vermeersch <ruben@savanne.be>
25882 * src/Banshee.Base/FileNamePattern.cs: Also escape |, < and >. Again
25883 related to BGO #333813.
25885 2006-12-17 Ruben Vermeersch <ruben@savanne.be>
25887 * src/Banshee.Base/FileNamePattern.cs: Also escape single and double
25888 quotes. (Should fix BGO #333813).
25890 2006-12-15 Gabriel Burt <gabriel.burt@gmail.com>
25892 * src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs: Add a predefined smart
25893 playlist for 'Unheard Podcasts'.
25895 2006-12-15 Gabriel Burt <gabriel.burt@gmail.com>
25897 Rename PlaylistID to SmartPlaylistID in the two relevant tables. Add
25898 ability to have smart playlists derived from other smart playlists.
25900 * src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs: If editing an existing
25901 playlist, pass it on to the QueryModel so it can use it to figure out what
25902 smart playlists to show as condition options.
25904 * src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs: Add operators
25905 for being/not being in a smart playlist. In terms of eventual code reuse
25906 somewhere like F-Spot, this is hacky and gross. But it's quick.
25908 * src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs: Support
25909 using other smart playlists in the condition for this one.
25911 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistCore.cs: Do the
25912 column rename, support smart playlists being dependent on one another.
25914 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: Support
25915 identifying and listening to smart playlists we depend on. Show a special
25916 dialog confirmation if we have dependent smart playlists and we are
25919 2006-12-15 Gabriel Burt <gabriel.burt@gmail.com>
25921 * src/PlayerInterface.cs: Handle DapPropertiesChanged more gracefully.
25923 * src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs: When saving a smart
25924 playlist, queue a refresh instead of calling it from the thread.
25926 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: Don't
25927 order the tracks by id when refreshing; recent regression, fixes BGO
25928 #384816. Also, assume Add/RemoveTrack calls are in main thread, and add
25929 QueueRefresh method used by the editor.
25931 * src/Banshee.Base/Dap/Dap.cs: Add a public property to get at a Dap's
25932 Source object. Raise PropertiesChanged in the standard way.
25934 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: When adding tracks to the
25935 source (either when first loading or transferring), queue updates to the
25936 track count in the source view. Display more helpful error messages when
25937 unable to eject the DAP.
25939 2006-12-14 Gabriel Burt <gabriel.burt@gmail.com>
25941 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: Load iPods that have an
25942 .is_audio_player file as regular USB mass storage devices.
25944 2006-12-13 Peter Teichman <peter@novell.com>
25946 * src/Banshee.Base/Banshee.Burner/BurnerCore.cs:
25947 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:
25948 Add a menu accelerator for Music->Close, and change Music->New
25951 2006-12-13 Peter Teichman <peter@novell.com>
25953 * src/Banshee.Base/ActionManager.cs:
25954 * src/Banshee.Base/Banshee.Burner/BurnerCore.cs:
25955 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistCore.cs:
25956 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:
25957 Add menu accelerators for actions that haven't had them.
25958 (Fixes BNC #202861)
25960 2006-12-13 Aaron Bockover <abock@gnome.org>
25962 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
25963 Make 'Quit' italics
25965 2006-12-13 Aaron Bockover <abock@gnome.org>
25967 * build/Common.Makefile: Run NJB uninstalled properly
25969 * src/Main.cs: Do not use UcFirst - just pass the program name
25971 * src/PlayerInterface.cs: Call InterfaceElements.PrimaryWindowClose if it
25972 is set; if set, the close action from the title bar will close the
25973 window instead of quitting the application (Fixes BGO #358192)
25975 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
25976 Set InterfaceElements.PrimaryWindowClose handler to override the quit
25977 behavior for the window's [X] button. Notify user of the action if
25978 it's never been performed before; only set the close handler if
25979 /apps/Banshee/NotificationAreaIcon/quit_on_close in GConf is not set
25981 * src/Banshee.Plugins/NotificationAreaIcon/banshee-notificationareaicon.schemas.in: Added schema keys for quit_on_close and notify_on_close
25983 * src/Banshee.Base/Globals.cs: Added InterfaceElements.PrimaryWindowClose
25985 * src/Banshee.Base/StringUtils.cs: Implemented culture aware sorting
25986 that also ignore 'the' prefixes on strings; speeds sort operation up
25987 by about 15%. (Fixes BGO #384235)
25989 * src/PlaylistView.cs: Use new culture aware sorting for strings
25991 * src/Banshee.Base/Banshee.Base.mdp:
25992 * src/Banshee.Base/Makefile.am: Added StringUtils.cs
25994 * src/Banshee.Base/Utilities.cs: Removed old StringUtils class
25996 2006-12-13 Aaron Bockover <abock@gnome.org>
25998 * build/m4/banshee/boo.m4: Require 0.7.6 for booc precompilation
26000 * build/m4/banshee/dap-njb.m4: Cosmetic AC_MSG_RESULT fix
26002 2006-12-12 Aaron Bockover <abock@gnome.org>
26004 * src/Banshee.Widgets/ActiveUserEvent.cs:
26005 * src/Banshee.Widgets/ActiveUserEventsManager.cs: Queue ActiveUserEvent
26006 objects if the ActiveUserEventsManager is not yet available
26008 * src/Banshee.Base/Dap/Dap.cs: Do not remove source if it is null
26010 * src/Banshee.Base/Banshee.AudioProfiles/PipelineVariable.cs: Check for
26011 null to prevent NullReferenceExceptions, even though they're handled;
26012 this allows startup to work inside gdb without having to set pass on
26015 * libbanshee/gst-cd-rip-0.10.c: Use gst_element_link instead of
26016 gst_element_link_many to provide higher resolution error reporting;
26017 removed old muxer injection hacks now that we have awesome audio
26018 profile support with proper pipeline definitions
26020 * build/m4/shamrock/gstreamer.m4: Print the full gst-inspect path that
26021 is found instead of just 'yes'
26023 * build/m4/banshee/dap-njb.m4: Fixed lib64 detection for njb-sharp
26026 * build/Common.Makefile: Support running MTP uninstalled
26028 2006-12-12 Patrick van Staveren <trick@vanstaveren.us>
26030 * build/m4/banshee/dap-mtp.m4:
26031 * src/Banshee.Dap/Mtp/MtpDap.cs: fix verification based on newer
26032 hal fdi information. Initialization should work now with
26033 libgphoto2 2.3.0 or later, but not younger.
26035 2006-12-09 Patrick van Staveren <trick@vanstaveren.us>
26037 First update in quite some time...
26039 * src/Banshee.Dap/Mtp/GPhotoDevice.cs:
26040 * src/Banshee.Dap/Mtp/GPhotoDeviceFile.cs: lots of syntax cleanups
26041 Who the heck wrote this to begin with? Oh...it was me...
26043 * src/Banshee.Dap/Mtp/MtpDeviceId.cs:
26044 * src/Banshee.Dap/Mtp/Makefile.am: removed MtpDeviceId in favour of
26045 detecting libgphoto2 compatible devices from HAL properties.
26047 * src/Banshee.Dap/Mtp/MtpDap.cs: lots of syntax cleanups, use HAL
26048 properties to determine if this is a MTP device, lots more debug.
26049 Handle multiple instance devices without a popup. Play nicely if
26050 there is a libgphoto2 camera plugged in as well.
26052 2006-12-09 Aaron Bockover <abock@gnome.org>
26054 Banshee 0.11.3 Released!
26056 * NEWS: Fixed small bug
26061 * MAINTAINERS: Removed, not sure why we had both
26063 2006-12-09 Aaron Bockover <abock@gnome.org>
26065 * src/Main.cs: setup the GNOME Program outside the Interface initialization
26066 handler, it needs to be done before startup of any components
26068 2006-12-09 Aaron Bockover <abock@gnome.org>
26070 * NEWS: Updated with release notes
26072 * data/contributors.xml: Updated
26074 * src/PlayerInterface.cs: Get rid of the old source view loading pane
26076 * src/Banshee.Base/ActionManager.cs:
26077 * src/Banshee.Base/Globals.cs:
26078 * src/Main.cs: Load the interface itself as a startup component; this
26079 allows the splash screen to stay up the entire startup time, showing
26080 progress of the interface load
26082 * src/Banshee.Base/Plugins/PluginCore.cs: Added support for disabling
26083 plugins altogether by setting BANSHEE_PLUGINS_DISABLE
26085 * src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs: Focus the playlist
26086 name entry on UI load
26088 2006-12-08 Aaron Bockover <abock@gnome.org>
26090 * build/icon-theme-installer: New script that meant to be used from
26091 within make/automake to install icons into the theme in an easy and
26092 proper way. It also updates the icon cache
26094 * data/images/Makefile.am: Use new icon-theme-installer
26096 * build/Makefile.am: EXTRA_DIST icon-theme-installer
26098 * data/images/splash.png: Updated splash from Jakub
26100 * src/Banshee.Base/Plugins/PluginCore.cs: Create the user plugins
26101 directory as some plugins expect it to be there
26103 2006-12-08 Aaron Bockover <aaron@abock.org>
26106 * build/m4/banshee/libbanshee.m4:
26107 * build/m4/shamrock/i18n.m4: Moved some macro calls back to configure.ac
26108 as gnome-autogen greps configure.ac (booo) for these call to see what
26109 programs it will need to run (libtoolize, intltoolize, autoheader);
26110 would be nice if gnome-autogen could parse ACLOCAL_FLAGS and grep
26111 through the -I files as well. Hiss. Fixes BGO #383844.
26113 2006-12-08 Ruben Vermeersch <ruben@savanne.be>
26115 * src/Banshee.Base/IO/GnomeVfs.cs:
26116 * src/Banshee.Base/IO/Interfaces.cs:
26117 * src/Banshee.Base/IO/SystemIO.cs:
26118 * src/Banshee.Base/IO/Unix.cs: Added a Move(from, to) method.
26120 2006-12-08 Aaron Bockover <abock@gnome.org>
26122 * src/Banshee.Base/Sources/PlaylistSource.cs: Added a confirmation
26123 method that shows a dialog asking to unmap; has do not show me again
26124 check box, fixes BGO #360466
26126 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: Use
26127 PlaylistUtil.ConfirmUnmap
26129 * data/UIManagerLayout.xml: Added a close item placeholder
26131 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconMenu.xml:
26132 Fill in the close item placeholder
26134 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
26135 Added close action that hides to the tray
26137 * src/Banshee.Base/Gui/SourceView.cs: Do not allow dragging tracks from
26138 a source onto itself (BGO #345620)
26140 * src/Banshee.Base/ImportManager.cs: Added ImportFinished event
26141 Scott Peterson, BGO #362994
26143 2006-12-08 Aaron Bockover <abock@gnome.org>
26145 * src/Main.cs: Added a --no-source-change argument that can be supplied
26146 with --dap or --audio-cd to disable selecting the source in the source
26147 view and instead simply present the already running instance. This will
26148 allow Banshee to start with the source selected if no instance was running
26149 but not change to the source if an instance was already started. Fixes
26152 2006-12-08 Aaron Bockover <abock@gnome.org>
26154 * data/UIManagerLayout.xml: Added Copy to the context menu
26156 * src/Banshee.Base/ActionManager.cs: Removed 'Song(s)' from the menu
26157 items - that's implied
26159 * src/PlayerInterface.cs: Use a UTF8 encoding for the nautilus file copy;
26160 make the target static; show/hide the jump to playing item based on
26161 our current playback state
26163 2006-12-08 Aaron Bockover <abock@gnome.org>
26165 * src/PlayerInterface.cs: Implement nautilus copy files action,
26168 * data/UIManagerLayout.xml:
26169 * src/Banshee.Base/ActionManager.cs: Added Copy item to Edit menu
26171 2006-12-08 Gabriel Burt <gabriel.burt@gmail.com>
26173 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: Clean up
26174 some methods, and add a remove queue to hopefully speed things up when
26175 songs are removed from the library.
26177 2006-12-08 Aaron Bockover <aaron@abock.org>
26179 * src/PlayerInterface.cs: Fixed default accelerator for remove track
26180 confirmation dialog
26182 * src/Banshee.Widgets/SeekSlider.cs: Set the slider insensitive if no
26183 playback is happening (idle)
26185 2006-12-07 Gabriel Burt <gabriel.burt@gmail.com>
26187 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: Prevent a
26188 crasher by wrapping an access into the Library's dictionary of tracks in a
26191 2006-12-07 Aaron Bockover <abock@gnome.org>
26193 * data/UIManagerLayout.xml:
26194 * src/Banshee.Base/ActionManager.cs: Move the source properties action
26197 * src/Banshee.Base/SourceManager.cs: Set the source properties action's
26198 visibility and not sensitivity
26200 * src/Banshee.Base/Database.cs: Added new columns to the Playlists table
26202 * src/Banshee.Base/Source.cs: Make SortColumn and SortType virtual
26204 * src/Banshee.Base/Sources/PlaylistSource.cs: Override SortColumn and
26205 SortType properties to read/write the Playlists table for the playlist
26207 * src/Banshee.Base/Sources/LibrarySource.cs: Override SortColumn and
26208 SortType properties to read/write from/to GConf
26210 * src/Banshee.Base/Gui/SourceView.cs: Fixed right click source activation
26211 bug. Source should never change on a right click - only the highlight
26213 * data/banshee.schemas.in:
26214 * src/Banshee.Base/GConfKeys.cs: Added LibrarySortColumn, LibrarySortType
26216 2006-12-07 Aaron Bockover <abock@gnome.org>
26218 * src/Banshee.Base/Banshee.AudioProfiles/Pipeline.cs:
26219 * src/Banshee.Base/Banshee.AudioProfiles/PipelineVariable.cs:
26220 * src/Banshee.Base/Banshee.AudioProfiles/ProfileManager.cs: Fixed locale
26221 issues with loading of some profiles (vorbis) due to culture format
26222 rules that are not compatible with GStreamer (all pipeline input should
26223 be en_US); all conversions use an en-US CultureInfo now
26225 2006-12-07 Aaron Bockover <abock@gnome.org>
26227 * data/audio-profiles/aac.xml: Fixed faac bitrate range problem
26229 2006-12-07 Aaron Bockover <abock@gnome.org>
26231 * src/Banshee.Widgets/SearchEntry.cs: Set the base style on the action
26232 icons in the search entry when the style has been fully set on the
26233 entry (BGO #321773)
26235 2006-12-07 Aaron Bockover <abock@gnome.org>
26237 * src/PlaylistModel.cs: Save/restore the sort ID from the active source
26240 * src/Banshee.Base/Source.cs: Added SortColumn and SortType properties
26241 to allow for saving the sort ID along with the source and not globally
26243 2006-12-07 Aaron Bockover <abock@gnome.org>
26245 * data/images/: Excellent new playlist icons from Jimmac
26247 2006-12-07 Aaron Bockover <abock@gnome.org>
26249 * src/PlaylistView.cs: Fix the sort order for the track number column
26250 to properly sort by artist, album, then track number; sorting by track
26251 number is now the most logical sort/group operation (BGO #314149)
26253 2006-12-07 Aaron Bockover <abock@gnome.org>
26255 * src/Banshee.Base/ActionManager.cs: Don't set the default string
26256 for the source properties label here
26258 * src/Banshee.Base/Source.cs: Added SourcePropertiesLabel and
26259 SourcePropertiesIcon virtual properties; set the default string here now
26261 * src/Banshee.Base/SourceManager.cs: Assign the source properties action
26262 its label and icon based on the active source's SourcePropertiesLabel
26263 and SourcePropertiesIcon properties
26265 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: Override
26266 the SourcePropertiesLabel to 'Edit Smart Playlist...' as it makes a lot
26267 more sense than 'Source Properties...'
26269 2006-12-07 Aaron Bockover <abock@gnome.org>
26271 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Handle the
26272 MissingPlugins error code
26274 * Gabriel Burt: The next time you see this man, buy him some beer.
26276 2006-12-07 Gabriel Burt <gabriel.burt@gmail.com>
26278 * src/PlayerInterface.cs: Handle multiple tracks being added or removed at
26279 once in OnSourceTrackAdded/Removed.
26281 * src/PlaylistModel.cs: Add helpers for turning off and then restoring the
26282 sort order of the model, useful b/c otherwise when doing many additions or
26283 removals from the model it sorts after each one. Fixes BGO #325968.
26285 Also, actually do something in RemoveTrack, fixes BGO #344833.
26287 * src/Banshee.Base/Source.cs: Make TrackEventArgs an ICollection instead
26288 of IEnumerable so we can get a Count easily. Support sending multiple
26289 tracks with the OnTrackAdded and OnTrackRemoved helpers.
26291 * src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs: whitespace.
26293 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: Make some
26294 translated strings static. Simplify and improve the way smart playlists
26295 are refreshed, removing unnecessary track removals (used to just clear
26296 everything out and start over). Make sure to raise events inside the main
26297 loop to prevent crashing.
26299 2006-12-05 Aaron Bockover <abock@gnome.org>
26301 * configure.ac: Organized, moved major pieces to shamrock/banshee m4
26302 macros so this is easier to manage
26304 * libbanshee/Makefile.am: Cleaned up
26306 * build/m4/banshee/*.m4: New Banshee specific m4 macros
26308 * build/m4/shamrock/*.m4: New reusable Shamrock m4 macros
26310 2006-12-05 Aaron Bockover <abock@gnome.org>
26312 * libbanshee/gst-playback-0.10.c: Set gconfaudiosink.profile=1 if
26313 supported ('music and movies' profile)
26315 2006-12-05 Aaron Bockover <abock@gnome.org>
26317 * libbanshee/gst-playback-0.10.c: Added gst_playback_get_error_quarks
26318 to return the GST_*_ERROR quarks/domains
26320 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Added enums
26321 for all the error codes in the GST_*_ERROR domains; work off those
26324 2006-12-05 Aaron Bockover <abock@gnome.org>
26326 * src/PlaylistView.cs: Show a message for TrackPlaybackError.CodecNotFound
26328 * libbanshee/gst-playback-0.10.c: Extended the error callback to
26329 propagate the error code
26331 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Update managed
26332 delegate and handler to handle the new error code parameter;
26333 Set PlaybackError on the track based on the GStreamer error code,
26334 not the string message
26336 * src/PlayerInterface.cs:
26337 * src/PlaylistModel.cs: Cleaned up unused variables
26339 2006-12-05 Aaron Bockover <abock@gnome.org>
26341 Patch to fix BGO #340222: Do not stop playing after a playback error
26343 * src/PlayerInterface.cs: On playback error, advance to the next song
26344 linearly and without repeating (eliminates the possibility of an endless
26345 loop if all tracks in the source cannot be played)
26347 * src/PlaylistModel.cs: Stop playing in some states when the repeat
26350 * src/PlaylistView.cs: Set row pixbuf based on new TrackPlaybackError
26351 enum of the track, show status on errored tracks ('Missing')
26353 * src/Banshee.Base/PlayerEngineCore.cs: Set default TrackPlaybackError
26354 on a track for which the underlying engine raises an error but does
26355 not set it on the track itself
26357 * src/Banshee.Base/TrackInfo.cs: Small syntax cleanup, added
26358 TrackPlaybackError enum and PlaybackError property to TrackInfo
26360 * src/Banshee.Dap/Ipod/IpodDapTrackInfo.cs: Set PlaybackError to
26361 TrackPlaybackError.Drm if the song is protected
26363 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Support the
26364 resource not found error and set PlaybackError accordingly
26366 2006-12-05 Ruben Vermeersch <ruben@savanne.be>
26368 * src/Banshee.Base/Gui/PreferencesDialog.cs: Allow users to specify
26369 custom LibraryFilePattern and LibraryFolderPattern preferences to gconf,
26370 yet don't crash in the preferences screen.
26372 2006-12-05 Ruben Vermeersch <ruben@savanne.be>
26374 * data/banshee.schemas.in: Stupid detail of the day: add missing closing )
26375 to make them all line up in /apps/Banshee/LibraryFolderPattern. Ony char
26378 2006-12-05 Aaron Bockover <abock@gnome.org>
26380 * src/Banshee.Base/IO/Interfaces.cs:
26381 * src/Banshee.Base/IO/Unix.cs:
26382 * src/Banshee.Base/IO/SystemIO.cs:
26383 * src/Banshee.Base/IO/GnomeVfs.cs: Use SafeUri for IFile methods
26385 * src/Banshee.Base/IO/Utilities.cs: Delete a file and trim its parent
26388 * src/Banshee.Base/Banshee.Base.mdp:
26389 * src/Banshee.Base/Makefile.am: Added Utilities.cs
26391 * src/Banshee.Base/ImportManager.cs: Use SafeUri when checking file
26393 2006-12-05 Aaron Bockover <abock@gnome.org>
26395 * src/PlayerInterface.cs: Save/restore the active filter on
26396 sources (BGO #345218)
26398 * src/Banshee.Base/Source.cs: Added FilterQuery and FilterField
26400 2006-12-04 Aaron Bockover <abock@gnome.org>
26402 * src/Banshee.Base/IO/Unix.cs: Specify directory perms in base 10; C#
26403 doesn't support octal literals - nor does the compiler warn if an octal
26404 literal is found (stating that it will be interpreted in base 10); fixes
26405 the bad perms on UNIX backend created directories
26407 2006-12-04 Aaron Bockover <abock@gnome.org>
26409 * src/Banshee.Base/IO/Unix.cs: Use g_mkdir_with_parents to recursively
26410 create directories or fall back on System.IO.Directory.CreateDirectory
26412 2006-12-04 Aaron Bockover <abock@gnome.org>
26414 * build/m4/shamrock/expansions.m4: Fixed datadir expansion macro
26416 2006-12-04 Aaron Bockover <abock@gnome.org>
26418 * data/banshee-dialogs.glade:
26419 * src/Banshee.Base/Gui/PreferencesDialog.cs: Added file/folder pattern
26420 boxes and fixed up mnemonics
26422 * data/banshee.schemas.in:
26423 * src/Banshee.Base/GConfKeys.cs: Added LibraryFilePattern and
26424 LibraryFolderPattern; deprecated FileNamePattern
26426 * src/Banshee.Base/Makefile.am: Added SampleTrackInfo.cs
26428 * src/Banshee.Base/SampleTrackInfo.cs: A sample track info object used
26429 for demonstrating file/folder patterns
26431 * src/Banshee.Base/FileNamePattern.cs: More flexible patterns; broken
26432 into file and folder components; tokens have full descriptions and
26433 expansion delegate handlers (the conversion token handles its own
26436 * tests/FileNamePattern.cs: Added unit tests for FileNamePattern
26438 * tests/GenericCollectionController.cs: Fixed broken test
26440 * tests/Makefile.am: Added FileNamePattern.cs
26442 2006-11-29 Aaron Bockover <abock@gnome.org>
26444 * data/banshee.schemas.in: Added WriteMetadata schema
26446 2006-11-29 Aaron Bockover <abock@gnome.org>
26448 * src/Banshee.Base/Dap/DapCore.cs: Use volume.fsusage=filesystem instead
26449 of volume.policy.should_mount
26451 2006-11-29 Aaron Bockover <abock@gnome.org>
26453 * configure.ac: Use Shamrock expansion macros
26455 * build/Makefile.am:
26456 * build/m4/Makefile.am: Added Makefile to EXTRA_DIST the m4 macros
26458 * data/images/Makefile.am:
26459 * src/BooBuddy/Makefile.am: Add missing files to EXTRA_DIST
26461 2006-11-27 Aaron Bockover <abock@gnome.org>
26463 * src/Banshee.Base/Dap/DapCore.cs: Added some debug logging calls; respect
26466 2006-11-27 Gabriel Burt <gabriel.burt@gmail.com>
26468 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: Trim white space from
26469 directory names to prevent bug. Fixes BGO #375146.
26471 2006-11-27 Gabriel Burt <gabriel.burt@gmail.com>
26473 * src/Banshee.Base/ImportManager.cs: Expose label strings as public
26476 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: Set the strings for the
26477 ImportManager to make it clear that the songs are being loaded, not
26478 imported from the DAP. Fixes BGO #355880.
26480 2006-11-27 Gabriel Burt <gabriel.burt@gmail.com>
26482 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: Lazy load several HAL
26483 properties that won't change instead of going over the dbus to get them
26484 every time, fixing the managed-dbus related crashes. Allow overriding the
26485 HAL properties (or setting them in case they are missing) in key=value
26486 form within the .is_audio_player file. Display folder depth, audio
26487 folders, and playback formats in the DAP properties. Use LogCore instead
26488 of Console.WriteLine's in several places.
26490 2006-11-27 Gabriel Burt <gabriel.burt@gmail.com>
26492 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: Silently ignore iPods so
26493 as not to confuse the user if iPod support isn't installed or their iPod
26494 isn't recognized by it. Fixes BGO #355890.
26496 2006-11-27 Aaron Bockover <abock@gnome.org>
26498 * src/Banshee.Base/Dap/DapCore.cs: Work with the new PropertyModified
26499 event args, use a registration wait list to make sure the same device
26500 doesn't get multiple event handler registrations; this _should_ finally
26501 fix all the iPod detection problems - the root of which was outdated
26502 and incorrect HAL documentation
26504 * hal-sharp/Device.cs: Wrap the proper delegate signature of
26505 Hal.Device.PropertyModified which is ia(sbb), not sbb like the outdated
26506 HAL specification implies. Thanks to Sebastian Dröge and Alp Toker for
26507 looking into the issue.
26509 2006-11-26 Aaron Bockover <abock@gnome.org>
26511 * build/Common.Makefile: Reference installed njb-sharp libraries in the
26512 run path (Bertrand Lorentz, BGO #379119)
26514 2006-11-26 Aaron Bockover <abock@gnome.org>
26516 * src/Banshee.Base/Globals.cs: Initialize gstreamer before gconf. (Tim
26517 Yamin, BGO #379529)
26519 2006-11-25 Ruben Vermeersch <ruben@savanne.be>
26521 * data/banshee.glade: Lower the border size of vbox3 to zero.
26524 2006-11-22 Aaron Bockover <abock@gnome.org>
26526 * autogen.sh: Set ACLOCAL_FLAGS to include new m4 macros
26528 * configure.ac: Use the new SHAMROCK mono macros
26530 * build/m4/shamrock/*.m4: Helper macros, new mono-specific macros for
26531 properly detecting mono components
26533 * build/m4/banshee/*.m4: Banshee-specific m4 macros
26535 2006-11-22 Aaron Bockover <abock@gnome.org>
26537 Initial Rio Karma support by Bob Copeland <me@bobcopeland.com> (BGO #348730)
26540 * src/Banshee.Dap/Makefile.am: Added build settings for Karma
26542 * src/Banshee.Dap/Karma/*: Initial support for the Rio Karma DAPs
26544 2006-11-22 Aaron Bockover <abock@gnome.org>
26546 * src/Banshee.Base/Dap/DapCore.cs: Use Device.PropertyModified instead
26547 of a poll/wait table to check for volume.is_mounted
26549 2006-11-22 Aaron Bockover <abock@gnome.org>
26551 * build/Common.Makefile: Globally ignore compiler warning 0278 as gmcs
26552 incorrectly reports it: http://bugzilla.novell.com/show_bug.cgi?id=322696
26554 2006-11-22 Aaron Bockover <abock@gnome.org>
26556 * taglib-sharp/update-checkout.sh: Updated
26558 * tests/Makefile.am:
26559 * tests/GenericCollectionController.cs: Added some tests for the yet
26560 to be completed GenericCollectionController
26562 * src/BooBuddy/BooBuddy.mdp:
26563 * src/BooBuddy/BooBuddyInterpreter.cs:
26564 * src/BooBuddy/BooBuddyShell.cs:
26565 * src/BooBuddy/BooBuddyWindow.cs:
26566 * src/BooBuddy/Makefile.am: Updated; support new reflection debugging
26568 * src/BooBuddy/BooBuddy.Debugger/DebugAliasAttribute.cs: Attribute
26569 to alias methods for easier invocation in the shell
26571 * src/BooBuddy/BooBuddy.Debugger/DebugAliasBuilder.cs: Builds alias
26572 methods using reflection
26574 * src/BooBuddy/BooBuddy.Debugger/Reflection.cs: Some reflection utilities
26575 useful in debugging
26577 * src/Banshee.Base/IO/IOProxy.cs:
26578 * src/Banshee.Base/IO/SystemIO.cs:
26579 * src/Banshee.Base/IO/Unix.cs:
26580 * src/Banshee.Base/IO/GnomeVfs.cs: Initial pass at GNOME VFS backend
26581 support - not complete. Other backends use the MimeType support from
26582 the GNOME VFS backend however
26584 * src/Banshee.Widgets/Banshee.Widgets.mdp:
26585 * src/Banshee.Widgets/Makefile.am:
26586 * src/Banshee.Widgets/DictionaryComboBox.cs: Added a custom combo box
26587 for displaying a string-valued dictionary
26589 * src/Banshee.Base/GenericCollectionController.cs: Initial work for
26590 a new playback controller
26592 * src/Banshee.Base/Makefile.am: Added GenericCollectionController.cs
26595 * src/Banshee.Base/Banshee.Base.mdp:
26596 * hal-sharp/hal-sharp.mdp: Updated
26598 * banshee.mds: Added
26599 * src/Banshee.Dap/Ipod/Ipod.mdp: Added Ipod MD project
26601 * configure.ac: Added booc check; booc will be used to 'pre-compile' Boo
26602 macros during build to ensure they at least compile; optional
26604 * libbanshee/gst-misc-0.10.c:
26605 * libbanshee/gst-misc.h:
26606 * src/Banshee.Base/GstMisc.cs: Removed GStreamer-based mime type detection
26608 2006-11-21 Aaron Bockover <abock@gnome.org>
26610 * build/Common.Makefile: Rules for running uninstalled with DAP support
26612 * src/Banshee.Base/Dap/DapCore.cs: Fixed tiny regression introduced after
26613 0.11.2 (CVS only) regarding the loading of DAP assemblies
26615 2006-11-16 Ruben Vermeersch <ruben@savanne.be>
26617 * src/Banshee.Plugins/MMKeys/MMKeysConfigPage.cs: Mark string "Configure
26618 Keyboard Shortcuts" for translation, fixes BGO #376070.
26620 2006-11-16 Ruben Vermeersch <ruben@savanne.be>
26622 * po/POTFILES.in: Add 3 missing files (src/Banshee.Base/SourceManager.cs,
26623 src/Banshee.Plugins/Daap/DaapContainerSource.cs,
26624 src/Banshee.Plugins/Daap/DaapErrorView.cs).
26625 * po/POTFILES.skip: Remove non exisiting libbanshee/gst-cd-trm.c.
26629 2006-11-15 Gabriel Burt <gabriel.burt@gmail.com>
26631 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
26632 Fix regression caused by minimize (minimize effect showed the window being
26633 put in the taskbar, which was confusing).
26635 2006-11-12 Gabriel Burt <gabriel.burt@gmail.com>
26637 * src/Banshee.Base/Globals.cs: Make InterfaceElements.MainWindow mutable
26638 so minimode can set itself as such and the notify plugin can behave
26639 correctly (eg hide and show the correct main window when the icon is
26642 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
26643 Minimize instead of hiding the main window when clicking the notify icon
26644 and set the task bar hint to false to avoid having to reset the
26645 size/position of the main window. Remove ResizeMoveWindow function.
26646 Only show notification popups if Banshee is not currently focused - fixes
26649 2006-11-09 Ruben Vermeersch <ruben@savanne.be>
26651 * src/PlayerInterface.cs: Fix typo as reported in BGO #372720.
26653 2006-11-04 Gabriel Burt <gabriel.burt@gmail.com>
26655 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistCore.cs: Add rate
26656 limiting that prevents Banshee from going nuts when many tracks are
26657 changed at once (when importing, say). Fixes BGO #363066.
26659 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: Use the
26660 rate limiting. Also, don't delete the smart playlist when it's emptied.
26662 2006-11-02 Jakub Steiner <jimmac@ximian.com>
26664 * music-player-banshee-32.png: add another common size for the app
26667 2006-11-01 Ruben Vermeersch <ruben@savanne.be>
26669 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs: Change some
26670 WriteLine's to debug messages through the logger.
26672 2006-11-01 Aaron Bockover <abock@gnome.org>
26674 Patch by Christopher James Halse Rogers <chalserogers@gmail.com>
26677 * src/Banshee.Base/AudioCdRipper.cs: Add optional error-correction when
26678 importing CDs, enabling the paranoia mode of the cdparanoiasrc.
26680 * data/banshee-dialogs.glade:
26681 * src/Banshee.Base/GConfKeys.cs:
26682 * src/Banshee.Base/Gui/PreferencesDialog.cs: Add a checkbox to the
26683 Preferences dialog to enable/disable CD error-correction.
26685 2006-11-01 Aaron Bockover <abock@gnome.org>
26687 * src/Banshee.Base/AmazonCoverFecther.cs: Do not download cover art
26688 if the file already exists (Alexandros Frantzis, BGO #367047)
26690 * src/Banshee.Base/TrackInfo.cs: Make DateAdded mutable (Sebastian Dröge,
26693 2006-10-31 Aaron Bockover <abock@gnome.org>
26695 * src/PlayerInterface.cs: Fixed modifier bug (BGO #368436)
26697 * src/banshee.mdp: Updated
26699 * src/Banshee.Plugins/Daap/DaapCore.cs: Removed the Jono block from GUADEC;
26700 we love Jono - rock on
26702 * src/BooBuddy/BooBuddyShell.cs: Started on code completion
26704 * src/BooBuddy/BooBuddyWindow.cs: Embed reference to shell as 'shell'
26706 2006-10-31 Aaron Bockover <abock@gnome.org>
26708 * src/Banshee.Base/Sources/LibrarySource.cs: Queue added tracks in a
26709 pending queue and flush it ever 1.5 seconds, this speeds up importing
26710 by around 1.5 minutes on a 5100 track set
26712 * src/PlaylistModel.cs: Removed old unused and confusing code
26714 * src/PlayerInterface.cs: Updated the status bar text, do not run it in
26717 * src/Banshee.Base/ImportManager.cs: Use a timer for the import
26719 * src/Banshee.Base/Makefile.am:
26720 * src/Banshee.Plugins/Daap/Daap.mdp: Updated
26722 * src/Banshee.Base/Dap/DapCore.cs: Use PluginFactory.IncludeMask
26724 2006-10-31 Aaron Bockover <abock@gnome.org>
26726 * src/Banshee.Base/IO/IOProxy.cs: Use a static table of types instead of
26729 * src/Banshee.Base/BansheeTodo.cs: Removed
26731 * src/Main.cs: Removed BansheeTodo support
26733 * src/Banshee.Base/TrackInfo.cs: Removed old BansheeTodo attributes
26735 * src/Banshee.Base/Utilities.cs: Added InvokeMethod and ModuleGetTypes
26736 reflection utilities
26738 * src/Banshee.Base/Banshee.AudioProfiles/Abakos.Compiler/Functions.cs:
26739 Disabled reflection-loaded functions
26741 * src/Banshee.Base/Branding.cs:
26742 * src/Banshee.Base/Plugins/PluginFactory.cs: Check for
26743 PluginModuleEntry.GetTypes() in plugin assemblies and use that instead
26744 of Assembly.GetTypes() if it exists; fall back otherwise
26746 * src/Banshee.Dap/Ipod/IpodDap.cs:
26747 * src/Banshee.Dap/MassStorage/MassStorageDap.cs:
26748 * src/Banshee.Dap/Mtp/MtpDap.cs:
26749 * src/Banshee.Dap/Njb/NjbDap.cs:
26750 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs:
26751 * src/Banshee.MediaEngine/Helix/HelixRemotePlayerEngine.cs:
26752 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:
26753 * src/Banshee.Plugins/Daap/DaapPlugin.cs:
26754 * src/Banshee.Plugins/MMKeys/MMKeysPlugin.cs:
26755 * src/Banshee.Plugins/MetadataSearch/MetadataSearchPlugin.cs:
26756 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
26757 Provide a PluginModuleEntry.GetTypes()
26759 2006-10-29 Gabriel Burt <gabriel.burt@gmail.com>
26761 * src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs: Don't show
26762 static playlists unless there is at least one. Fixes BGO #354389.
26764 2006-10-26 Aaron Bockover <abock@gnome.org>
26766 * src/Banshee.Base/TrackInfo.cs: Make PlayCount and LastPlayed properties
26767 mutable (Scott Peterson, BGO #357127)
26769 2006-10-25 Aaron Bockover <abock@gnome.org>
26771 * src/Banshee.Plugins/Daap/Daap.mdp: Updated
26773 * src/Banshee.Plugins/Daap/DaapSource.cs: Show an icon for locked
26775 * src/Banshee.Plugins/Daap/DaapErrorView.cs: Updated disconnected message
26777 2006-10-25 Aaron Bockover <abock@gnome.org>
26779 * src/Banshee.Base/Plugins/PluginCore.cs: Do not crash
26780 if ~/.gnome2/banshee/scripts does not exist. Nice.
26782 2006-10-25 Aaron Bockover <abock@gnome.org>
26785 * src/Banshee.Plugins/Daap/Daap.mdp: Added Daap project
26787 * src/Banshee.Dap/Ipod/IpodDap.cs:
26788 * src/Banshee.Dap/Ipod/UnsupportedDatabaseView.cs: Offer to rebuild
26789 the database if iTunesDB is missing altogether; use ShadowContainer
26791 * src/Banshee.Plugins/Daap/DaapLoginDialog.cs: Added proper dialog
26794 * src/Banshee.Plugins/Daap/DaapSource.cs: Use DaapErrorView to display
26795 errors inside the source
26797 * src/Banshee.Plugins/Daap/DaapErrorView.cs: A ShadowContainer+MessagePane
26798 view that shows friendly error messages; warns about the iTunes 7 problem
26800 * src/Banshee.Plugins/Daap/Makefile.am: Added DaapErrorView.cs
26802 * src/Banshee.Widgets/Makefile.am:
26803 * src/Banshee.Widgets/Banshee.Widgets.mdp: Added ShadowContainer.cs
26805 * src/Banshee.Widgets/ShadowContainer.cs: A shadowed/painted Alignment
26807 * src/Banshee.Widgets/MessagePane.cs: Support overriding the arrow
26810 2006-10-24 Aaron Bockover <abock@gnome.org>
26812 * src/PlayerInterface.cs: Moved SourceView ButtonPressEvent handler and
26813 SensitizeActions to SourceView and SourceManager classes
26815 * src/BooBuddy/BooBuddy.mdp:
26816 * src/Banshee.Base/Banshee.Base.mdp:
26817 * src/BooBuddy/Makefile.am: Updated
26819 * src/BooBuddy/BooBuddyWindow.cs:
26820 * src/BooBuddy/BooBuddyInterpreter.cs: Split out the interpreter from the
26823 * src/BooBuddy/BooBuddyShell.cs: Cosmetic work
26825 * src/Banshee.Base/Source.cs: Added CanActivate property
26827 * src/Banshee.Plugins/Daap/DaapContainerSource.cs: Override CanActivate to
26830 * src/Banshee.Base/SourceManager.cs: Added SensitizeActions
26832 * src/Banshee.Base/Gui/SourceView.cs: Do not allow activation or
26833 button press events to happen on sources that have CanActivate=false
26835 * src/Banshee.Base/Plugins/PluginCore.cs: Support loading Boo scripts;
26836 scripts are compiled and run at startup - scripts can either provide
26837 a static Main method or can implement the standard Banshee plugin API
26838 for full plugin integration
26840 2006-10-23 Aaron Bockover <abock@gnome.org>
26842 Banshee 0.11.2 Released
26847 * build/Common.Makefile:
26848 * src/Boo/Makefile.am: Use external boo if --enable-external-boo is passed
26851 2006-10-23 Aaron Bockover <abock@gnome.org>
26853 Patch by Scott Peterson, BGO #363548
26855 * src/Banshee.Base/Source.cs: Fix for ClearChildSources
26857 * src/Banshee.Plugins/Daap/DaapCore.cs:
26858 * src/Banshee.Plugins/Daap/DaapContainerSource.cs:
26859 * src/Banshee.Plugins/Daap/DaapSource.cs: DAAP sources show up under
26860 a master DAAP container source
26862 * src/Banshee.Plugins/Daap/Makefile.am: Added DaapContainerSource.cs
26864 2006-10-23 Aaron Bockover <abock@gnome.org>
26866 * build/Common.Makefile: Fixed make run
26868 * data/Makefile.am:
26870 * src/Boo/Makefile.am:
26871 * src/BooBuddy/Makefile.am: Fixes for make distcheck
26873 2006-10-21 Aaron Bockover <abock@gnome.org>
26876 * src/BooBuddy/BooBuddy.mdp: Added BooBuddy MonoDevelop project
26879 * src/Makefile.am: Added BooBuddy
26881 * build/Common.Makefile: Added BooBuddy/Boo rules
26883 * src/Banshee.Base/Makefile.am:
26884 * src/Banshee.Base/Banshee.Base.mdp: Updated
26886 * src/Banshee.Base/ActionManager.cs: Run the Boo Buddy interpreter
26888 * src/Banshee.Base/Banshee.Debugger/Shell.cs: Removed
26890 * src/Boo/Boo.Lang.Interpreter.dll: Added
26892 * src/BooBuddy: Boo Buddy is simple Boo interpreter shell that lets
26893 applications easly add Boo interpreting against loaded assemblies
26895 * src/BooBuddy/BooBuddyShell.cs: Interactive shell for Boo interpreting
26897 * src/BooBuddy/BooBuddyWindow.cs: Main Boo Buddy window that interfaces
26898 with the Boo interpreter and the interactive Boo Buddy shell
26900 2006-10-21 Aaron Bockover <abock@gnome.org>
26902 * src/PlayerInterface.cs: Only unload the accel group when the search
26903 entry is focused if the key event does not have a modifier
26905 2006-10-21 Aaron Bockover <abock@gnome.org>
26907 * src/Banshee.Base/ActionManager.cs: Only show Shell in --debug, added
26908 CTRL-SHIFT-S binding
26910 2006-10-21 Aaron Bockover <abock@gnome.org>
26913 * src/Banshee.Base/Makefile.am:
26914 * src/Banshee.Base/Globals.cs:
26915 * src/Banshee.Base/Sources/TestSource.cs:
26916 * src/Banshee.Base/Banshee.Debugger/Client.cs:
26917 * src/Banshee.Base/Banshee.Debugger/RemoteMethodAttribute.cs:
26918 * src/Banshee.Base/Banshee.Debugger/Server.cs: Removed yesterday's DBus
26919 plus reflection-based stuff
26921 * configure.ac: Output src/Boo/Makefile
26923 * src/Banshee.Base/ActionManager.cs:
26924 * data/UIManagerLayout.xml: Added view menu item for Shell
26926 * src/Makefile.am: Added Boo to SUBDIRS
26928 * build/Common.Makefile: Rules for Boo
26930 * src/Boo/*.dll: Added Boo libraries
26932 * src/Banshee.Base/Banshee.Debugger/Shell.cs: Added new Boo support and UI
26934 2006-10-21 Patrick van Staveren <trick@vanstaveren.us>
26936 * src/Banshee.Dap/Mtp/MtpDeviceId.cs: added Toshiba Gigabeat S
26938 2006-10-21 Aaron Bockover <abock@gnome.org>
26940 * src/Banshee.Base/Gui/SourceView.cs: AutoExpand now works for child
26941 sources (Scott Peterson, BGO #363548)
26943 2006-10-21 Aaron Bockover <abock@gnome.org>
26945 * src/Banshee.Base/Sources/TestSource.cs: Test source for testing the
26946 functionality of the source base class, source manager, and source view;
26947 tests can be invoked using the new interactive remote debugger
26949 * src/Banshee.Base/Makefile.am:
26950 * src/Banshee.Base/Banshee.Base.mdp: Added TestSource.cs
26952 * src/Banshee.Base/ChildSource.cs: Child sources can now be parents
26954 * src/Banshee.Base/Source.cs:
26955 * src/Banshee.Base/SourceManager.cs:
26956 * src/Banshee.Base/Gui/SourceView.cs: Patched by Scott Peterson to allow
26957 recursive sources (BGO #363548)
26959 * src/Banshee.Base/SourceManager.cs: Added RemoveSource(Type), use
26960 generics for the source list
26962 2006-10-21 Aaron Bockover <abock@gnome.org>
26964 * src/Main.cs: Run the debugger client if --debug-client is passed
26966 * src/Banshee.Base/Globals.cs: Start the debugger server, expose the
26967 Shutdown method to the remote debugger
26969 * src/Banshee.Base/Makefile.am:
26970 * src/Banshee.Base/Banshee.Base.mdp: Added Banshee.Debugger files
26972 * src/Banshee.Base/Banshee.Debugger/Server.cs: Remote debugger server;
26973 allows public static methods flagged with RemoteMethodAttribute in
26974 Banshee to be run remotely over DBus
26976 * src/Banshee.Base/Banshee.Debugger/Client.cs: Simple command line client
26977 to the remote DBus debugger server
26979 * src/Banshee.Base/Banshee.Debugger/RemoteMethodAttribute.cs: Attribute
26980 to expose a public static method to the remote debugger
26982 2006-10-21 Aaron Bockover <abock@gnome.org>
26984 * configure.ac: Added a missing AC_MSG_RESULT
26986 2006-10-20 Aaron Bockover <abock@gnome.org>
26988 * build/Common.Makefile: Added BANSHEE_PROFILES_PATH for running uninstalled
26990 * data/Makefile.am: XML profile definitions split into multiple files to
26991 make it easy for distros to add/remove/customize specific profiles
26993 * data/audio-profiles.xml: Removed, split into multiple files
26995 * data/audio-profiles/*.xml: Added multiple files from old single file
26997 * src/Banshee.Base/Globals.cs: Always load profiles from path set in
26998 BANSHEE_PROFILES_PATH env variable
27000 * src/Banshee.Base/Banshee.AudioProfiles/PipelineVariable.cs: Added
27001 PossibleValuesKeys which can be used to look up variable values in
27002 the XML-defined order (vs distributed hash)
27004 * src/Banshee.Base/Banshee.AudioProfiles/ProfileManager.cs: Support loading
27005 multiple XML files from a directory
27007 * src/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileConfigurationDialog.cs:
27008 use PossibleValuesKeys to populate the combo box in XML-defined order
27010 2006-10-20 Gabriel Burt <gabriel.burt@gmail.com>
27012 * src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs: Add escape
27013 method since Aaron removed it from the Sql namespace.
27015 * src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs: Add back in
27016 escaping that Aaron took out. Its ugly, but bigger changes will need to
27017 be made to improve how Smart Playlists interacts with the db.
27019 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: Fix up
27020 the commit's update query to use the new DbCommand class.
27022 2006-10-20 Aaron Bockover <abock@gnome.org>
27024 * src/PlaylistModel.cs:
27025 * src/Banshee.Base/Library.cs: More use of DbCommand
27027 * src/Banshee.Base/Banshee.Kernel/Scheduler.cs: Added Unschedule(Type)
27029 * src/Banshee.Plugins/MetadataSearch/MetadataSearchPlugin.cs: Use
27030 DbCommand for the query and use Scheduler.Unschedule(Type) before
27031 rescanning the library
27033 2006-10-20 Aaron Bockover <abock@gnome.org>
27035 * src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:
27036 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistCore.cs:
27037 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: Start
27038 moving to DbCommand (BNC #212477)
27040 2006-10-20 Aaron Bockover <abock@gnome.org>
27042 Most of the work done for BNC #212477, provides nicer safer way to do
27043 SQL queries against the local library, better APIs, and some optimizations
27045 * src/PlayerInterface.cs:
27046 * src/PlaylistModel.cs:
27047 * src/Banshee.Base/Library.cs:
27048 * src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs:
27049 * src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:
27050 * src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilderModel.cs:
27051 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
27052 * src/Banshee.Plugins/MetadataSearch/MetadataSearchPlugin.cs:
27053 * tools/BansheeImport.cs: Removed legacy Sql namespace from use; still
27054 needs porting to DbCommand (still using String.Format)
27056 * src/Banshee.Base/LibraryTrackInfo.cs:
27057 * src/Banshee.Base/Sources/PlaylistSource.cs: Use new DbCommand/DbParameter
27059 * src/Banshee.Base/QueuedSqliteDatabase.cs: Added new DbCommand/DbParameter
27060 classes; made API easy to use for generating proper SQL that guards
27061 against SQL injection attacks (while this could only be possible by
27062 local input previously, it's still a good thing)
27064 * src/Banshee.Base/Sources/ImportErrorsSource.cs: Guard against null ref
27066 * src/Banshee.Base/Banshee.Base.mdp:
27067 * src/Banshee.Base/Makefile.am:
27068 * src/Banshee.Base/SqlGenerator.cs: Removed
27070 2006-10-19 Patrick van Staveren <trick@vanstaveren.us>
27072 * configure.ac: require libgphoto2-sharp 2.2.1.4.trunk or better
27074 2006-10-19 Aaron Bockover <abock@gnome.org>
27076 * configure.ac: Bump to 0.11.2, output build/Makefile, use top_srcdir
27077 and not top_builddir for the internal gmcs
27079 2006-10-19 Aaron Bockover <abock@gnome.org>
27081 * Makefile.am: Add build to SUBDIRS
27083 * build/Makefile.am: EXTRA_DIST
27085 * build/Common.Makefile: moved from Makefile.include at the root
27087 * All applicable Makefile.am: Include build/Common.Makefile
27089 2006-10-19 Aaron Bockover <abock@gnome.org>
27091 * configure.ac: Run gmcs on build/mcs-test-79698.cs to test for
27092 BXC #79698; use build/gmcs.exe as the MCS compiler if building
27093 build/mcs-test-79698.cs fails (indicating the installed compiler
27096 * build/gmcs.exe: The gmcs compiler from Mono 1.1.18 with the patch
27097 for http://bugzilla.novell.com/show_bug.cgi?id=322401 applied
27099 * build/mcs-test-79698.cs: Test case for the above bug
27101 2006-10-19 Alp Toker <alp@atoker.com>
27103 * src/Banshee.Base/Sources/AudioCdSource.cs:
27104 Avoid gmcs compiler error by referring to disk instance as a field.
27105 * src/Banshee.Dap/Ipod/UnsupportedDatabaseView.cs:
27106 * src/PlayerInterface.cs: Replace invalid anonymous method syntax that
27107 causes gmcs to fail with correct C# 2.0.
27109 2006-10-18 Patrick van Staveren <trick@cvs.gnome.org>
27111 * src/Banshee.Dap/Mtp/MtpDap.cs: should fix build problems
27113 See comments on BGO 361878 before compiling MTP support
27115 2006-10-17 Aaron Bockover <abock@gnome.org>
27117 * configure.ac: Revert to pre-intltool 0.35 method of using po/LINGUAS,
27118 but in a more forward-compatible way (po/LINGUAS format does not need
27119 reverting to pre-0.35 format); intltool 0.35 is not available in
27120 enough distributions for it to be worth using right now - no complaining!
27122 ALL_LINGUAS=`grep -v '^#' $srcdir/po/LINGUAS | sed -r ':a;N;$!ba;s/\n/ /g; s/[ ]+/ /g'`
27124 2006-10-17 Aaron Bockover <abock@gnome.org>
27126 * src/Banshee.Base/Banshee.Burner/BurnerFormatList.cs: Fixed local
27127 variable resolution problem with the anonymous delegate
27129 2006-10-17 Alp Toker <alp@atoker.com>
27131 * dbus-sharp/dbus-sharp/IntrospectionSchema.cs:
27132 * dbus-sharp/dbus-sharp/UnixMonoTransport.cs:
27133 Removed. This dead code was being inadvertently compiled due to the
27134 wildcard in the makefile, causing the build to fail on old Mono
27137 2006-10-16 James Willcox <snorp@snorp.net>
27139 * src/Banshee.Plugins/Daap/daap-sharp/*: updated from mono svn
27141 2006-10-16 Aaron Bockover <abock@gnome.org>
27143 Banshee 0.11.1 Released
27145 2006-10-16 Aaron Bockover <abock@gnome.org>
27147 * NEWS: Updated with 0.11.1 release notes
27149 * src/Banshee.Base/AudioCdRipper.cs: Fall back on ogg, mp3, and wav
27150 profiles if no profile was configured before; friendly error if no
27151 profile could be found at all
27153 * src/Banshee.Base/Globals.cs: Removed debugging writelines
27155 * src/Banshee.Base/Banshee.AudioProfiles/ProfileManager.cs: Added override
27156 for GetConfiguredActiveProfile to fall back on mimetypes for default
27159 * src/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileComboBox.cs:
27160 Added mime type filtering
27162 * src/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileComboBoxConfigurable.cs:
27165 * src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:
27166 * src/Banshee.Base/BatchTranscoder.cs:
27167 * src/Banshee.Base/GstTranscoder.cs:
27168 * src/Banshee.Base/Transcoder.cs: Use new audio profile stuff
27170 * src/Banshee.Base/Dap/Dap.cs: Use new audio profiles; added ID
27171 property for saving profile configuration (DAP)
27173 * src/Banshee.Base/Dap/DapPropertiesDialog.cs: Added
27174 ProfileComboBoxConfigurable widget to dialog
27176 * src/Banshee.Base/Dap/DapMisc.cs: Added mimetype support
27178 * src/Banshee.Base/Gui/PreferencesDialog.cs: Loading/saving now done by
27179 ProfileComboBoxConfigurable
27181 * data/audio-profiles.xml: Added WMA encoding profile
27183 * src/Banshee.Base/Makefile.am: Removed old profile support
27185 2006-10-13 Aaron Bockover <abock@gnome.org>
27187 * configure.ac: Run a second expansion on expanded_datadir;
27188 it seems that autoconf 2.60 likes to break 'API' (BGO #361943)
27190 2006-10-13 Aaron Bockover <abock@gnome.org>
27192 * configure.ac: Bump to 0.11.1
27194 * dbus-sharp/dbus-sharp/*.cs:
27195 * dbus-sharp/dbus-sharp-glib/*.cs:
27196 * dbus-sharp/Makefile.am: Build bundled dbus-sharp (managed dbus)
27198 * dbus-sharp/*.dll: Removed binary-bundled assemblies
27200 2006-10-13 Aaron Bockover <abock@gnome.org>
27202 Merged from 0.10.12
27204 * src/Banshee.Widgets/CoverArtThumbnail.cs: Scale cover art to a max of
27205 75% of the screen size if too large (BNC #200953)
27207 * src/Banshee.Base/Sources/AudioCdSource.cs: Cancel the ripper if the
27208 source goes away (hardware eject) (BNC #199902)
27210 * src/Banshee.Base/AudioCdRipper.cs: Attempt to lock CD-ROM drive when
27211 ripping, unlock when done/canceled/failed using Linux CD-ROM ioctls;
27212 should use HAL here, but on SLED it seems libhal_device_lock/unlock does
27213 nothing - will punt HAL locking to HEAD (BNC #199902)
27215 * src/Banshee.Base/Sources/LocalQueueSource.cs: Implement
27216 Banshee.Source.Source.RemoveTrack(TrackInfo) (BNC #188437)
27218 2006-10-12 Aaron Bockover <abock@gnome.org>
27220 * data/banshee-dialogs.glade: Remove DAP pipeline box
27222 * data/audio-profiles.xml: Added audio profiles definition
27224 * data/Makefile.am: Install audio-profiles.xml
27226 * src/Banshee.Base/ConfigureDefines.cs.in: Added SystemDataDir
27228 * src/Banshee.Base/Paths.cs: Added SystemApplicationData
27230 * libbanshee/gst-misc-0.10.c:
27231 * src/Banshee.Base/GstMisc.cs: Added better pipeline tester
27233 * src/Banshee.Base/Banshee.Base.mdp:
27234 * src/Banshee.Base/Makefile.am: Added new pipeline files
27236 * src/Banshee.Base/GConfKeys.cs: Cleaned up
27238 * src/Banshee.Base/Globals.cs: Added a global AudioProfileManager with
27239 pipeline tester support
27241 * src/Banshee.Base/AudioCdRipper.cs
27242 * src/Banshee.Base/Gui/PreferencesDialog.cs: Use the new pipeline profile
27243 support for cd-importing profile
27245 * src/PlayerInterface.cs: Hide main window first when closing
27247 * src/Banshee.Base/Banshee.AudioProfiles/*
27248 * src/Banshee.Base/Banshee.AudioProfiles.Gui/*: New audio profile support;
27249 this entry does not do the commit here much justice - this is a big new
27250 feature that makes choosing and configuring audio transformation profiles
27253 2006-10-10 Aaron Bockover <abock@gnome.org>
27255 * src/Banshee.Base/Gui/SplashScreen.cs: Use cairo for drawing the progress
27256 overlay, make more configurable and reusable for branding
27260 * branding/*: Added empty branding build stub/hook to allow for
27261 easy building and integration of custom branding options
27263 2006-10-01 Gabriel Burt <gabriel.burt@gmail.com>
27265 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistCore.cs: Remove
27266 unnecessary logging.
27268 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: If a
27269 smart playlist is ordered by a time-based column (eg, most recently
27270 played), treat it like other smart playlists with time-dependent
27273 2006-10-01 Alp Toker <alp@atoker.com>
27275 * dbus-sharp/*: Update bundled NDesk.DBus, NDesk.DBus.GLib.
27276 Fixes an infinite recursion encountered in the Helix engine.
27278 2006-09-29 Alp Toker <alp@atoker.com>
27280 * dbus-sharp/*: Update bundled NDesk.DBus.
27281 * hal-sharp/Device.cs:
27282 * hal-sharp/Manager.cs:
27283 Remove GLib Idle Add hacks/workarounds for situations now handled by
27285 Remove GLib dependency from hal-sharp.
27287 2006-09-29 Alp Toker <alp@atoker.com>
27289 * src/Banshee.MediaEngine/Helix/HelixRemotePlayer.cs:
27290 Was missed out during the recent API update.
27292 2006-09-28 Aaron Bockover <abock@gnome.org>
27294 * src/Banshee.Plugins/MetadataSearch/MetadataSearchPlugin.cs: Wrap
27295 plugin name in catalog call (BNC #184491)
27297 * src/Banshee.Widgets/RatingEntry.cs: Remove explicit focus rect drawing
27298 as this should be handled by the theme painting the entry shadow
27300 2006-09-29 Alp Toker <alp@atoker.com>
27302 * dbus-sharp/*: Update bundled NDesk.DBus, NDesk.DBus.GLib.
27303 * Makefile.include:
27304 * hal-sharp/Device.cs:
27305 * hal-sharp/Makefile.am:
27306 * hal-sharp/Manager.cs:
27307 * src/Banshee.Base/DBusPlayer.cs:
27308 * src/Banshee.Base/DBusRemote.cs:
27309 * src/Banshee.Base/HalCore.cs:
27310 * src/Banshee.Base/NetworkManager/Manager.cs:
27311 * src/Banshee.Base/Notifications/Notification.cs:
27312 * src/Banshee.Base/PowerManagement.cs:
27314 * tools/BansheeDBusClient.cs:
27315 Introduce a much cleaner API for well known buses.
27316 * hal-sharp/Communication.cs:
27317 Obsoleted by new API, so removed.
27319 2006-09-28 Aaron Bockover <abock@gnome.org>
27321 Notification support now uses managed DBus instead of binding libnotify
27322 DBus implementation and patch by Sebastian Dröge <slomo@circular-chaos.org>
27323 Banshee BGO #357983
27325 * src/Banshee.Base/Notifications/*.cs: New notification support that uses
27326 managed DBus instead of binding libnotify
27328 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
27329 Work with the updated Notification/DBus API
27331 * src/Banshee.Base/Notifications.cs: Removed libnotify binding
27333 * src/Banshee.Base/Makefile.am: Added new Notifications sources
27335 * src/Banshee.Widgets/RatingEntry.cs: Use 'entry' not 'text' as the
27338 2006-09-28 Alp Toker <alp@atoker.com>
27340 * dbus-sharp/*: Update bundled NDesk.DBus.
27341 Only hook up events that are from dbus-public interfaces, making
27342 --show, --hide etc. remote control features work.
27343 Return error messages when a reply is expected instead of failing
27345 Significant event/match rule fixes.
27347 2006-09-27 Aaron Bockover <abock@gnome.org>
27349 * libbanshee/misc-glue.c: Added banshee_dbus_compat_thread_init as a
27350 proxy to call dbus_g_thread_init in case it is necessary for native
27351 libraries that will be pulled in during runtime that use libdbus; it's
27352 not necessary for banshee's DBus use at all, but may be necessary for
27353 things pulled in process, like libipoddevice; adding in glue to avoid
27354 awful configure/map hacks to map to the correct .so version
27356 * libbanshee/gtksharp-glue.c: Renamed to misc-glue.c; gross
27358 * src/Main.cs: Call banshee_dbus_compat_thread_init as the first
27359 call on program entry (sigh); this is allegedly no longer necessary
27360 with DBus >= 0.92, but it's here for compat and safety for now :'(
27362 * configure.ac: Check for dbus-1/dbus-glib-1 again, but no nasty
27363 library versioning hacks to make maps happy
27365 2006-09-27 Aaron Bockover <abock@gnome.org>
27367 * src/banshee.in: Set {LD,DYLD}_LIBRARY_PATH to $(libdir)/banshee to
27368 ensure libbanshee.so can be loaded when needed; removes the need for
27369 a map since versioning is a non-issue and allows these environment
27370 variables to be overridden to allow for full uninstalled execution
27372 * Makefile.include: Set {LD,DYLD}_LIBRARY_PATH to libbanshee/.libs
27374 * configure.ac: Do not output Helix/GStreamer .config files
27376 * src/banshee.exe.config.in:
27377 * src/Banshee.Base/Banshee.Base.dll.config.in:
27378 * src/Banshee.Plugins/Daap/Daap.dll.config.in:
27379 * src/Banshee.Plugins/MMKeys/MMKeys.dll.config.in:
27380 * src/Banshee.Plugins/MetadataSearch/MetadataSearch.dll.config.in: Removed
27381 libbanshee dll maps as they are not necessary
27383 * src/Banshee.MediaEngine/Helix/HelixRemotePlayerEngine.dll.config.in:
27384 * src/Banshee.MediaEngine/Gstreamer/GStreamerPlayerEngine.dll.config.in:
27385 * src/Banshee.MediaEngine/Helix/Makefile.am:
27386 * src/Banshee.MediaEngine/Gstreamer/Makefile.am: Removed .config file
27387 maps as they only went to libbanshee, no longer needed
27389 * Main.cs: Remove left over libdbus call
27391 2006-09-27 James Willcox <snorp@snorp.net>
27393 * src/PlayerInterface.cs: show an error deleting a song fails.
27395 Fixes #187643 (Novell)
27397 2006-09-27 James Willcox <snorp@snorp.net>
27399 * data/banshee.glade: ellipsize the view name
27400 * src/PlayerInterface.cs: limit source names to 256 chars
27401 * src/Banshee.Base/Sources/PlaylistSource.cs: ditto
27403 Fixes #199345 (Novell)
27405 2006-09-27 Alp Toker <alp@atoker.com>
27407 * src/Main.cs: Remove old "Suppress finalizing the dbusCore D-Bus
27408 proxy object" hack; no longer needed with managed dbus
27410 2006-09-27 Alp Toker <alp@atoker.com>
27412 * dbus-sharp/*: Update bundled NDesk.DBus, NDesk.DBus.GLib.
27413 New API and variant fixes to support upcoming managed Notifications.
27414 * hal-sharp/Communication.cs:
27415 * src/Banshee.Base/DBusRemote.cs: Work towards a cleaner dbus-sharp
27418 2006-09-26 Aaron Bockover <abock@gnome.org>
27420 * hal-sharp/Communication.cs: Allow setting the Bus
27422 * hal-sharp/Device.cs: Work around big problem in the HAL spec,
27423 added explicit StringList support
27425 * src/Banshee.Base/HalCore.cs: Set the Hal.Communication.Bus
27427 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: Minor fixes
27429 * dbus-sharp/NDesk.DBus.dll: Updated
27431 2006-09-26 James Willcox <snorp@snorp.net>
27433 * src/Banshee.Plugins/Daap/daap-sharp/*: update to 0.3.5
27435 2006-09-26 Aaron Bockover <abock@gnome.org>
27437 * src/Banshee.Base/Dap/DapCore.cs: More fixes; should fix last remaining
27438 known issues from the new managed HAL migration
27440 2006-09-26 Aaron Bockover <abock@gnome.org>
27442 * src/Banshee.Base/Dap/DapCore.cs: Ignore volumes that will not be
27443 mounted and ignore disc volumes to keep them from ever being exposed
27444 as DAPs or going into the volume mount wait queue; remove items from
27445 the volume mount wait queue if they are physically removed
27447 2006-09-26 Aaron Bockover <abock@gnome.org>
27449 * hal-sharp/Manager.cs: Added DeviceAddedArgs and DeviceRemovedArgs as
27450 in a remove event, the UDI as a device object won't exist
27452 * src/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusDrive.cs:
27453 * src/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusDriveFactory.cs:
27454 * src/Banshee.Base/Dap/DapCore.cs: Updated to use DeviceAdded/RemovedArgs
27456 2006-09-26 Aaron Bockover <abock@gnome.org>
27458 hal-sharp has been rewritten on top of the new managed DBus; with this
27459 commit there is no more native DBus or HAL code in Banshee at all!
27461 * Makefile.include: Update build settings for new hal-sharp
27463 * configure.ac: Removed all native DBus/HAL checks and hacks
27465 * hal-sharp/*.cs: Removed all old hal-sharp binding code; the previous
27466 hal-sharp was a binding of libhal, and had to use nasty context hacks
27467 to properly integrate with other contexts and DBus connections inside
27468 the application/main loop
27470 * hal-sharp/Connection.cs:
27471 * hal-sharp/Manager.cs:
27472 * hal-sharp/Device.cs: New hal-sharp is very simple and implements
27473 the HAL DBus specification; it integrates cleanly with everything
27476 * hal-sharp/hal-sharp.mdp: Added hal-sharp MonoDevelop project
27478 * hal-sharp/Makefile.am: Updated to build the new hal-sharp
27480 * src/banshee.exe.config.in:
27481 * src/Banshee.Dap/Ipod/ipod-sharp.dll.config.in: Removed HAL/DBus maps
27483 * taglib-sharp/Makefile.am: Build assembly as TagLib.dll instead of
27486 * libbanshee/Makefile.am:
27487 * libbanshee/hal-context.c:
27488 * libbanshee/hal-context.h: Removed old native HAL/DBus context/mainloop
27491 * src/Banshee.Base/Globals.cs: Explicitly initialize HalCore
27493 * src/Banshee.Base/HalCore.cs: Ported to new managed HAL API; removed
27494 all the bindings to the crappy native HAL/DBus hacks; now exposes only
27495 a global Hal.Manager object
27497 * src/Banshee.Base/AudioCd/AudioCdCore.cs:
27498 * src/Banshee.Base/AudioCd/AudioCdDisk.cs:
27499 * src/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusDrive.cs:
27500 * src/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusDriveFactory.cs:
27501 * src/Banshee.Dap/Njb/NjbDap.cs:
27502 * src/Banshee.Dap/MassStorage/MassStorageDap.cs:
27503 * src/Banshee.Base/Dap/DapCore.cs:
27504 * src/Banshee.Dap/Ipod/IpodDap.cs: Ported to new managed HAL API;
27505 added cleanups and use more generics in place of legacy code
27507 * src/Banshee.Base/Dap/DapMisc.cs: Removed WaitForPropertyChange;
27508 Added WaitForVolumeMount
27510 * src/Banshee.Base/Dap/Dap.cs: Added WaitForVolumeMount method to
27511 queue a volume mount check on the device in DapCore
27513 * src/Banshee.Base/Dap/DapCore.cs: Much better API and implementation
27514 for dealing with DAP devices that need to be mounted. WaitForVolumeMount
27515 replaces WaitForPropertyChange and a new timeout method is used to
27516 check for device mounts. This avoids having to keep remote objects
27517 around to listen for a property change event
27519 2006-09-25 Gabriel Burt <gabriel.burt@gmail.com>
27521 * src/PlayerInterface.cs: Set the SearchEntry as Ready only when
27522 appropriate to avoid being told to search when we are just cancelling the
27523 search b/c the source is being changed, thus preventing two extra playlist
27526 * src/Banshee.Widgets/SearchEntry.cs: Add Ready property, and only raise
27527 the Changed event when we are Ready. Refactor OnChanged raising code.
27529 2006-09-25 Aaron Bockover <abock@gnome.org>
27531 258% hot sweet action: All of Banshee's dbus-sharp code has been ported
27532 to and is working against the new managed DBus - all previous dbus-sharp
27533 problems are herby eliminated - someone please buy Alp a few beers!
27535 * src/Banshee.Base/NetworkManager/Manager.cs: Use StateChangeHandler
27536 for propagating the remote event
27538 * src/Banshee.Base/NetworkDetect.cs: Use the state from the signal
27539 and do not invoke a remote method while in the signal handler
27541 2006-09-25 Aaron Bockover <abock@gnome.org>
27543 Fix for BGO #357548 and to add better application integration for
27544 launching web URLs into a browser
27546 * src/Banshee.Base/Gui/AboutDialog.cs:
27547 * src/Banshee.Base/ActionManager.cs:
27548 * src/Banshee.Dap/Ipod/IpodDap.cs:
27549 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs: Use
27550 Banshee.Web.Browser.Open instead of Gnome.Url.Show
27552 * src/Banshee.Base/Banshee.Web/Browser.cs: New Browser class with an
27553 Open method that currently uses Gnome.Url.Show, but provides
27554 application-integrated URL launching and common error reporting
27556 * src/Banshee.Base/Globals.cs: Set Open hooks on Last.FM.Browser and
27557 Banshee.Widgets.LinkLabel to Banshee.Web.Browser.Open
27559 * src/Banshee.Base/Makefile.am:
27560 * src/Banshee.Base/Banshee.Base.mdp: Added Banshee.Web/Browser.cs
27562 * src/Banshee.Widgets/LinkLabel.cs: Use an Open hook for launching URLs
27564 * src/Last.FM/Browser.cs: Added a Browser class that allows setting
27565 an override Open hook; defaults to Gnome.Url.Show
27567 * src/Last.FM/Last.FM/Account.cs: Use Last.FM.Browser.Open instead of
27570 * src/Last.FM/Last.FM.mdp:
27571 * src/Last.FM/Makefile.am: Added Browser.cs
27573 2006-09-25 Aaron Bockover <abock@gnome.org>
27575 * dbus-sharp/NDesk.DBus.GLib.dll:
27576 * dbus-sharp/NDesk.DBus.dll: Updated
27578 * src/PlaylistView.cs: Fixed a GTK+ critical/realized warning
27580 * src/Banshee.Base/NetworkManager/Manager.cs: Simplified, only care about
27581 a connection state, not anything fancy like device enumeration
27583 * src/Banshee.Base/NetworkDetect.cs: Use only Manager.State and its
27586 * src/Banshee.Base/Makefile.am:
27587 * src/Banshee.Base/Banshee.Base.mdp: Removed Device/Network; not needed
27588 in the Banshee scope as we only care about the connection status
27590 * src/Banshee.Base/NetworkManager/Device.cs:
27591 * src/Banshee.Base/NetworkManager/Network.cs: Removed
27593 2006-09-25 Aaron Bockover <abock@gnome.org>
27595 * src/Banshee.Base/NetworkDetect.cs:
27596 * src/Banshee.Base/NetworkManager/Manager.cs: Added signal support
27598 2006-09-25 James Willcox <snorp@snorp.net>
27600 * src/Banshee.Plugins/Daap/DaapCore.cs: oops, be more careful
27601 when determining the track format.
27603 2006-09-25 Alp Toker <alp@atoker.com>
27605 * tools/BansheeDBusClient.cs: Use DApplication.SessionConnection singleton
27607 2006-09-25 James Willcox <snorp@snorp.net>
27609 * src/Banshee.Plugins/Daap/DaapSource.cs:
27610 * src/Banshee.Plugins/Daap/DaapCore.cs:
27612 Call DAAP.Client.Logout in all cases except when we know the server
27613 has just gone away.
27615 2006-09-25 Alp Toker <alp@atoker.com>
27617 * dbus-sharp/*: Update bundled NDesk.DBus, NDesk.DBus.GLib.
27618 Silence warning messages, fix big-endian (again), fix UTF-8, better
27619 exception handling.
27621 2006-09-25 James Willcox <snorp@snorp.net>
27623 * src/Banshee.Plugins/Daap/daap-sharp/*: update to latest
27624 * src/Banshee.Plugins/Daap/DaapSource.cs: don't call DAAP.Client.Logout
27625 for now since it sometimes causes hangs for a long time when the
27626 server is unavailable (sigh)
27628 2006-09-24 Aaron Bockover <abock@gnome.org>
27630 * src/Banshee.MediaEngine/Helix/HelixRemotePlayer.cs:
27631 * src/Banshee.MediaEngine/Helix/HelixRemotePlayerEngine.cs: Use properties
27632 in the DBus interface instead of Get/Set methods now that it is possible
27633 with the lovely managed DBus
27635 * configure.ac: Require helix-dbus-server 0.3.0 if Helix support is
27638 * src/Banshee.Base/NetworkDetect.cs:
27639 * src/Banshee.Base/NetworkManager/Device.cs:
27640 * src/Banshee.Base/NetworkManager/Manager.cs:
27641 * src/Banshee.Base/NetworkManager/Network.cs: Updated copyright
27643 2006-09-24 Alp Toker <alp@atoker.com>
27645 * src/Main.cs: Remove last vestiges of the old dbus-sharp
27648 * src/Banshee.Base/Makefile.am:
27649 Do not depend on the old dbus binding. It is obsoleted by managed dbus.
27651 2006-09-24 Alp Toker <alp@atoker.com>
27653 * src/Banshee.Base/Globals.cs:
27654 * src/Banshee.Base/NetworkDetect.cs:
27655 * src/Banshee.Base/NetworkManager/Device.cs:
27656 * src/Banshee.Base/NetworkManager/Manager.cs:
27657 * src/Banshee.Base/NetworkManager/Network.cs:
27658 Use managed dbus for NetworkManager client
27659 Note that the signals still need to be ported to ordinary events.
27661 2006-09-24 Aaron Bockover <abock@gnome.org>
27663 * src/Banshee.MediaEngine/Helix/HelixRemotePlayer.cs: RemotePlayer does
27664 not need to handle a singleton case in managed land anymore - the
27665 remote object holds 100% of the required functionality
27667 * src/Banshee.Base/DBusPlayer.cs:
27668 * src/Banshee.Base/DBusRemote.cs:
27669 * src/Banshee.Base/PowerManagement.cs: Clean up
27671 2006-09-24 Aaron Bockover <abock@gnome.org>
27673 * src/Banshee.MediaEngine/Helix/HelixRemotePlayer.cs: Use new managed
27674 DBus, simplified message handling as the signal signature is now ia{sv}
27675 which maps directly to delegate(MessageType, IDictionary<string,object>)
27677 * src/Banshee.MediaEngine/Helix/HelixRemotePlayerEngine.cs: Adjust for
27678 minor changes in HelixRemotePlayer
27680 * src/Banshee.MediaEngine/Helix/Makefile.am: Link against new managed
27681 DBus, drop old dbus-sharp link; we are now 80% managed DBus
27683 2006-09-23 James Willcox <snorp@snorp.net>
27685 * src/Bansee.Plugins/Daap/daap-sharp/*: updated to latest
27687 2006-09-23 Alp Toker <alp@atoker.com>
27689 * dbus-sharp/*: Update bundled NDesk.DBus, NDesk.DBus.GLib.
27690 Support for Mono <= 1.1.13, optimizations, improved API.
27692 2006-09-22 Alp Toker <alp@atoker.com>
27694 * src/Banshee.Base/DBusPlayer.cs:
27695 * src/Banshee.Base/DBusRemote.cs:
27696 * src/Banshee.Base/PowerManagement.cs:
27697 * tools/BansheeDBusClient.cs: Use DApplication.SessionBus singleton
27699 2006-09-21 Alp Toker <alp@atoker.com>
27701 * dbus-sharp/*: Update bundled NDesk.DBus, NDesk.DBus.GLib and map.
27702 Now works on AMD64, PPC, plus bugfixes and new API.
27704 2006-09-21 James Willcox <snorp@snorp.net>
27706 * src/Banshee.Plugins/Daap/DaapSource.cs: implement IImportable
27707 and IImportSource, so you can now import and dnd from DAAP shares.
27708 Also, add support for remote playlists.
27710 * src/Banshee.Plugins/Daap/DaapPlaylistSource.cs: added
27712 2006-09-21 Aaron Bockover <abock@gnome.org>
27714 * src/Banshee.Base/TrackInfoHeader.cs:
27715 * src/Banshee.Base/TrackInfoPopup.cs: Patch from Sebastian Dröge to
27716 not make TrackInfoPopup labels selectable (BGO #356990)
27718 * src/Banshee.Base/Notifications.cs: Patch from Michael Monreal to
27719 set urgency on libnotify notifications (BGO #356985)
27721 * tools/Makefile.am: Use new build variables
27723 2006-09-21 Alp Toker <alp@atoker.com>
27725 * tools/Makefile.am:
27726 * tools/BansheeDBusClient.cs: Use managed dbus for example client
27728 2006-09-21 Aaron Bockover <abock@gnome.org>
27730 * Makefile.am: Added run target
27732 2006-09-21 Aaron Bockover <abock@gnome.org>
27734 * src/Banshee.Base/PlayerEngineCore.cs:
27735 * src/Banshee.Base/Plugins/PluginCore.cs: Do not try to load plugins
27736 from their system installation path if their respective override
27737 environment variable is set
27739 2006-09-21 Aaron Bockover <abock@gnome.org>
27741 * Makefile.include: Broken down even more, added a variable for
27742 making running uninstalled easy
27744 * src/Makefile.am: Use new RUN_PATH variable to run banshee --uninstalled
27746 * banshee.in: Do not set MONO_PATH; is done in Makefile with RUN_PATH
27748 * src/Banshee.Base/Plugins/PluginFactory.cs: AddScanDirectory supports
27749 recursion now, overloads to turn it off, and added new method for
27750 loading plugins: AddScanDirectoryFromEnvironmentVariable
27752 * src/Banshee.Base/PlayerEngineCore.cs: BANSHEE_ENGINES_PATH env
27753 can be set for loading engines from an alternative path
27755 * src/Banshee.Base/Plugins/PluginCore.cs: BANSHEE_PLUGINS PATH does
27756 the same, for plugins
27758 2006-09-21 Alp Toker <alp@atoker.com>
27760 * src/Banshee.Base/PowerManagement.cs: Use managed dbus for gpm client
27762 2006-09-21 Aaron Bockover <abock@gnome.org>
27764 * Makefile.include: The new global build magic
27766 * All Makefile.am: use new Makefile.include, build system is now much
27767 simpler and more flexible
27769 * src/PlayerInterface.cs: Remove unused namespace
27771 2006-09-21 Alp Toker <alp@atoker.com>
27773 * src/Banshee.Base/PowerManagement.cs: IPowerManager for managed dbus
27775 2006-09-21 Alp Toker <alp@atoker.com>
27778 * src/Banshee.Base/DBusRemote.cs:
27779 * src/Banshee.Base/DBusPlayer.cs: Use managed dbus for client as well
27781 2006-09-21 Alp Toker <alp@atoker.com>
27783 * src/Banshee.Base/DBusRemote.cs:
27784 * src/Banshee.Base/DBusPlayer.cs: Start to make use of managed dbus
27786 2006-09-20 Aaron Bockover <abock@gnome.org>
27790 * dbus-sharp: Added new managed version of dbus-sharp; much to change here
27792 * src/Banshee.Base/Makefile.am: Link against NDesk.DBus
27794 2006-09-20 Aaron Bockover <abock@gnome.org>
27796 * src/Banshee.Base/DBusPlayer.cs: DBusPlayer now implements IDBusPlayer
27798 2006-09-19 Aaron Bockover <abock@gnome.org>
27800 * configure.ac: explicitly check for dbus-glib-1 versions to map to
27801 proper .so versions, added check on dbus-1 for 0.90, which now maps
27802 to .so version 3; added lots of missing AC_MSG_RESULTs, so configure
27803 output looks a little cleaner
27805 * hal-sharp/hal-sharp.dll.config.in:
27806 * src/banshee.exe.config.in: Added DBUS_GLIB_SOVERSION
27808 * tools/Makefile.am: Do not install banshee-import
27810 2006-09-19 Aaron Bockover <abock@gnome.org>
27812 * src/PlayerInterface.cs: Manually call Activate on cell renderers
27813 if clicked when row is selected (Michael Quinn, BGO #348373)
27815 2006-09-19 Aaron Bockover <abock@gnome.org>
27821 2006-09-19 Aaron Bockover <abock@gnome.org>
27823 * src/Banshee.Dap/Ipod/IpodDap.cs: Use new unknown iPod foo in ipod-sharp,
27824 show a dialog if the iPod is unknown
27826 * data/images/source-smart-playlist.png: Updated
27828 * src/Banshee.Widgets/HigMessageDialog.cs: Exposed LabelVBox
27830 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
27831 Use slightly nicer notification string formatting
27833 * src/Banshee.Plugins/NotificationAreaIcon/banshee-notificationareaicon.schemas.in:
27836 2006-09-18 Aaron Bockover <abock@gnome.org>
27838 * configure.ac: Bump to 0.11.0
27840 * autogen.sh: Check for subversion, run taglib-sharp/update-checkout.sh
27842 * taglib-sharp/Makefile.am: Build taglib-sharp
27844 * taglib-sharp/update-checkout.sh: Shell script to update the taglib-sharp
27847 * taglib-sharp/COPYING: Added taglib-sharp license
27849 * taglib-sharp/taglib-sharp.dll:
27850 * taglib-sharp/taglib-sharp.dll.mdb: Precompiled binaries removed
27852 * src/Banshee.Base/Makefile.am:
27853 * src/Banshee.Dap/Ipod/Makefile.am:
27854 * src/Banshee.Dap/MassStorage/Makefile.am: Link taglib-sharp.dll from
27855 top_builddir instead of top_srcdir now that we're actually building it
27857 * src/Last.FM/Makefile.am: Added missing EXTRA_DIST files
27859 2006-09-18 Aaron Bockover <abock@gnome.org>
27861 * src/Banshee.Dap/Ipod/IpodDap.cs: If the iPod model is unknown, run
27862 the new submit data tool in ipod-sharp; installed new properties into
27865 * src/Banshee.Base/Dap/Dap.cs: Show an error list dialog if songs
27866 could not be transcoded
27868 * src/Banshee.Base/BatchTranscoder.cs: Support an optional 'desired
27869 profile' name; allows errors to be thrown is a profile doesn't exist
27870 and should be required
27872 2006-09-18 Gabriel Burt <gabriel.burt@gmail.com>
27874 * src/Banshee.Base/SourceManager.cs: Don't add a source twice.
27876 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistCore.cs: Add debug
27877 message when smart playlist is added.
27879 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: Don't
27880 manually add the loaded playlist to the SourceManager unless the
27881 LibrarySource is already loaded. This is a silly workaround the fact that
27882 the LibrarySource adds all of its children to the SourceManager when it is
27883 added, so children that aren't attached to it when it is added are left
27886 2006-09-18 Gabriel Burt <gabriel.burt@gmail.com>
27888 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: Don't add
27889 the source to the SourceManager if it's already there.
27891 2006-09-18 James Willcox <snorp@snorp.net>
27893 * configure.ac: require ipod-sharp 0.6.2
27894 * src/Banshee.Dap/Ipod/IpodDap.cs: adjust to artwork API changes
27896 2006-09-17 Gabriel Burt <gabriel.burt@gmail.com>
27898 * src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs: Add newly created
27899 playlists to the SourceManager so they are registered and updated
27900 immediately after creation. Fixes BGO #354534.
27902 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistCore.cs: Handle the
27903 case of the library already being loaded before we are initialized.
27905 * src/Banshee.Base/Banshee.SmartPlaylist/SmartPlaylistSource.cs: Add old
27906 playlists to the SourceManager.
27908 2006-09-17 Aaron Bockover <abock@gnome.org>
27910 * data/images/Makefile.am:
27911 * src/Banshee.Hyena/Makefile.am:
27912 * tools/Makefile.am: Make distcheck pass
27914 * src/Banshee.Base/Banshee.Burner/BurnerFormatList.cs: Disabled in the UI
27915 support for MP3 and data CDs - not finished in new burner code
27917 2006-09-17 Patrick van Staveren <trick@vanstaveren.us>
27919 * src/Banshee.Dap/Mtp/GPhotoDevice.cs: dispose CameraFile objects when
27920 sending a track to (hopefully) free up memory, dispose all objects
27921 regardless (now that Dispose is safe in libgphoto2-sharp), and catch
27922 doubly-disposing of the GPhotoDevice object.
27924 * src/Banshee.Dap/Mtp/GPhotoDeviceFile.cs: add method DisposeCameraFile,
27925 and only access the private camera_file as this was causing it to retrieve
27926 all camera files when we tried to dispose the GPhotoDevice.
27928 * src/Banshee.Dap/Mtp/MtpDap.cs: update save progress to zero before
27929 sending or deleting any tracks.
27931 2006-09-17 Patrick van Staveren <trick@vanstaveren.us>
27933 * src/Banshee.Dap/Mtp/GPhotoDeviceFile.cs: added metadata exception
27934 handling - now handles unparseable metadata.
27936 * src/Banshee.Dap/Mtp/MtpDap.cs: Better debug messages,
27937 WaitForPropertyChange when device seems inaccessable
27939 * src/Banshee.Dap/Mtp/MtpDeviceId.cs: added 14 new device IDs
27941 * src/Banshee.Dap/Mtp/Banshee.Dap.Mtp.mdp: MonoDevelop project created
27943 2006-09-17 Aaron Bockover <abock@gnome.org>
27946 * src/Banshee.Hyena/Makefile.am: Do not build SourceView.cs
27948 * src/Banshee.Base/Makefile.am: Added Gui/SourceView.cs
27950 * src/SourceView.cs: Removed; had GNOME sysadmin copy with history to
27951 src/Banshee.Base/Gui/SourceView.cs
27953 * src/Banshee.Base/Gui/SourceView.cs: Changed namespace to Banshee.Gui
27955 2006-09-17 Aaron Bockover <abock@gnome.org>
27957 * libbanshee/nautilus-burn.c (nautilus_glue_burn_drive_get_for_device):
27958 Use return nautilus_burn_drive_new_from_path for <2.16; CD burning
27959 now works properly for 2.12 again
27961 * libbanshee/nautilus-burn.c:
27962 * src/Banshee.Base/Banshee.Burner/BurnerCore.cs:
27963 * src/Banshee.Base/Banshee.Cdrom.Nautilus.Interop/BurnDrive.cs:
27964 * src/Banshee.Base/Banshee.Cdrom.Nautilus.Interop/BurnRecorder.cs:
27965 * src/Banshee.Base/Banshee.Cdrom.Nautilus.Interop/BurnRecorderHandlers.cs:
27966 * src/Banshee.Base/Banshee.Cdrom.Nautilus.Interop/BurnRecorderTrack.cs:
27967 * src/Banshee.Base/Banshee.Cdrom.Nautilus.Interop/NautilusEnums.cs:
27968 Tabs to spaces, sigh
27970 2006-09-17 Aaron Bockover <abock@gnome.org>
27972 * Makefile.am: Remove burn-sharp
27974 * configure.ac: Remove burn-sharp, set LNB_CSFLAGS for 2.16
27976 * libbanshee/libbanshee.mdp:
27977 * libbanshee/Makefile.am: Added nautilus-burn.c
27979 * libbanshee/nautilus-burn.c: Trimmed glue for libnautilus-burn; added
27982 * src/Banshee.Base/Makefile.am:
27983 * src/Banshee.Base/Banshee.Base.mdp: Added Banshee.Cdrom.Nautilus.Interop
27985 * src/Banshee.Base/Banshee.Base.dll.config.in: Added map for
27988 * src/Banshee.Base/Banshee.Cdrom/IDrive.cs:
27989 * src/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs:
27990 * src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs:
27991 * src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:
27992 * src/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusDrive.cs: MediaSize
27993 renamed to MediaCapacity
27995 * src/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusDriveFactory.cs: Use
27996 new BurnDrive constructor instead of iterating a drive list looking for
27997 a match - we already know the device node - much better for 2.16
27999 * src/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusRecorder.cs: Use new
28000 API in Banshee.Cdrom.Nautilus.Interop.BurnRecorder
28002 * src/Banshee.Base/Banshee.Burner/BurnerCore.cs: Added some null checks,
28003 fixed InstallActions, iterate factory expecting IDrive, not IRecorder
28004 and explicitly cast IDrive to IRecorder (fixes potential crashes)
28006 * src/Banshee.Base/Banshee.Cdrom.Nautilus.Interop/*: New libnautilus-burn
28007 wrapper based on old burn-sharp; only wrap pieces we need, lots of
28008 clean up and organization to make managing this wrapper by hand
28009 easy; added compatibilty with 2.12, 2.14, 2.16; calls glue in libbanshee
28011 * src/Banshee.Base/ComponentInitializer.cs: Dump component intialization
28012 exceptions if asked to trap and handle
28014 * src/Banshee.Base/Banshee.Equalizer.Gui/EqualizerWindow.cs:
28015 * src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs:
28016 * src/Banshee.Base/Gui/TrackEditor.cs: Fixed unused compiler warnings
28018 * src/Banshee.Hyena/Makefile.am: Remove link requirement for burn-sharp.dll
28020 * burn-sharp/*: Removed
28022 2006-09-17 Ruben Vermeersch <ruben@savanne.be>
28024 Very trivial compiler warning fixes.
28026 * src/Banshee.Base/Banshee.SmartPlaylist/QueryBuilder.cs: Comment unused
28029 * src/Banshee.Base/Gui/TrackEditor.cs:
28030 * src/Banshee.Base/NetworkDetect.cs: Change two occurrences of catch
28031 (Exception e) to catch (Exception) as e wasn't even used.
28033 2006-09-16 Aaron Bockover <abock@gnome.org>
28035 * src/Banshee.Plugins/NotificationAreaIcon/NotificationArea.cs: Support
28036 transparency (pulled from stable branch, BGO #356350)
28038 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
28039 CTRL+Left click goes to previous, CTRL+Right next, middle play/pause
28041 2006-09-16 Aaron Bockover <abock@gnome.org>
28043 * src/Banshee.Base/ActionManager.cs: Disabled equalizer for now - it's
28046 2006-09-16 Aaron Bockover <abock@gnome.org>
28048 * src/Banshee.Base/Globals.cs: Make startup strings translatable
28050 2006-09-16 Aaron Bockover <abock@gnome.org>
28052 * src/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusDrive.cs (CheckMedia):
28053 Added null checks on discDevice and discDevice.Parent
28055 2006-09-16 Aaron Bockover <abock@gnome.org>
28057 * src/Banshee.Base/Gui/RatingRenderer.cs: Minor fix, do not rely on
28058 widget if null; cache the GC
28060 * src/Banshee.Base/Gui/CleanRoomStartup.cs: Dump the exception to stdout
28062 2006-09-16 Aaron Bockover <abock@gnome.org>
28064 * src/Banshee.Base/Banshee.Base.dll.config.in: Added libnotify map
28066 2006-09-16 Aaron Bockover <abock@gnome.org>
28068 * data/banshee-dialogs.glade: Added rating; fixed mnemonics
28070 * src/Banshee.Base/Gui/TrackEditor.cs: Disable the cover art page for now
28071 as it's not going to be complete before the 0.11.0 release; implement
28072 rating support; added basic cover art reading, but it is disabled
28074 * src/Banshee.Widgets/RatingEntry.cs: Better x-pos to rating 'formula'
28075 that does not depend on Allocation.Width
28077 * src/Banshee.Base/Gui/RatingRenderer.cs: Reverted back to showing
28078 the dots on prelight; prelight is only set when the cursor enters the
28079 entire row - not on the cell or row+column, so it's buggy
28081 * src/Banshee.Base/DBusPlayer.cs: Added SetPlayingRating, GetMaxRating
28083 * src/Main.cs: Added set-rating command line option
28086 * src/Banshee.Base/Banshee.Base.mdp: Updated
28088 2006-09-16 Ruben Vermeersch <ruben@savanne.be>
28090 * src/Banshee.Base/FileNamePattern.cs: Fix the Regex for file name
28091 escaping. For real this time. (BGO #333813)
28093 2006-09-16 Ruben Vermeersch <ruben@savanne.be>
28095 * src/Banshee.Plugins/Audioscrobbler/Engine.cs: Remove a debug line that's
28096 no longer needed. This shouldn't have been committed :-).
28098 2006-09-15 Ruben Vermeersch <ruben@savanne.be>
28100 Notification bubbles in the tray.
28102 * src/Banshee.Base/Makefile.am: Add Notifications.cs.
28104 * src/Banshee.Base/Notifications.cs: Simple wrapper around libnotify.
28106 * src/Banshee.Plugins/NotificationAreaIcon/Makefile.am: Added
28107 NotificationAreaIconConfigPage.cs.
28109 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIcon.dll
28110 .config.in: Add the dllmap for libgobject.
28112 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconConf
28113 igPage.cs: Configuration dialog for the notification messages.
28115 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlug
28116 in.cs: Show notifications when song changes.
28118 * src/Banshee.Plugins/NotificationAreaIcon/banshee-notificationarea
28119 icon.schemas.in: Add the key to store the "show bubbles" preference.
28121 2006-09-13 Aaron Bockover <abock@gnome.org>
28123 * src/Banshee.Base/BansheeBranding.cs: Implement DefaultCoverArt
28125 * src/Banshee.Base/Branding.cs: Added DefaultCoverArt property
28127 * src/Banshee.Base/TrackInfoHeader.cs: Use Branding.DefaultCoverArt
28129 2006-09-13 Aaron Bockover <abock@gnome.org>
28131 * src/Banshee.Base/BansheeBranding.cs: Implement ApplicationLogo
28133 * src/Banshee.Base/Branding.cs: Added ApplicationLogo property
28135 2006-09-11 Aaron Bockover <abock@gnome.org>
28137 * src/Banshee.Base/MediaEngine/PlayerEngine.cs: Ignore stream tags
28138 unless the track is an UnknownTrackInfo (stream)
28140 2006-09-11 Aaron Bockover <abock@gnome.org>
28142 * src/Banshee.Base/Gui/RatingRenderer.cs: Only show the circles in the
28143 renderer when prelit and the cursor is inside the cell area
28145 2006-09-11 Aaron Bockover <abock@gnome.org>
28147 * src/Banshee.Base/TrackInfoHeader.cs: banshee-logo.png is now
28148 in Banshee.Base.dll
28150 2006-09-11 Aaron Bockover <abock@gnome.org>
28152 * src/Makefile.am: ASSEMBLY_NAME was renamed to BANSHEE; bin wrapper
28153 script installation should work again
28155 2006-09-11 Aaron Bockover <abock@gnome.org>
28157 * src/PlayerInterface.cs: Adapted to changes in DBusPlayer, Library, and
28160 2006-09-11 Aaron Bockover <abock@gnome.org>
28162 * src/PlaylistView.cs: Use new CellRendererRating
28164 * src/Banshee.Base/Gui/RatingRenderer.cs: New version, supports being
28165 activatable so rating can be set just by clicking
28167 * src/Banshee.Base/DBusPlayer.cs: Fixes
28169 * libbanshee/Makefile.am: Remove inotify glue, added gtksharp-glue.c
28171 * libbanshee/gtksharp-glue.c: Small amount of glue for overriding
28172 GtkCellRenderer.activate virtual method; allows managed CellRenderers
28173 to be (somewhat hackishly) activatable
28175 * libbanshee/inotify-glue.c:
28176 * libbanshee/inotify.h: Removed
28178 2006-09-11 Aaron Bockover <abock@gnome.org>
28180 * src/Banshee.Base/Globals.cs: Make PlaylistView a Gtk.Widget;
28181 add null check out PlaylistContainer
28183 * src/Banshee.Base/BansheeBranding.cs: Load the application logo
28186 * src/Banshee.Base/Library.cs: Load the LibrarySource here instead of
28189 * src/Banshee.Base/Makefile.am: Added banshee-logo.png
28191 * src/Banshee.Base/Gui/ExceptionDialog.cs: Fixed accelerator key
28193 * src/Makefile.am: Removed banshee-logo.png, added Banshee.Hyena
28196 * configure.ac: Generate src/Banshee.Hyena/Makefile
28198 * data/banshee-dialogs.glade: ImportButton has_default
28200 * banshee.mds: Added Banshee.Hyena
28202 * src/Banshee.Hyena/: Banshee.Hyena is an experimental new
28203 application front-end being developed very in a rather leisurely
28204 manner; primary goal right now is to see just how flexible the
28205 core and to work out component and design bugs
28207 2006-09-11 Aaron Bockover <abock@gnome.org>
28209 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
28210 Only act on ButtonPress (Arif Lukito, BGO #352940)
28212 2006-09-11 Aaron Bockover <abock@gnome.org>
28214 * taglib-sharp/*: Updated
28216 2006-09-11 Aaron Bockover <abock@gnome.org>
28218 * src/Banshee.Base/Plugins/PluginDialog.cs: don't CenterAlways (BGO #353797)
28220 2006-09-11 Aaron Bockover <abock@gnome.org>
28222 * src/Banshee.Widgets/SearchEntry.cs: Reset filter to default/first
28223 item on clear/cancel of search (BGO #353958)
28225 2006-09-10 Gabriel Burt <gabriel.burt@gmail.com>
28227 * src/PlayerInterface.cs: Make ctrl-f and / focus the search entry.
28229 2006-09-09 Ruben Vermeersch <ruben@savanne.be>
28231 * src/Banshee.Widgets/ActionButton.cs: Added 'new' keyword on Action
28232 property to allow for proper functionality under Gtk# 2.12, which provides
28233 Gtk.Widget.Action (BGO #355100, patch by Michael Monreal) (basically
28234 avoids two warnings when compiling Banshee.Widgets)
28236 2006-09-07 Ruben Vermeersch <ruben@savanne.be>
28238 * src/PlayerInterface.cs: Unbreak the build (related to abock's latest
28239 commit on the DBusPlayer stuff)
28241 2006-09-06 Aaron Bockover <abock@gnome.org>
28243 * src/Banshee.Base/DBusPlayer.cs: New version does not rely on knowing
28244 anything about the PlayerInterface in banshee.exe; has new event
28245 for UICommands so PlayerInterface can act accordingly; do not allow
28246 operations to run until all components have booted; added Shutdown
28248 * src/Banshee.Base/Globals.cs: All DBus registration and setup is
28249 done as a component now, not in the PlayerInterface; DBusPlayer is
28250 booted as the first component, but will not perform actions until
28251 all components have booted - this allows for the best instance detection
28253 * src/Banshee.Base/ComponentInitializer.cs: Added IsRunFinished
28255 * src/RemotePlayer.cs: Moved to src/Banshee.Base/DBusPlayer.cs
28257 * src/Main.cs: Adjust to DBusPlayer changes; implement command line
28258 argument for new Shutdown DBus method
28262 * src/Banshee.Base/Makefile.am: Updated
28264 2006-09-06 Aaron Bockover <abock@gnome.org>
28266 * src/Banshee.Base/Gui/ImportDialog.cs: If an audio CD is an available
28267 source, make the first one the active default selection (instead of
28268 the first source); added 'enter' key accelerator (BNC #202865)
28270 * src/Banshee.Base/ActionManager.cs: CTRL+I to activate 'import music'
28272 * src/Banshee.Base/Gui/ErrorListDialog.cs: Make return the default
28273 accelerator, not escape
28275 2006-09-06 Aaron Bockover <abock@gnome.org>
28277 * src/Makefile.am: Updated with some much needed cleaning
28279 * src/banshee.mdp: Updated
28281 * src/PlayerInterface.cs: Handle potential exception from DBusRemote
28283 2006-09-06 Ruben Vermeersch <ruben@savanne.be>
28285 * src/Makefile.am: Unbreak the build (Patch by Michael Monreal, BGO
28288 2006-09-05 Aaron Bockover <abock@gnome.org>
28290 * src/IPlaybackModel.cs: Removed, has never been used for anything
28292 * src/PlaylistModel.cs: Do not implement pointless IPlaybackModel
28294 2006-09-05 Aaron Bockover <abock@gnome.org>
28297 * Makefile.am: Added new tools/ build
28299 * tools: New tools build, cleaning up /src as this stuff doesn't belong
28300 there (yay for cleaning)
28302 * src/banshee-import.in:
28303 * src/BansheeImport.cs:
28304 * src/BansheeDbusClient.cs: Moved to /tools
28306 * src/BansheeDbusClient.Makefile: Removed
28308 2006-09-05 Gabriel Burt <gabriel.burt@gmail.com>
28310 * src/Banshee.Base/Banshee.SmartPlaylist/Editor.cs: Remove unused
28311 variables and capitalize minutes in the title of a default playlist.
28313 * data/banshee-dialogs.glade: Make expander not expanded by default.
28315 2006-09-05 Aaron Bockover <abock@gnome.org>
28317 * src/Banshee.Base/Plugins/PluginCore.cs: Do not load the deprecated
28318 smart playlist plugin
28320 * src/Banshee.Base/Plugins/PluginFactory.cs: Allow removing plugins
28323 * data/banshee-dialogs.glade: Added smart playlist editor
28325 2006-09-05 Aaron Bockover <abock@gnome.org>
28327 * src/Banshee.Base/Gui/ImageFileChooserDialog.cs: Added a FileChooserDialog
28328 for browsing images; shows a preview too
28330 2006-09-05 Aaron Bockover <abock@gnome.org>
28332 * src/Banshee.Base/Banshee.SmartPlaylist/*: Smart playlist plugin moved
28333 from banshee-official-plugins; now is always available and built into
28334 core (currently still loaded as a plugin internally however)
28336 * src/Banshee.Base/Makefile.am: Updated
28338 * src/Banshee.Base/Plugins/PluginCore.cs: Load new internal
28339 Smart Playlists plugin
28341 * src/Banshee.Base/Plugins/PluginFactory.cs: Allow loading plugins
28342 publicly directly from types (useful for internal 'static' plugins)
28344 * src/Banshee.Widgets/RatingEntry.cs: New star rating input entry based
28345 on Gabriel Burt's version from the smart playlists plugin in
28346 banshee-official-plugins
28348 * src/Banshee.Widgets/Makefile.am:
28349 * src/Banshee.Widgets/Banshee.Widgets.mdp: Updated
28351 * src/Banshee.Base/Gui/RatingRenderer.cs: Updated to use new graphics
28353 * data/images/rating-rated.png:
28354 * data/images/rating-unrated.png: Added new rating graphics
28356 * data/images/star.png:
28357 * data/images/circle.png: Removed
28359 * data/images/Makefile.am: Updated
28361 2006-09-04 Aaron Bockover <abock@gnome.org>
28363 * src/PlayerInterface.cs (OnWriteCDAction): return if there are no
28364 burners available (BGO #346044)
28366 2006-09-04 Aaron Bockover <abock@gnome.org>
28368 * src/Banshee.Widgets/DiscUsageDisplay.cs: Use a red gradient if the
28369 disk is full (BGO #345515)
28371 2006-09-04 Aaron Bockover <abock@gnome.org>
28373 * src/SourceView.cs: Show source text in italics if Source.HasEmphasis
28375 * src/Banshee.Base/Source.cs: Added virtual HasEmphasis source, can be
28376 overridden and true to let the source view know it needs to emphasize
28377 the source in some way
28379 * src/Banshee.Base/Banshee.Burner/BurnerSource.cs: Implement HasEmphasis
28380 and set true when the source is auto-created (BGO #345490)
28382 2006-09-04 Ruben Vermeersch <ruben@savanne.be>
28384 * src/Banshee.Plugins/Audioscrobbler/Engine.cs:
28385 * src/Banshee.Plugins/Audioscrobbler/Queue.cs: Only run the state machine
28386 when a track is ready for submit. Removes a useless idle loop and thus
28389 2006-09-04 Ruben Vermeersch <ruben@savanne.be>
28391 * src/PlaylistModel.cs: Only call QueueSync when it's needed (rather than
28394 2006-09-03 Aaron Bockover <abock@gnome.org>
28396 * src/PlayerInterface.cs:
28397 * src/Banshee.Base/ActionManager.cs:
28398 * data/UIManagerLayout.xml: Added 'stop when finished'
28400 2006-09-02 Aaron Bockover <abock@gnome.org>
28402 * banshee.pc.in: Replaced entagged-sharp with taglib-sharp (plugins
28405 * src/Banshee.Base/Gui/TrackEditor.cs: Minor fixes
28407 2006-09-02 Patrick van Staveren <trick@cvs.gnome.org>
28409 * src/Banshee.Dap/Mtp/MtpDap.cs: Removed Wav as a valid filetype, as
28410 for some reason some songs would not get transcoded on sync and send as
28411 Wavs rather than mp3.
28413 2006-09-01 Aaron Bockover <abock@gnome.org>
28415 * data/banshee-dialogs.glade: Renamed a widget
28417 * src/Banshee.Base/Gui/TrackEditor.cs: Implemented EnterNextTitle
28419 2006-09-01 Aaron Bockover <abock@gnome.org>
28421 * taglib-sharp: Updated with latest fixes
28423 2006-08-28 Aaron Bockover <abock@gnome.org>
28425 * src/Banshee.Base/Gui/ConfirmShutdownDialog.cs: New dialog that is shown
28426 on shutdown if there are IInstanceCriticalJobs in the scheduler
28428 * src/Banshee.Base/Banshee.Kernel/IInstanceCriticalJob.cs: New
28430 * src/Banshee.Base/Gui/ErrorListDialog.cs: Added expander
28432 * src/Banshee.Base/Banshee.Kernel/Scheduler.cs: Scheduler is now
28433 eventful and queryable
28435 * src/Banshee.Base/Banshee.Kernel/IntervalHeap.cs: Minor API fix
28437 * data/banshee-dialogs.glade: Added expander to ErrorListDialog
28439 * src/PlayerInterface.cs: Connect to Globals.ShutdownRequested, perform
28440 user interface shutdown sequence when event is raised
28442 * src/Banshee.Base/Globals.cs: Added ShutdownRequested event support
28443 and new Shutdown method that checks to see if the scheduler has any
28444 instance critical jobs scheduled
28446 * src/Banshee.Base/Makefile.am: Added new files
28448 * src/Banshee.Base/StreamTagger.cs: Make the SaveTrackMetadataJob
28449 an IInstanceCriticalJob
28451 2006-08-27 Aaron Bockover <abock@gnome.org>
28453 * src/Banshee.Base/Gui/TrackEditor.cs (SaveTrack): catch
28454 GConf.NoSuchKeyException
28456 2006-08-27 Aaron Bockover <abock@gnome.org>
28458 * src/Banshee.Base/Banshee.Kernel/IntervalHeap.cs: implemented
28459 IList<T> (Add, Remove, Contains), optimized heap growing, added
28460 Synchronzied(IntervalHeap<T>) to get a synchronizable IntervalHeap<T>
28462 * tests/Banshee.Kernel.cs: Added more tests for IntervalHeap<T>
28464 2006-08-27 Aaron Bockover <abock@gnome.org>
28466 * configure.ac: Export DISTCHECK_CONFIGURE_FLAGS
28468 * data/Makefile.am:
28470 * src/Banshee.Base/Makefile.am:
28471 * src/Banshee.Dap/Ipod/Makefile.am:
28472 * src/Banshee.Dap/MassStorage/Makefile.am:
28473 * taglib-sharp/Makefile.am:
28474 * tests/Makefile.am: Updated to make distcheck work; it's been a while
28476 * tests/ConsoleUi.cs: Updated
28478 2006-08-26 Aaron Bockover <abock@gnome.org>
28480 * tests/*: Added NUnit test framework, started testing Banshee.Kernel
28482 * configure.ac: Added tests/nunit checks
28484 * src/Banshee.Plugins/Audioscrobbler/Makefile.am: Updated
28486 * src/Banshee.Plugins/Audioscrobbler/Banshee.Plugins.Audioscrobbler.dll.config.in:
28487 Renamed from Audioscrobbler.dll.config.in
28489 2006-08-26 Aaron Bockover <abock@gnome.org>
28491 * src/Banshee.Base/Sources/AudioCdSource.cs: Reordered context menu
28493 2006-08-26 Aaron Bockover <abock@gnome.org>
28495 * src/Banshee.Base/Banshee.Cdrom/IDiscDuplicator.cs: interface for
28498 * src/Banshee.Base/Banshee.Cdrom.Nautilus/NautilusDiscDuplicator.cs:
28499 Nautilus implementation of IDiscDuplicator; runs nautilus-cd-burner
28501 * src/Banshee.Base/Makefile.am:
28502 * src/Banshee.Base/Banshee.Base.mdp: Updated
28504 * src/Banshee.Base/Banshee.Burner/BurnerCore.cs: Provide an IDiscDuplicator
28506 * src/Banshee.Base/Sources/AudioCdSource.cs: Added custom context menu
28507 with 'Copy CD' action
28509 * src/Banshee.Base/Gui/TrackEditor.cs: Schedule metadata save with
28512 2006-08-26 Aaron Bockover <abock@gnome.org>
28514 * data/banshee-dialogs.glade: Updated UI
28516 * src/Banshee.Base/GConfKeys.cs: Added WriteMetadata key, removed
28519 * src/Banshee.Base/PlayerEngineCore.cs:
28520 * src/Banshee.Base/MediaEngine/PlayerEngine.cs: Added TrackInfoUpdated
28523 * src/Banshee.Base/StreamTagger.cs: Added SaveTrackMetadataJob for writing
28524 metadata back to files inside scheduler
28526 * src/Banshee.Base/Gui/PreferencesDialog.cs: Added Write Metadata checkbox
28528 * src/Banshee.Base/Gui/TrackEditor.cs: Schedule SaveTrackMetadataJobs
28529 for saving metadata back to files if user has enabled this
28531 * src/Banshee.Base/IO/SystemIO.cs:
28532 * src/Banshee.Base/IO/Unix.cs: Fixed WriteStream Open() call to allow
28535 2006-08-26 James Willcox <snorp@snorp.net>
28537 * src/Banshee.Plugins/Daap/daap-sharp: updated to latest
28538 * src/Banshee.Plugins/Daap/*.cs: adjusted to daap-sharp API changes
28540 2006-08-25 Aaron Bockover <abock@gnome.org>
28542 * data/banshee-dialogs.glade: Updated interface
28544 * src/Banshee.Base/Gui/TrackEditor.cs: Allow syncing all common fields;
28545 removed sync button on track number and title as it doesn't make sense
28547 2006-08-24 Aaron Bockover <abock@gnome.org>
28549 * data/banshee-dialogs.glade: Moved WindowTrackInfo from banshee.glade
28551 * data/banshee.glade: Moved WindowTrackInfo to banshee-dialogs.glade
28554 * src/Banshee.Base/Banshee.Base.mdp:
28555 * src/TrackProperties.cs:
28556 * src/Makefile.am: Removed TrackProperties.cs, moved to Banshee.Base
28558 * src/PlayerInterface.cs: Updated to call Banshee.Gui.TrackEditor
28560 * src/Banshee.Base/Gui/TrackEditor.cs: Updated to reflect new GUI,
28561 use TagLib for getting audio stream properties
28563 2006-08-24 Aaron Bockover <abock@gnome.org>
28566 * src/Banshee.Base/Banshee.Base.mdp: Updated
28568 * src/Banshee.Base/GstMisc.cs: Do not return a fake mime type, let
28569 taglib-sharp handle that (taglib/asf, etc.)
28572 * src/Banshee.Dap/MassStorage/Makefile.am: Link against taglib-sharp
28574 * src/BansheeImport.cs: Disabled parts until can port to taglib-sharp
28576 2006-08-24 Aaron Bockover <abock@gnome.org>
28578 * entagged-sharp: removed in favor of taglib-sharp
28580 * taglib-sharp: added in favor of entagged-sharp (better mainstream
28581 format support, supports writing)
28583 * src/Banshee.Base/Banshee.Library/DatabaseWriteException.cs: Exception
28584 for database-specific write problems
28586 * src/Banshee.Base/Banshee.Library/Import.cs: Import layer to handle
28587 saving imported tracks found through ImportManager to library
28589 * src/Banshee.Base/Sources/ImportErrorsSource.cs: New source to show
28590 errors when importing
28592 * src/Banshee.Base/FileImportSource.cs:
28593 * src/Banshee.Base/FolderImportSource.cs:
28594 * src/Banshee.Base/HomeDirectoryImportSource.cs: Use new
28595 Banshee.Library.Import class for queueing imports
28597 * src/Banshee.Base/LibraryTrackInfo.cs: Use StreamTagger with ProcessUri
28599 * src/Banshee.Base/Makefile.am: Adde new sources
28601 * src/Banshee.Base/Source.cs (RemoveChildSource): If source is active
28602 source, set active source to default source
28604 * src/Banshee.Base/StreamTagger.cs: Add a TagLib-based MergeTrackInfo
28606 * src/Banshee.Base/IO/SystemIO.cs:
28607 * src/Banshee.Base/IO/Unix.cs:
28608 * src/Banshee.Base/IO/Interfaces.cs:
28609 * src/Banshee.Base/IO/IOProxy.cs: Add support for TagLib VFS and mimetype
28610 finding implementations
28612 * src/Banshee.Base/FileTrackInfo.cs:
28613 * src/TrackProperties.cs:
28614 * src/Banshee.Dap/MassStorage/MassStorageDap.cs:
28615 * src/Banshee.Dap/Ipod/DatabaseRebuilder.cs: Use TagLib
28617 * src/PlayerInterface.cs: Removed import handling code
28619 * src/Banshee.Dap/Ipod/Makefile.am:
28620 * src/Banshee.Base/Makefile.am: Link against taglib-sharp,
28624 * Makefile.am: Added taglib-sharp
28626 2006-08-10 Ruben Vermeersch <ruben@Lambda1.be>
28628 * data/banshee.glade:
28629 * src/TrackProperties.cs: Long overdue patch for BGO #327371 (window for
28630 edit song metadata should be resizable).
28632 2006-08-09 Aaron Bockover <abock@gnome.org>
28635 * libbanshee/libbanshee.mdp: Added MD project for libbanshee
28637 * libbanshee/gst-playback-0.10.c: Set video-sink on playbin to a fakesink
28638 to keep video windows from popping up (and often crashing the app with
28641 2006-08-09 Aaron Bockover <abock@gnome.org>
28643 * banshee.mds: Added Last.FM.mdp
28645 * src/Gnome.Keyring/*: synced sources
28647 * src/Last.FM/Makefile.am: Added new Last.FM files
28649 * src/Last.FM/Test.cs: Added test
28651 * src/Last.FM/Last.FM/Account.cs: Completed, moved to propery build layout
28653 * src/Last.FM/Last.FM.Gui/AccountLoginForm.cs: Login form that is
28654 Last.FM.Account aware
28656 * src/Last.FM/Last.FM.Gui/AccountLoginDialog.cs: Dialog box embedding
28657 Last.FM.AccountLoginForm
28659 * src/Last.FM/Last.FM.Gui/Badge.cs: A linked image showing the last.fm
28662 * src/Last.FM/Last.FM.Gui/LinkLabel.cs: A hyperlink button
28664 * src/Last.FM/*.png: Added last.fm badge images
28666 2006-08-05 Aaron Bockover <abock@gnome.org>
28668 * src/Gnome.Keyring/*: synced sources of gonzalo's Gnome.Keyring library
28669 from Mono SVN (gnome-keyring-sharp)
28671 * src/Last.FM/*: Beginning of general Last.FM/Audioscrobbler library
28673 * src/Last.FM/Account.cs: Class to get/set username/password for
28674 Last.FM using Gnome.Keyring
28677 * src/Makefile.am: Added Gnome.Keyring, Last.FM
28679 2006-08-05 Aaron Bockover <abock@gnome.org>
28683 * src/Banshee.Base/Banshee.Base.mdp: Updated MonoDevelop projects
28685 * src/Makefile.am: Do not build AmazonSearchService; has never been
28688 * src/AmazonSearchService.wsdl: Removed :-)
28690 2006-08-05 Aaron Bockover <abock@gnome.org>
28692 * src/*/Makefile.am:
28693 * src/*/*/Makefile.am: Added $(top_srcdir)/src/AssemblyInfo.cs to build
28695 * src/Banshee.Plugins/Daap/daap-sharp/AssemblyInfo.cs: Removed
28697 * src/Banshee.Plugins/Daap/daap-sharp/sync-tree.sh: Remove AssemblyInfo.cs
28700 2006-08-05 Aaron Bockover <abock@gnome.org>
28702 * src/Banshee.Base/PlayerEngineCore.cs: Use a PluginFactory; media
28703 engines are now flatly installed in Banshee.MediaEngine (no more
28704 sub directories therein)
28706 * src/Banshee.Base/MediaEngine/PlayerEngine.cs: Implement IPlugin
28708 * src/Banshee.Base/Plugins/PluginFactory.cs: Added PluginLoaded event
28710 * src/ExceptionDialog.cs:
28711 * src/LogCoreViewer.cs:
28712 * src/RatingRenderer.cs:
28713 * src/ToggleStates.cs:
28714 * src/VersionInformationDialog.cs: Moved to Banshee.Base/Gui
28716 * src/Banshee.Base/Gui/ExceptionDialog.cs: Details are now collapsed
28717 in an expander; minor clean up
28719 * src/Banshee.Base/Gui/CleanRoomStartup.cs: Startup(string []) invocation
28720 that can optionally, by default, trap exceptions and present them in
28721 the Banshee.Gui.Dialogs.ExceptionDialog
28723 * configure.ac: Output GStreamerPlayerEngine.dll.config.in
28725 * src/Banshee.MediaEngine/Gstreamer/gst-player.dll.config.in: Renamed to
28726 GStreamerPlayerEngine.dll.config.in
28728 * src/Banshee.MediaEngine/Gstreamer/Makefile.am: Renamed assembly to
28729 GStreamerPlayerEngine.dll, install to Banshee.MediaEngine
28731 * src/Banshee.MediaEngine/Helix/Makefile.am: Install to Banshee.MediaEngine
28733 * src/Main.cs: Use CleanRoomStartup
28735 * src/Makefile.am: Removed files and resources moved to Banshee.Base
28737 * src/Banshee.Base/Makefile.am: Added resource generator, added new files
28738 and resources moved from banshee.exe
28740 * src/StockIcons.cs: Removed some icons
28743 * src/Banshee.Base/Banshee.Base.mdp: Updated MonoDevelop projects
28745 * src/PlaylistView.cs:
28746 * src/PlayerInterface.cs: Updated to reflect namespace changes
28748 2006-08-04 Aaron Bockover <abock@gnome.org>
28750 * src/Banshee.Base/Gui/GladeWindow.cs: Fixed bug, was missing assembly
28753 2006-08-04 Aaron Bockover <abock@gnome.org>
28755 * banshee.mdp: Removed old MonoDevelop project
28757 * banshee.mds: New MonoDevelop solution that includes proper projects
28760 * src/Banshee.Base/Banshee.Base.mdp:
28761 * src/Banshee.Widgets/Banshee.Widgets.mdp:
28762 * src/MusicBrainz/MusicBrainz.mdp: New MonoDevelop projects; core Banshee
28763 can now be built and run from MonoDevelop
28765 * data/banshee.glade: Removed Banshee.Base dialogs
28767 * data/banshee-dialogs.glade: Moved Banshee.Base dialogs here; resource
28768 in Banshee.Base.dll; now more reusable
28770 * src/banshee.in: Allow running uninstalled
28772 * src/Banshee.Base/Makefile.am: Embed banshee-dialogs.glade
28774 * src/Banshee.Base/Gui/GladeWindow.cs: New constructor
28776 * src/PlayerInterface.cs: Connect to DeleteEvent manually
28778 2006-08-01 Aaron Bockover <abock@gnome.org>
28780 * banshee.mdp: Updated MonoDevelop project
28782 * data/Makefile.am: Build .po info extractor and generate translators.xml
28784 * data/contributors.xml: XML file containing contributor information
28786 * data/TranslatorExtract.cs: Program to extract translator information
28787 from .po files, generates XML to embed as resource
28789 * src/AboutBox.cs: Removed
28791 * src/Makefile.am: Do not embed COPYING or build AboutBox.cs
28793 * src/PlayerInterface.cs: Use new Banshee.Gui.Dialogs.AboutDialog
28795 * src/Banshee.Base/Makefile.am: Added ProductInformation.cs and
28796 AboutDialog.cs; embed translators.xml, contributors.xml, and COPYING
28798 * src/Banshee.Base/ProductInformation.cs: Static class that reads
28799 translators.xml and contributor.xml resources to provide data for
28800 display in about dialog
28802 * src/Banshee.Base/Gui/AboutDialog.cs: New about dialog that uses
28803 Banshee.Base.ProductInformation as a data source
28805 2006-07-29 Aaron Bockover <abock@gnome.org>
28807 * banshee.mdp: Updated MonoDevelop project
28809 * src/Banshee.Base/Banshee.Kernel/Scheduler.cs: Schedules jobs to
28810 be executed based on priority on a single thread of execution
28812 * src/Banshee.Base/Banshee.Kernel/IntervalHeap.cs: A heap-based priority
28813 queue collection for the scheduler
28815 * src/Banshee.Base/Banshee.Kernel/IJob.cs: Job interface used for
28818 * src/Banshee.Base/Banshee.Kernel/Job.cs: Job abstract class with
28821 * src/Banshee.Base/Banshee.Kernel/JobPriority.cs: Job priority levels
28823 * src/Banshee.Base/Makefile.am: Added new Banshee.Kernel sources
28825 * src/Banshee.Plugins/MetadataSearch/MetadataSearchPlugin.cs: Use
28826 new Banshee.Kernel.Scheduler to handle fetching of track data on
28827 the scheduler thread
28829 2006-07-29 Patrick van Staveren <trick@vanstaveren.us>
28831 * src/Banshee.Dap/Mtp/MtpDap.cs: fix other import method to use
28832 IList. Also update error handling code to work with IEnumerable.
28834 2006-07-29 Patrick van Staveren <trick@vanstaveren.us>
28836 * src/Banshee.Dap/Mtp/MtpDap.cs: quick fix with changing API from
28837 abock's earlier commit (IList->IEnumerable)
28839 2006-07-28 Patrick van Staveren <trick@vanstaveren.us>
28841 * src/Banshee.Dap/Mtp/GPhotoDevice.cs: added GetFile method
28843 * src/Banshee.Dap/Mtp/GPhotoDeviceFile.cs: split out public & private
28844 CameraFile, add Extension variable, removed old comments, CameraFile
28845 get method now auto-retrieves the file if not gotten yet.
28847 * src/Banshee.Dap/Mtp/MtpDap.cs: added fully-functional import method
28849 * src/Banshee.Dap/Mtp/MtpDapTrackInfo.cs: renamed device file to proper
28850 name, added MakeFileUri method that retrieves a camera file to a temp file
28851 with a proper extension
28853 Warning: the Import method blocks the UI. Move to a background thread.
28855 2006-07-28 Aaron Bockover <abock@gnome.org>
28857 * src/PlayerInterface.cs: Minor fix
28859 * src/SourceView.cs: Allow dropping IImportSource source on LibrarySource
28861 * src/Banshee.Base/Sources/DapSource.cs: Added CancelMessage and
28862 an action name to make the HIG stop dialog not suck
28864 2006-07-28 Aaron Bockover <abock@gnome.org>
28866 * src/PlayerInterface.cs: Make the remove and delete songs dialog
28869 2006-07-28 Aaron Bockover <abock@gnome.org>
28871 * src/Banshee.Widgets/ActiveUserEvent.cs: New fully-HIG-compliant
28872 cancel/stop dialog; support having custom stop messages
28874 * src/Banshee.Base/AudioCdRipper.cs:
28875 * src/Banshee.Base/BatchTranscoder.cs:
28876 * src/Banshee.Base/ImportManager.cs:
28877 * src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs:
28878 * src/Banshee.Base/Dap/Dap.cs: Added better operation names and custom
28879 stop-operation messages so the stop dialog is more HIG compliant and
28880 easier to understand
28882 * src/Banshee.Base/ActionManager.cs: Set Gtk.Window.DefaultIconName
28884 * src/Banshee.Widgets/HigMessageDialog.cs: Set SkipTaskbarHint as
28885 suggested by the HIG, make the message label support markup
28887 2006-07-28 Gabriel Burt <gabriel.burt@gmail.com>
28889 * src/Banshee.Base/Sources/PlaylistSource.cs: Fire TrackAdded/Removed
28890 events when appropriate. Fixes BGO #347014.
28892 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: Conform to the HAL spec
28893 when exporting files.
28895 2006-07-28 Aaron Bockover <abock@gnome.org>
28897 This commit breaks major API regarding Banshee.Sources.Source; expect
28898 related plugins and other code to break
28900 * src/Banshee.Base/Library.cs:
28901 * src/Banshee.Base/Source.cs:
28902 * src/Banshee.Base/AudioCd/AudioCdDisk.cs:
28903 * src/Banshee.Base/Banshee.Burner/BurnerSource.cs:
28904 * src/Banshee.Base/Dap/Dap.cs:
28905 * src/Banshee.Base/Sources/AudioCdSource.cs:
28906 * src/Banshee.Base/Sources/LibrarySource.cs:
28907 * src/Banshee.Base/Sources/LocalQueueSource.cs:
28908 * src/Banshee.Base/Sources/PlaylistSource.cs:
28909 * src/Banshee.Plugins/Daap/DaapSource.cs:
28910 * src/Banshee.Plugins/Daap/DatabaseProxy.cs: Use generics on public API;
28911 goal was to have Banshee.Source.Source.Tracks be IEnumerable<TrackInfo>,
28912 thus everything else below had to become generic; clean up along the way
28914 * src/Banshee.Base/Sources/IImportable.cs: Import takes
28915 IEnumerable<TrackInfo> instead of IList<TrackInfo> to make implementing
28916 both IImportable and IImportSource as easy and efficient as possible
28918 * src/Banshee.Base/Sources/DapSource.cs: Implement aforementioned
28919 generics changes and implement IImportSource
28921 * src/SourceView.cs: Handle exceptions when invoking an import
28923 * src/Banshee.Dap/Njb/NjbDap.cs:
28924 * src/Banshee.Dap/Mtp/MtpDap.cs: Throw an exception in IImportable.Import
28925 as these DAPs do not yet support importing
28927 2006-07-28 Patrick van Staveren <trick@vanstaveren.us>
28929 * src/Banshee.Base/Dap/DapMisc.cs: added wav and flac types
28931 * src/Banshee.Dap/Mtp/GPhotoDevice.cs: also allow wma/asx/wav extensions
28933 * src/Banshee.Dap/Mtp/MtpDap.cs: allow wav files (voice recordings),
28934 implement IImportable & dummy Import functions w/ error message. Also
28935 remove an old comment.
28937 * src/Banshee.Dap/Njb/NjbDap.cs: add IImportable & dummy Import
28938 functions w/ error message.
28940 2006-07-27 Aaron Bockover <abock@gnome.org>
28942 * banshee.mdp: Updated MonoDevelop project
28944 * src/SourceView.cs: support dropping on IImportable sources
28946 * src/Banshee.Base/FileNamePattern.cs: Fix minor bug regarding extensions
28948 * src/Banshee.Base/LibraryTrackInfo.cs: Allow constructor previously
28949 reserved for AudioCdTrackInfo to import any TrackInfo
28951 * src/Banshee.Base/QueuedOperationManager.cs: Fixes, added necessary
28952 support for more advanced operations management
28954 * src/Banshee.Base/Sources/IImportable.cs: Added two Import methods
28956 * src/Banshee.Base/Sources/DapSource.cs: Implemented IImportable
28957 methods; effectively allows super-awesome importing of songs from
28958 an iPod (or mass storage DAP) to the Banshee library
28960 2006-07-27 Aaron Bockover <abock@gnome.org>
28962 * banshee.mdp: Updated MonoDevelop project
28965 * src/DragDrop.cs: Removed legacy DnD code
28967 * src/Banshee.Base/Makefile.am: Added new Banshee.Gui.DragDrop files
28968 and Sources/IImportable.cs
28970 * src/Banshee.Base/Banshee.Equalizer.Gui/EqualizerView.cs: Minor fix
28972 * src/Banshee.Base/Banshee.Gui.DragDrop/DragDropList.cs: New DnD
28973 transportation collection object to allow sending managed objects
28974 efficiently over Gtk.SelectionData and with very minimal code overhead
28976 * src/Banshee.Base/Banshee.Gui.DragDrop/DragDropTarget.cs: Global
28977 DnD target definitions and types
28979 * src/Banshee.Base/Banshee.Gui.DragDrop/DragDropUtilities.cs: Utility
28980 methods for raw DnD (byte[]/string/Gtk.SelectionData transforms)
28982 * src/PlayerInterface.cs:
28983 * src/SourceView.cs: Updated to use new Banshee.Gui.DragDrop types,
28984 utilities, and most importantly, DragDropList for efficient DnD
28986 * src/Banshee.Base/Sources/IImportable.cs: Empty interface for now;
28987 can be implemented on sources when the source has import to library
28990 * src/Banshee.Base/Sources/DapSource.cs: Implement IImportable
28992 2006-07-27 Aaron Bockover <abock@gnome.org>
28994 * banshee.mdp: Updated MonoDevelop project
28996 * src/Banshee.Base/ActionManager.cs:
28997 * data/UIManagerLayout.xml: Added equalizer and help/wiki actions
28999 * src/PlayerInterface.cs: Minor full screen action clean up and
29000 added action for showing eq editor
29002 * src/Banshee.Base/Gui/GladeWindow.cs: Base wrapper for Glade windows
29004 * src/Banshee.Base/Gui/GladeDialog.cs: Now derives from GladeWindow
29006 * src/Banshee.Plugins/Audioscrobbler/Queue.cs: Fix minor warning
29008 * src/Banshee.Base/Makefile.am: Added new equalizer files
29010 Equalizer support based in part on Ivan N. Zlatev's patch:
29012 * data/banshee.glade: Added equalizer editor shell window
29014 * src/Banshee.Base/Banshee.Equalizer/EqualizerManager.cs: Manager
29015 with a default instance that supports loading/saving EqualizerSettings
29018 * src/Banshee.Base/Banshee.Equalizer/EqualizerSetting.cs: Type representing
29019 and equalizer preset/configuration
29021 * src/Banshee.Base/Banshee.Equalizer.Gui/EqualizerBandScale.cs: A scale
29022 widget supporting band/frequency and clipped EQ values, shows a
29023 frequency label as well
29025 * src/Banshee.Base/Banshee.Equalizer.Gui/EqualizerLevelsBox.cs: VBox
29026 that shows dB levels
29028 * src/Banshee.Base/Banshee.Equalizer.Gui/EqualizerPresetComboBox.cs:
29029 A GtkComboBoxEntry that is EqualizerManager-aware
29031 * src/Banshee.Base/Banshee.Equalizer.Gui/EqualizerView.cs: A full EQ
29032 view widget that combines the BandScale and LevelsBox widgets and
29033 supports loading/setting presets from an EqualizerSetting
29035 * src/Banshee.Base/Banshee.Equalizer.Gui/EqualizerWindow.cs: Default
29036 editor window combining glade shell window, EqualizerView and preset
29039 * src/Banshee.MediaEngine/Helix/HelixRemotePlayerEngine.cs: Added supported
29040 EQ bands/frequencies by the Helix engine; call into new EQ D-Bus methods
29042 * src/Banshee.MediaEngine/Helix/HelixRemotePlayer.cs: Added D-Bus
29043 methods for new EQ support
29045 2006-07-26 Aaron Bockover <abock@gnome.org>
29047 * configure.ac: Use new intltool 0.3.5 locale handling (BGO #339140,
29048 Przemysław Grzegorczyk)
29050 * src/PlayerInterface.cs: Suspend search until query is entered to
29051 speed up performance (BGO #348274, Dominik Meister)
29053 * src/Banshee.Base/ImportManager.cs: Catch more exceptions that can be
29054 thrown during import. Based on patch from Julien Sobrier (BGO #348732,
29057 * src/Banshee.Dap/Ipod/IpodDap.cs: Added more informative debug output
29059 * src/Banshee.Widgets/ActiveUserEvent.cs: Only update on a delay to
29060 help unclog the main loop (BGO #347064, James Willcox)
29062 * entagged-sharp/Ogg/Util/OggInfoReader.cs: Nominal bitrate in kbps (BGO
29063 #342933, Koike Kazuhiko)
29065 2006-07-25 Gabriel Burt <gabriel.burt@gmail.com>
29067 * src/Banshee.Base/Source.cs: Fix small bug where we set the parent of a
29068 child to itself (BGO #348726, thanks Julien Sobrier).
29070 2006-07-25 Ruben Vermeersch <ruben@Lambda1.be>
29072 * src/Banshee.Base/Gui/PreferencesDialog.cs: Fix music folder preference
29075 2006-07-19 Aaron Bockover <abock@gnome.org>
29077 Patch from Ed Catmur (BGO #346501)
29079 * configure.ac: Check for libnautilus-burn 2.15.x and set compat
29080 defines for 2.12.x, 2.14.x, and 2.15.x
29082 * burn-sharp/glue.c: Stay compatible with older (<=2.14.x) API and
29083 work with new 2.15.x API
29085 2006-07-18 Aaron Bockover <abock@gnome.org>
29087 * banshee.mdp: Updated MonoDevelop project
29089 * src/Banshee.Widgets/Makefile.am: Add Tile.cs and TileView.cs
29091 * src/Banshee.Widgets/TileView.cs: Scrollable widget that nicely
29092 arranges child widgets into a table that should rarely horizontally
29093 scroll, much like the application browser in SLED 10
29095 * src/Banshee.Widgets/Tile.cs: Added a base Tile widget class; the
29096 tile concept can be seen in Beagle, and in SLED 10's main menu,
29097 application browser, and control panel
29099 2006-07-18 Gabriel Burt <gabriel.burt@gmail.com>
29101 * src/Banshee.Base/Sources/PlaylistSource.cs: If the Library is not
29102 loaded, delay loading a playlist's tracks. (BGO #346702)
29104 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: Fixed wrong indexes
29105 used in WriteLine, caught and patched by Przemysław Grzegorczyk (BGO #347440)
29107 2006-07-18 Aaron Bockover <abock@gnome.org>
29109 * hal-sharp/HalDevice.cs: Added null checks for Hal.Context to prevent
29110 crashes in places; happened in new NautilusDriveFactory when dbus was
29113 2006-07-18 Aaron Bockover <abock@gnome.org>
29115 * src/Banshee.Base/Makefile.am: Removed a file that I haven't committed
29118 2006-07-18 Patrick van Staveren <trick@vanstaveren.us>
29120 * src/Banshee.Dap/Mtp/MtpDeviceId.cs: sync'd device list with libgphoto
29122 2006-07-17 Aaron Bockover <abock@gnome.org>
29124 * src/Banshee.Base/Makefile.am: Added MediaEngine/IEqualizer.cs (left
29125 out from IEqualizer.cs commit)
29127 2006-07-17 Aaron Bockover <abock@gnome.org>
29131 2006-07-17 Aaron Bockover <abock@gnome.org>
29133 * src/Banshee.Base/MediaEngine/IEqualizer.cs: Added an equalizer interface
29134 that media engines can implement
29136 2006-07-12 Patrick van Staveren <trick@vanstaveren.us>
29138 * src/Banshee.Dap/Mtp/GPhotoDevice.cs:
29139 * src/Banshee.Dap/Mtp/MtpDap.cs: removed a bunch of unnecessary debug
29140 statements, cleaned up device detection so that it only happens when
29141 necessary. Also removed SetOwner method so that Banshee doesn't allow
29144 2006-07-12 Ruben Vermeersch <ruben@Lambda1.be>
29146 Patch by Bertrand Lorentz <bertrand.lorentz@gmail.com> (BGO #336761)
29148 * data/banshee.schemas.in:
29149 * src/PlayerInterface.cs:
29150 * src/PlaylistView.cs: Add support for showing a year column and searching
29151 track by year. The year column visibility defaults to false.
29153 2006-07-11 Ruben Vermeersch <ruben@Lambda1.be>
29155 * src/Banshee.Base/Plugins/PluginFactory.cs: Create user plugin dir if it
29156 doesn't exist. (BGO #346612) Makes life of plugin writers a bit easier as
29157 they can safely assume the user plugin dir exists.
29159 * src/Banshee.Plugins/Audioscrobbler/Queue.cs: Remove the unnecessairy
29160 test to check if the user plugin dir exists.
29162 2006-07-10 Francisco Javier F. Serrador <serrador@cvs.gnome.org>
29164 * src/Banshee.Base/Banshee.Cdrom.Gui/RecorderSpeedComboBox.cs:
29167 2006-07-08 Aaron Bockover <aaron@abock.org>
29169 * libbanshee/gst-transcode-0.10.c: Expand virtual element 'cdwavenc'
29170 into a better pipeline to produce proper WAV PCM (proper endianness,
29171 width, depth, signed, rate, and channel attributes)
29173 * src/Banshee.Base/PipelineProfile.cs: Added support for virtual 'cdwavenc'
29175 * src/Banshee.Base/Banshee.Burner/BurnerSessionPreparer.cs: Use new virtual
29176 'cdwavenc' profile for writing audio CDs
29178 2006-07-06 Aaron Bockover <aaron@abock.org>
29180 Patch by Christopher Orr <chris@orr.me.uk> (BGO #346815)
29182 * src/Banshee.Base/PowerManagement.cs: Make Inhibit method generic;
29183 allow multiple reasons for inhibiting GNOME Power Manager.
29185 * src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs: Use Inhibit
29186 to stop computer suspending/hibernating while burning a CD.
29188 2006-07-07 Aaron Bockover <aaron@abock.org>
29190 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
29191 Ensure track info popup is not clipped on left side of
29192 screen (BGO #346876, Edward Duffy)
29194 2006-07-06 Aaron Bockover <aaron@abock.org>
29196 Patch from James Willcox
29198 * configure.ac: Require ipod-sharp 0.6.0
29200 * src/Banshee.Base/TrackInfo.cs: Make cover_art_file protected
29202 * src/Banshee.Dap/Ipod/DatabaseRebuilder.cs:
29203 * src/Banshee.Dap/Ipod/IpodDap.cs:
29204 * src/Banshee.Dap/Ipod/IpodDapTrackInfo.cs: Updated to work with
29205 new ipod-sharp 0.6.0/SVN Track API and added cover art syncing support
29207 2006-07-06 Aaron Bockover <aaron@abock.org>
29209 * banshee.mdp: Updated MonoDevelop project
29211 * src/Banshee.Base/Globals.cs: Initialize/destroy power management support
29213 * src/Banshee.Base/Makefile.am: Added PowerManagement.cs
29215 * src/Banshee.Base/PowerManagement.cs: Basic power management support
29216 that currently uses the DBus interface to GNOME Power Manager (2.15.x
29217 is currently required); If playing, Inhibit will be called, when not
29218 playing, UnInhibit will be called (BGO #344946)
29220 * src/Banshee.Base/TrackInfoPopup.cs: Increased cover art size
29222 2006-07-02 Aaron Bockover <aaron@abock.org>
29224 * src/data/UIManagerLayout.xml: Added DebugMenu menu; moved the
29225 version information and logged events items into it (BGO #346425)
29227 * src/Banshee.Base/ActionManager.cs: Added DebugMenuAction implementation;
29228 do not show unless --debug is passed
29230 2006-07-02 Aaron Bockover <aaron@abock.org>
29232 * src/Main.cs: Enable the exception dialog
29234 * src/PlayerInterface.cs: Do not show main interface if --hide was passed
29236 * src/Banshee.Base/BansheeBranding.cs: Do not show the splash screen
29237 if --hide was passed (BGO #346424)
29239 2006-07-02 Gabriel Burt <gabriel.burt@gmail.com>
29241 * src/Banshee.Base/ChildSource.cs: Fix whitespace.
29243 * src/Banshee.Base/Source.cs: Add NameComparer and SizeComparer IComparers
29244 and add virtual SortChildren function to sort with them, allowing ordering
29245 of non-PlaylistSource children of the Library. (BGO #344829)
29247 * src/Banshee.Base/Sources/LibrarySource.cs: Use SortChildren method from
29248 Source. Remove option to sort by creation order.
29250 * src/Banshee.Base/Sources/PlaylistSource.cs: Remove sorting functionality
29251 from LoadSources function, as sorting is done with SortChildren now.
29253 2006-07-02 Aaron Bockover <aaron@abock.org>
29255 * src/PlaylistView.cs (SelectPlaying): Check PlayingPath for null before
29256 calling SelectPath on it
29258 * src/PlayerInterface.cs (SearchBySelectedTrack): Focus the playlist view
29260 * src/Banshee.Base/QueuedSqliteDatabase.cs: Updated by rubenv in a
29261 previous commit to add a WakeUp method and not hang on Dispose
29263 2006-07-02 Aaron Bockover <aaron@abock.org>
29265 Revised patch from Dominik Meister (BGO #333904)
29267 * data/UIManagerLayout.xml:
29268 * src/Banshee.Base/ActionManager.cs: Added search by criteria entries
29270 * src/PlayerInterface.cs: Implement search by criteria from selection
29272 * src/Banshee.Widgets/SearchEntry.cs: Allow setting the search filter
29275 2006-07-02 Aaron Bockover <aaron@abock.org>
29277 * src/Banshee.Base/ImportManager.cs: Catch any exception on the
29278 'starts with' test for path file names when importing in case
29279 there is poor encoding (BGO #68088, Marin Krkač)
29281 * src/PlaylistView.cs: More natural sorting of playlists
29282 by artist (BGO #342835, Denis Washington)
29284 * src/PlayerInterface.cs (OnSimpleSearch): Pump the main event loop
29285 before updating the view to allow for the scroll to playing
29286 request to work properly for now (BGO #328886, Marin Krkač)
29288 * src/Banshee.Base/QueuedSqliteDatabase.cs: Use a generic
29289 Queue for the queue; eliminate busy waiting to reduce
29290 CPU usage (BGO #346381, Ruben Vermeersch)
29292 2006-07-02 Aaron Bockover <aaron@abock.org>
29294 Patch from Dominik Meister to add Jump To Playing support (BGO #339847)
29296 * data/UIManagerLayout.xml: Added JumpToPlayingAction to show in the
29297 track view context menu
29299 * src/PlayerInterface.cs: Implemented JumpToPlayingAction
29301 * src/Banshee.Base/ActionManager.cs: Added JumpToPlayingAction definition
29303 * src/PlaylistView.cs: Implemented SelectPlaying method
29305 2006-07-02 Aaron Bockover <aaron@abock.org>
29307 * src/Banshee.Base/Makefile.am: Added PluginFactory.cs and IPlugin.cs
29309 2006-07-02 Aaron Bockover <aaron@abock.org>
29311 * src/Banshee.Base/ComponentInitializer.cs: Use an Initializing
29312 concept vs an Initialized concept, so when tasks block, the UI doesn't
29313 look like it's 'off by one'
29315 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs: Install
29316 ActionManager actions in overloaded InterfaceInitialize method, not
29317 in PluginInitialize; this is now required since the
29318 Banshee.Base.ActionManager's interface definition is loaded
29319 after PluginInitialize
29321 * src/Banshee.Base/Banshee.Burner/BurnerCore.cs: assign recorder with
29322 newly added media to all burner sources if source does not already
29323 have a set recorder (BGO #345475)
29325 * src/Banshee.Base/Plugins/PluginFactory.cs: Generic class to allow
29326 loading of types (and instantiations) from directories/assemblies;
29327 reduces all the plugin loading redundancy for the three types of
29328 plugins used in Banshee
29330 * src/Banshee.Base/Plugins/IPlugin.cs: Base IPlugin interface to allow
29331 classes to work with PluginFactory
29333 * src/Banshee.Base/Plugins/Plugin.cs: Implement new IPlugin interface
29335 * src/Banshee.Base/Plugins/PluginCore.cs: Use new PluginFactory for
29336 the update 'generic' Plugin type
29338 * src/Banshee.Base/Plugins/PluginDialog.cs: Fix to work with new
29339 generics/PluginFactory support
29341 * src/Banshee.Base/Dap/Dap.cs: DapDevice now implements IPlugin
29343 * src/Banshee.Base/Dap/DapCore.cs: DapCore now uses a PluginFactory
29344 and all collections were updated to use generics
29346 * data/UIManagerLayout.xml: Added a separator in the Music menu
29348 * banshee.mds: Updated MonoDevelop solution
29350 2006-06-22 Aaron Bockover <aaron@abock.org>
29352 * src/Banshee.Plugins/Daap/DaapCore.cs: Ignore services with 'Jono'
29353 in them (Jono has bad taste, apparently)
29355 2006-06-26 Ruben Vermeersch <ruben@Lambda1.be>
29357 * banshee.mdp: Updated MonoDevelop project
29359 2006-06-21 Aaron Bockover <aaron@abock.org>
29361 New preferences dialog (BGO #345516)
29363 * banshee.mdp: Updated MonoDevelop project
29365 * data/banshee.glade: Removed legacy preferences window and added
29366 a simplified new preferences dialog
29368 * src/Preferences.cs: Removed legacy preferences window
29370 * src/PlayerInterface.cs: Invoke the new preferences dialog
29372 * src/Banshee.Base/Makefile.am: Added Gui/PreferencesDialog.cs
29374 * src/Banshee.Base/PipelineProfile.cs: Added a Changed event needed
29375 for instant-apply in the new preferences dialog
29377 * src/Banshee.Base/Gui/PreferencesDialog.cs: New instant-apply and
29378 much simplified preferences dialog implementation
29380 2006-06-21 Aaron Bockover <aaron@abock.org>
29382 * src/PlaylistView.cs: Use theme icons for playback indication
29384 2006-06-21 Aaron Bockover <aaron@abock.org>
29386 * docs/MonodocNodeConfig.cs: return proper error codes to allow make
29387 to report failures (Ruben Vermeersch, BGO #338491)
29389 * src/Banshee.Base/PipelineProfile.cs: Set outputformat=1 for faac
29390 profile (John Eckhart, BGO #341547)
29392 * libbanshee/gst-playback-0.10.c: Properly parse track_str from
29393 CDDA URI (substring length off-by-one, Koike Kazuhiko, BGO #341704)
29395 * src/Banshee.Base/FileNamePattern.cs: Escape file names containing
29396 a colon (:) (James Stembridge, BGO #333813)
29398 * src/PlayerInterface.cs (DoesTrackMatchSearch): Allow for fuzzy
29399 searching (OR/NOT support) and relaxed culture-based string
29400 comparison ('pele' will match 'Pelé'); patch by Marin Krkac, based
29401 on original fuzzy search patch by Travis Bradshaw (BGO #333893, #327671)
29403 * src/Banshee.Base/Utilities.cs (StringUtil): Added RelaxedIndexOf
29404 method for relaxed culture-based string matching (Marin Krkac)
29406 2006-06-21 Aaron Bockover <aaron@abock.org>
29408 Rating patch by P. van de Geer (BGO #336042)
29410 * src/Main.cs: Added --query-rating argument
29412 * src/RemotePlayer.cs: Added GetPlayingRating remote method
29414 2006-06-20 Aaron Bockover <aaron@abock.org>
29416 Committed Patrick van Staveren's MTP support
29418 * configure.ac: Added checks for libgphoto2-sharp and require --enable-mtp
29419 to be explicitly passed to build experimental/unstable MTP support
29421 * src/Banshee.Dap/Makefile.am: Added Mtp to SUBDIRS
29423 * src/Banshee.Dap/Mtp/*: Experimental/unstable MTP DAP support
29425 2006-06-20 Aaron Bockover <aaron@abock.org>
29427 * src/Banshee.Base/BansheeBranding.cs: Removed rogue Console.WriteLine
29429 2006-06-20 Aaron Bockover <aaron@abock.org>
29431 * src/Main.cs: Added call to NotifyStartupComplete call for when
29432 commands are sent to remote instance; enqueue files over DBus
29434 * src/PlayerInterface.cs: Do not add LocalQueueSource to SourceManager
29436 * src/RemotePlayer.cs: Added EnqueueFiles remote method
29438 * src/Banshee.Base/SourceManager.cs: Added ContainsSource method
29440 * src/Banshee.Base/Sources/LocalQueueSource.cs: Support enqueuing
29441 files after instantiation; play first file on enqueue
29443 2006-06-20 Aaron Bockover <aaron@abock.org>
29445 * banshee.mdp: Updated MonoDevelop project
29447 * src/Core.cs: Removed
29449 * src/Main.cs: Initialize stock icons before instantiating UI
29451 * src/Makefile.am: Removed Core.cs
29453 * src/PlayerInterface.cs:
29454 * src/TrackProperties.cs: Do not reference PlayerCore
29456 * src/Banshee.Base/ActionManager.cs: Delay loading UI until after
29457 globals startup initialization
29459 * src/Banshee.Base/Branding.cs: Moved BansheeBranding to new file; only
29460 initialize the default branding once
29462 * src/Banshee.Base/Globals.cs: Run all initialization processes through
29463 the new ComponentInitializer
29465 * src/Banshee.Base/ComponentInitializer.cs: Object to keep track of
29466 component initialization; used for reporting progress of startup
29468 * src/Banshee.Base/BansheeBranding.cs: Added splash screen support
29470 * src/Banshee.Base/Gui/SplashScreen.cs: Default splash screen that shows
29471 load progress, and can be re-used for custom brandings
29473 * data/images/splash.{png,svg}: New upstream/default branded splash
29476 * data/images/Makefile.am: Added splash.png
29478 2006-06-20 Aaron Bockover <aaron@abock.org>
29480 * src/Banshee.Base/Banshee.Burner/BurnerSource.cs: Make default
29481 source name 'New Audio CD' not 'New CD' (BGO #345489)
29483 2006-06-20 Aaron bockover <aaron@abock.org>
29485 * src/Banshee.Base/Banshee.Burner/BurnerSource.cs: In default
29486 constructor, bind the source session to the first available
29487 recorder with blank media if possible (BGO #345475)
29489 2006-06-20 Aaron Bockover <aaron@abock.org>
29491 * src/Banshee.Base/Banshee.Burner/BurnerCore.cs: Add null check
29492 on return from FindSourceForDrive; call source.Unmap on match (BGO #345474)
29494 * src/Banshee.Base/Banshee.Burner/BurnerSource.cs: Implement OnDispose
29495 in place of Uninitialize
29497 2006-06-20 Aaron Bockover <aaron@abock.org>
29499 * src/Banshee.Base/Banshee.Burner/BurnerSource.cs:
29500 * src/Banshee.Plugins/Daap/DaapSource.cs: Implement new virtual method
29501 and properties for unmapping
29503 2006-06-20 Gabriel Burt <gabriel.burt@gmail.com>
29505 * data/UIManagerLayout.xml: Rename the DeletePlaylist action to
29508 * src/PlayerInterface.cs: Use CanUnmap property of Sources to set
29509 visiblity of Unmap option in context menu. Set the label of the rename
29510 and delete items with on the source's SourceType property. Make the
29511 OnRename and OnUnmap handlers source-independent.
29513 * src/Banshee.Base/ActionManager.cs: Add the UnmapSourceAction to the
29514 list of global actions instead of to the PlaylistActions group.
29516 * src/Banshee.Base/Source.cs: Add virtual Unmap method and SourceType,
29517 and CanUnmap, UnmapLabel, and UnmapIcon properties.
29519 * src/Banshee.Base/Sources/DapSource.cs:
29520 * src/Banshee.Base/Sources/PlaylistSource.cs: Implement new virtual
29523 2006-06-20 Aaron Bockover <aaron@abock.org>
29525 * src/DragDrop.cs: Added ObjectToSelectionData and SelectionDataToObjects
29527 * src/PlayerInterface.cs: Let SourceView handle its own drag source/dests
29529 * src/SourceView.cs: Added internal DnD support; sources can be dropped
29530 on to other sources
29532 * src/Banshee.Base/Source.cs: Added SourceDrop virtual method and
29533 IsDragSource property to control source DnD
29535 * src/Banshee.Base/Banshee.Burner/BurnerSource.cs: Implement SourceDrop;
29536 playlists can be dropped on to the CD burning source
29538 * src/Banshee.Base/Sources/PlaylistSource.cs: Implement IsDragSource and
29539 SourceDrop; playlists can be dragged to other sources (including other
29542 2006-06-19 Aaron Bockover <aaron@abock.org>
29544 * src/Banshee.Base/Banshee.Burner/BurnerSource.cs: call default
29545 constructor from IRecorder constructor
29547 2006-06-19 Aaron Bockover <aaron@abock.org>
29549 * src/Banshee.Base/Branding.cs: added Branding support that was
29550 implemented on the stable branch
29553 * src/PlayerInterface.cs:
29554 * src/Banshee.Base/IconThemeUtils.cs: use Banshee.Base.Branding
29556 * src/Banshee.Base/Globals.cs: Initialize Branding class
29558 * src/Banshee.Base/Makefile.am: added Branding.cs
29560 2006-06-19 Aaron Bockover <aaron@abock.org>
29562 * src/PlayerInterface.cs: Use NamingUtil to create a nice name for
29563 burner source when creating from track selection
29565 * src/Banshee.Base/Utilities.cs: Added new NamingUtil static class
29566 with GenerateTrackCollectionName and PostfixDuplicate methods;
29567 GenerateTrackCollectionName is an updated/simplified/fixed version of
29568 PlaylistUtil.GoodUniqueName (BGO #325181)
29570 * src/Banshee.Base/Banshee.Burner/BurnerSource.cs: Do not name source
29571 after the drive name (which is often a bunch of gibberish)
29573 * src/Banshee.Base/Sources/PlaylistSource.cs: Use new NamingUtil
29574 methods in place of old PlaylistUtil.{GoodUniqueName,PostfixDuplicate}
29576 2006-06-16 Aaron Bockover <aaron@abock.org>
29578 * src/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs: Updated
29581 * src/Banshee.Widgets/DiscUsageDisplay.cs: Overlay 'Insert Disc' text
29582 when Capacity <= 0 and reduce disc opacity; removed orange slice
29584 2006-06-16 Aaron Bockover <aaron@abock.org>
29586 * banshee.mdp: Updated MonoDevelop project
29588 * data/banshee.glade: Removed cd burning prefs page
29591 * src/BurnTransaction.cs:
29592 * src/NautilusBurnUtil.cs: Removed legacy cd burning layer
29594 * src/Makefile.am: Removed above files from build
29596 * src/Preferences.cs: Removed cd burning prefs
29598 * src/Banshee.Base/ActionManager.cs: Moved WriteCDAction out of
29601 * src/PlayerInterface.cs: Make WriteCDAction always sensitive if
29602 active source is BurnerSource; if BurnerSource is active, start the
29603 burn for the source, otherwise create a new BurnerSource or use an
29604 empty one and append selection to new source and start it burning;
29605 this allows for 'select and burn' behavior of legacy burning layer
29606 and also gives the opportunity for editing layout before burn as well
29608 * src/Banshee.Base/Banshee.Burner/BurnerConfigurationPane.cs: Removed
29609 Write CD button; using WriteCDAction instead for consistency
29611 * src/Banshee.Base/Banshee.Burner/BurnerCore.cs: Added public
29612 CreateSource and CreateSourceOrFindEmpty methods
29614 * src/Banshee.Base/Banshee.Burner/BurnerSessionRecorder.cs: Fixed
29617 * src/Banshee.Base/Banshee.Burner/BurnerSource.cs: Burn method public
29619 2006-06-16 Aaron Bockover <aaron@abock.org>
29621 * src/Banshee.Widgets/DiscUsageDisplay.cs: New cairo widget to show
29622 disc usage (radial progress bar for the new CD Burning UI)
29624 * src/Banshee.Widgets/Makefile.am: Added DiscUsageDisplay to build
29626 * data/UIManagerLayout.xml: Added 'New CD' action
29628 * data/banshee.glade: Added BurnerOptionsDialog
29630 * src/SourceView.cs: When in edit/rename mode on a source row, cancel
29631 the edit when focus is lost
29633 * src/Banshee.Base/Globals.cs: Initialize new BurnerCore
29635 * src/Banshee.Base/Makefile.am: Added build rules for all the hot
29636 new Banshee.Burner/Banshee.Cdrom* love
29638 * src/Banshee.Base/Banshee.Burner/*: New CD burning UI (source based)
29639 to allow for creation of CDs from multiple sources; will deprecate the
29640 old CD burning method (single-source, selection based)
29642 * src/Banshee.Base/Banshee.Cdrom/*: Interfaces and simple types for
29643 CD-ROM drive and recorder hardware and events
29645 * src/Banshee.Base/Banshee.Cdrom.Gui/*: Widgets for Banshee.Cdrom;
29646 includes DriveComboBox and RecorderSpeedComboBox
29648 * src/Banshee.Base/Banshee.Cdrom.Iso/*: Interfaces for creating
29651 * src/Banshee.Base/Banshee.Cdrom.Iso.Mkisofs/*: mkisofs process/exec
29652 implementation of Banshee.Cdrom.Iso
29654 * src/Banshee.Base/Banshee.Cdrom.Nautilus/*: libnautilus-burn
29655 implementation of Banshee.Cdrom
29657 2006-06-13 Gabriel Burt <gabriel.burt@gmail.com>
29659 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: Remove unneeded checks
29660 that broke .is_audio_player functionality (James Stembridge, BGO #344795)
29662 2006-06-13 Gabriel Burt <gabriel.burt@gmail.com>
29664 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: If usb.vendor doesn't
29665 exist fall back to info.vendor, and translate "Vendor" (James Stembridge,
29666 BGO #344803). Use different HAL property to get a better device name.
29668 2006-06-13 Aaron Bockover <aaron@abock.org>
29670 * src/RemotePlayer.cs: Ensure a null string is not returned (BGO #344774)
29672 2006-06-12 Aaron Bockover <aaron@abock.org>
29674 * src/Banshee.Base/SourceManager.cs: Proxy Updated events of child
29675 sources through SourceManager.Updated (Denis Washington, BGO #343120)
29677 2006-06-12 Aaron Bockover <aaron@abock.org>
29679 * src/SourceView.cs: Added BeginRenameSource to make a source's row
29680 become editable and focused; made UpdateRow internal as it's only used
29681 by the row renderer
29683 * src/PlayerInterface.cs: Use SourceView.BeginRenameSource for renaming
29684 instead of a dialog when the source rename action is invoked
29686 2006-06-12 Gabriel Burt <gabriel.burt@gmail.com>
29688 * src/Banshee.Dap/Ipod/IpodDap.cs:
29689 * src/Banshee.Dap/Njb/NjbDap.cs: Updated to work with changes to Dap.cs,
29690 specifically overriding AddTrack and calling OnTrackAdded.
29692 2006-06-12 James Stembridge <jstembridge@gmail.com>
29694 * src/Banshee.Base/Dap/DapCore.cs: Include all volumes when performing
29695 initial scan for DAP devices, not just those that are children of
29696 devices tagged by hal with portable_audio_player
29698 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: Check for duplicates
29699 when adding a song to the device; if the volume for a new device isn't
29700 yet available from VFS, wait for it; don't initialize Gnome VFS if it's
29701 already been initialized; accept devices with a file .is_audio_player
29704 2006-06-12 Gabriel Burt <gabriel.burt@gmail.com>
29706 * src/Banshee.Base/Makefile.am: add QueuedOperationManager.cs.
29708 * src/Banshee.Base/QueuedOperationManager.cs: New file, allows for generic
29709 asynchronous events like copying files to a USB DAP, etc.
29711 * src/Banshee.Base/Dap/Dap.cs: Make the tracks ArrayList protected and
29712 allow sub-classes to override AddTrack.
29714 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: Fix the bug where the DAP
29715 couldn't be plugged in when Banshee started, handle copying files to the
29716 device asynchronously using a QueuedOperationManager that pops up a
29717 ActiveUserEvent if the transfer is slow. Escape artist/album/title when
29718 creating the destination filename. Catch exceptions in the copy.
29720 * src/Banshee.Widets/ActiveUserEvent.cs: Add an option for having the user
29721 event not register itself (and therefore not show itself) until at least a
29722 second has passed, at which time if the operation is less than 33% done,
29723 it is registered and shown (and otherwise it is not).
29725 2006-06-05 Aaron Bockover <aaron@abock.org>
29727 * configure.ac: Fixed Helix detection; no longer require --disable-helix
29728 to be passed; will be enabled/disabled automatically
29730 2006-06-05 Aaron Bockover <aaron@abock.org>
29732 * src/Banshee.Base/Makefile.am: Removed ENABLE_GST_10 define
29734 * src/Banshee.Base/AudioCdRipper.cs: Removed GStreamer 0.8 code and
29735 dependency on GSTREAMER_0_10; overlooked from previous commit
29737 2006-06-03 Aaron Bockover <aaron@abock.org>
29739 * src/PlayerInterface.cs: start playing a source when it is double
29740 clicked in the source view (Przemysław Grzegorczyk, BGO #326634);
29741 delay updating status bar to only once every 1/5 second (Ruben
29742 Vermeersch, BGO #336001)
29744 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: escape file names
29745 of added tracks properly; do not use volume label from storage
29746 device if it is empty (James Stembridge, BGO #337807, #337808)
29748 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
29749 Use Present() instead of Visible when showing/hiding the main window
29750 by clicking the tray icon (Przemysław Grzegorczyk, BGO #328949)
29752 * src/Banshee.Base/LogCore.cs: LogCore.PushInformation actually
29753 called LogCore.PushWarning (Bertrand Lorentz, BGO #335706)
29755 * src/PlaylistModel.cs: Delay raising the updated event to increase
29756 speed a little (Ruben Vermeersch, BGO #336010)
29758 * src/Banshee.Base/ImportManager.cs: Use a static mutex to do handle
29759 user event locking to prevent a potential race condition (based on
29760 patch by Ed Catmur, BGO #331974)
29762 2006-06-03 Aaron Bockover <aaron@abock.org>
29764 * src/SourceView.cs: Allow drag drops if source AcceptsInput
29766 * src/Banshee.Base/Source.cs: Added AcceptsInput property
29768 2006-06-03 Aaron Bockover <aaron@abock.org>
29770 * libbanshee/: Removed all GStreamer 0.8 backend library code
29772 * configure.ac: Removed GStreamer 0.8 checks and VLC checks; only
29773 GStreamer 0.10 and Helix (helix-dbus-server) are supported engines now
29775 * src/Banshee.Base/GstTranscoder.cs:
29776 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Removed
29777 GStreamer 0.8 support
29779 * src/Banshee.MediaEngine/Gstreamer/Makefile.am: Removed conditional
29780 define for GStreamer 0.10
29782 * src/Banshee.MediaEngine/Vlc/: Removed VLC support
29784 2006-05-29 Aaron Bockover <aaron@abock.org>
29786 * src/BurnCore.cs: Calculate the total duration of the selection and
29787 ensure the media is large enough to hold it; all strings were reused
29788 and it will prompt to insert media before transcoding in order to
29789 check its size (BNC #151332)
29791 2006-05-29 Aaron Bockover <aaron@abock.org>
29793 * libbanshee/gst-cd-rip-0.10.c: Added id3v2mux to list of tag muxers to
29794 search for when encoding to MP3 and no muxer was specified
29796 * src/banshee.in: Set GST_PLUGIN_PATH to $(libdir)/banshee/gstreamer-0.10
29797 to support loading private plugins (gstxing, gstdtdriver on SUSE/SLED)
29800 * banshee.mdp: Updated MonoDevelop project
29802 2006-05-25 Aaron Bockover <aaron@abock.org>
29805 * src/Banshee.Plugins/Makefile.am:
29806 * src/Banshee.Plugins/FileSystemMonitor/*: Removed FSM plugin; it is
29807 unmaintained and very buggy; it will be imported as a standalone plugin
29808 module to Banshee Subversion where someone may choose to continue
29811 2006-05-24 Aaron Bockover <aaron@abock.org>
29813 * src/PlayerInterface.cs (OnRestartSongAction): If pipeline is paused,
29814 play the song from the beginning
29816 2006-05-23 Aaron Bockover <aaron@abock.org>
29818 * src/PlayerInterface.cs: When right clicking on a source, use the
29819 custom source menu if it provides one, otherwise use the default
29821 * src/Banshee.Base/Source.cs: new property, ActionPath that allows
29822 sources to provide a path to a UI merged into Globals.ActionManager
29824 * src/Banshee.Base/Sources/LibrarySource.cs: Implement ActionPath and
29825 provide a UI for setting the sort order on playlists in the view
29827 * src/Banshee.Base/Sources/PlaylistSource.cs: Allow specifying a
29828 PlaylistSortCriteria and a PlaylistSortOrder when loading the playlists
29830 2006-05-22 Aaron Bockover <aaron@abock.org>
29832 * banshee.mdp: Added new files to MonoDevelop project
29834 * src/Banshee.Base/Catalog.cs: Added new Catalog class under Mono.Gettext
29835 namespace (for now) to hopefully (in time) replace Mono.Unix.Catalog;
29836 this new version supports gettext domains (necessary for plugins) and
29837 binds gettext domains to assemblies; current draw-back is that calling
29838 System.Reflection.Assembly.GetCallingAssembly does a stack walk and is
29839 therefore slow (Mono.Gettext.Catalog.GetString is about twice as slow
29840 as Mono.Unix.Catalog.GetString right now)
29842 * src/Banshee.Base/Makefile.am: Added Catalog.cs
29844 2006-05-22 Aaron Bockover <aaron@abock.org>
29846 Child Source patch from Lukas Lipka <lukas@pmad.net>
29848 * src/Makefile.am: Fixed small build bug regarding CLEANFILES (Aaron)
29850 * src/Banshee.Base/Makefile.am: Add ChildSource.cs to build.
29852 * src/Banshee.Base/ChildSource.cs: Child source implementation added.
29854 * src/Banshee.Base/Library.cs: Removed unneeded Hashtable.
29856 * src/Banshee.Base/Source.cs: Add code and events for child source support.
29858 * src/Banshee.Base/SourceManager.cs: Remove ActiveSourceIndex since it wont
29859 work with child sources.
29861 * src/Banshee.Base/Sources/LibrarySource.cs: Moved the loading of playlists
29862 here instead of PlayerInterface.
29864 * src/Banshee.Base/Sources/PlaylistSource.cs: Change this to work as a
29865 ChildSource instead of a Source.
29867 * src/PlayerInterface.cs: Add playlists as child sources. Move the loading
29868 of playlists into LibrarySource.
29870 * src/SourceView.cs: Implement child source support. Rewrite the DND code
29871 to support dragging from child source to child source.
29873 2006-05-22 Aaron Bockover <aaron@abock.org>
29875 Fixes ported up from BANSHEE_0_10_9_SL:
29877 * src/Banshee.Base/PlayerEngineCore.cs (set_Volume): pass on value
29878 to every loaded engine, not just active engine (BNC #176255)
29880 * src/Main.cs: Call dbus_g_thread_init after Gtk.Application.Init();
29881 fixes the CD burning crash seen on SMP machines (BNC #175378)
29883 * src/PlaylistView.cs: Use a custom IComparer to sort columns by desired
29884 order before attaching to view; use AppendColumn on sorted columns instead
29885 of InsertColumn (BNC #120666)
29887 * src/Banshee.Base/Database.cs: Added ViewOrder column to PlaylistEntries
29888 table schema; check to see if ViewOrder exists on an existing
29889 PlaylistEntries table and if not, alter the table accordingly (BNC #168653)
29891 * src/Banshee.Base/Sources/PlaylistSource.cs: No longer sync local
29892 playlist back to database after every minor change; operations are now
29893 directly translated into SQL queries (append, delete, reorder) to bring
29894 great speed improvements when handling large playlists (BNC #168653)
29896 * src/PlayerInterface.cs: Reset vertical scroll adjustment of the
29897 playlist view to the upper bound minus the page size if the value is
29898 greater than that when changing sources (BNC #174406)
29900 2006-05-18 Aaron Bockover <aaron@abock.org>
29902 * src/BansheeImport.cs: a new standalone program that can import music
29903 from the command line and create an initial database
29905 * src/banshee-import.in: wrapper script for banshee-import.exe
29907 * src/Makefile.am: build banshee-import.exe and install
29909 * configure.ac: generate src/banshee-import
29911 2006-05-13 Aaron Bockover <aaron@abock.org>
29913 * banshee.mdp: Updated MonoDevelop project
29915 * libbanshee/gst-tagger.c:
29916 * libbanshee/gst-tagger.h: Merged full GStreamer tag parser
29918 * src/Banshee.Base/GstTagger.cs: Added bindings to the new GstTagger API
29920 * src/Banshee.Base/LibraryTrackInfo.cs: Use GstTagger instead of Entagged
29921 to parse metadata from files
29923 * src/Banshee.Base/StreamTagger.cs: Updated TrackInfoMerge to merge
29924 all applicable tags from a StreamTag into a TrackInfo; added StreamType
29927 * src/Banshee.Base/TrackInfo.cs (set_MimeType): made public
29929 2006-05-10 Aaron Bockover <aaron@abock.org>
29931 * libbanshee/gst-mbtrm.c:
29932 * libbanshee/gst-mbtrm.h: New GStreamer plugin to calculate the TRM ID
29933 of a PCM audio stream; currently a static plugin in libbanshee
29935 * libbanshee/gst-misc-0.10.c: Load the static mbtrm plugin
29937 * libbanshee/gst-cd-rip-0.10.c: Use mbtrm in the pipeline; currently
29938 the have-trm-id signal is used only to print the TRM ID; will be used
29939 in the future to actually fetch metadata if necessary
29941 * libbanshee/Makefile.am: Added gst-mbtrm.[ch]
29943 2006-05-09 Aaron Bockover <aaron@abock.org>
29945 * configure.ac: Switch to gmcs
29948 * src/PlaylistColumns.cs:
29949 * src/PlayerInferface.cs: Removed unused private variables; clean up
29951 * src/QueryBuilder.cs:
29952 * src/QueryBuilderModel.cs: Removed; never has been used in core and is
29953 now in use in the Smart Playlist plugins
29955 * src/Makefile.am: Removed QueryBuilder.cs and QueryBuilderModel.cs
29957 2006-05-08 Aaron Bockover <aaron@abock.org>
29959 * docs/Makefile.am: Prefix doc_DATA with $(DESTDIR) so distcheck works
29961 2006-05-07 Aaron Bockover <aaron@abock.org>
29963 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Added explicit
29964 support for ogg/vorbis to keep the vorbis leak in Helix from happening
29966 * src/Banshee.Widgets/HigMessageDialog.cs: Make 'Return' the default
29967 dialog action key (BNC #172450, Robert Vojta)
29969 * src/Banshee.Base/LibraryTrackInfo.cs: Add Path.DirectorySeparatorChar
29970 to 'StartsWith' check to determine if files should be copied, otherwise
29971 'Music to import' will be treated as 'Music' (BNC #171101 Robert Vojta)
29973 * src/Banshee.Base/FileTrackInfo.cs: properly load files in shallow
29974 directories from command line (BNC #163911, Simon Brys)
29976 2006-05-06 Aaron Bockover <aaron@abock.org>
29978 Patches from Mike Urbanski
29980 * src/PlayerInterface.cs: Added an additional action button box for
29981 toolbar source items; do not steal CTRL+A from search entry (revised)
29983 * src/Banshee.Base/Globals.cs: expose ActionButtonBox
29985 2006-05-05 Aaron Bockover <aaron@abock.org>
29987 * docs/en/*: Updated docs (including contributions from rubenv)
29989 2006-05-04 Aaron Bockover <aaron@abock.org>
29991 * configure.ac: Set version to 0.11.0-cvs to set apart from the
29994 * banshee.pc.in: Added pluginapi variable to define the second
29995 API revision for the 0.11.x series (new API has been introduced since
29996 0.10.x and some plugins may not be backwards compatible)
29998 2006-05-04 Aaron Bockover <aaron@abock.org>
30000 * src/AboutBox.cs: Added missing comma / fix broken build
30002 2006-05-04 Jakub Friedl <jfriedl@suse.cz>
30004 * src/AboutBox.cs: Added Jakub Friedl to Translator Credits (Czech)
30006 2006-05-03 Aaron Bockover <aaron@abock.org>
30008 * src/Banshee.MediaEngine/Vlc/VlcPlayerEngine.cs:
30009 fix build error for VLC engine (BGO #340496)
30011 2006-05-02 Aaron Bockover <aaron@abock.org>
30013 * entagged-sharp/Ogg/OggFileReader.cs: Added application/x-vorbis+ogg
30014 and application/x-vorbis+ogg as a SupportedMimeType (BNC #169616)
30016 2006-05-01 Gabriel Burt <gabriel.burt@gmail.com>
30018 * src/Banshee.Base/LibraryTrackInfo.cs: Call TrackInfo's OnChanged when
30019 saving changes to a Track.
30021 * src/Banshee.Base/TrackInfo.cs: Add event and protected virtual method
30022 OnChanged for when a track is changed.
30024 * src/Banshee.Base/Sources/PlaylistSource.cs: Add Id property, and
30025 public ClearTracks and ContainsTrack methods.
30027 2006-05-01 Gabriel Burt <gabriel.burt@gmail.com>
30029 * src/Banshee.Base/Dap/DapCore.cs: Fix small bugs that caused iPods to
30030 sometimes show up as mass storage devices (BGO #340313).
30032 2006-05-01 Aaron Bockover <aaron@abock.org>
30034 Fix a locking bug that caused crashes (BGO #340306)
30036 * src/Banshee.Base/Source.cs: Added virtual TracksMutex object that
30037 can be used to properly lock the Tracks collection
30039 * src/PlayerInterface.cs:
30040 * src/PlaylistModel.cs: lock SourceManager.ActiveSource.TracksMutex
30041 when performing operations on SourceManager.ActiveSource.Tracks
30043 * src/Banshee.Base/Sources/LibrarySource.cs:
30044 * src/Banshee.Base/Sources/PlaylistSource.cs: implement TracksMutext
30045 by inlining the internal collection SyncRoot mutex and locking when
30048 2006-04-20 Aaron Bockover <aaron@abock.org>
30050 * src/Banshee.MediaEngine/Helix/HelixRemotePlayer.cs: Added GetIsLive
30052 * src/Banshee.MediaEngine/Helix/HelixRemotePlayerEngine.cs: Added
30053 http support to SourceCapabilities, added more RealPlayer-specific
30054 file formats to ExplicitDecoderCapabilities; implemented CanSeek by
30055 calling GetIsLive on the remote player; properly handle buffering
30058 2006-04-17 Aaron Bockover <aaron@abock.org>
30060 * banshee.mdp: Updated MonoDevelop project
30062 * configure.ac: Check for gmcs, will probably start using it soon
30064 * data/banshee.schemas.in: Added schema for IOBackend
30066 * src/Banshee.Base/GConfKeys.cs: Added IOBackend
30068 * src/Banshee.Base/ImportManager.cs: Use Banshee.IO.IOProxy for reading
30071 * src/Banshee.Base/Makefile.am: Added Banshee.IO files
30073 * src/Banshee.Base/IO/IOProxy.cs: Loads IO types and instantiates proper
30074 backend based on IOBackend gconf key; provides File and Directory
30077 * src/Banshee.Base/IO/Interfaces.cs: Provides IIOConfig, IFile, and
30078 IDirectory interfaces for writing new IO backends
30080 * src/Banshee.Base/IO/SystemIO.cs: IO backend implementations based
30081 on the .NET System.IO namespace (exists for Win32 porting... one day,
30082 but of course works fine on Linux too)
30084 * src/Banshee.Base/IO/Unix.cs: IO backend implementations based on
30085 Mono.Unix (preferred backend for Unix/Linux as it's faster and
30086 potentially more accurate than System.IO)
30088 2006-04-17 Aaron Bockover <aaron@abock.org>
30090 * configure.ac: Require njb-sharp 0.3.0+
30092 * src/Banshee.Base/Dap/Dap.cs: Added virtual Activate method (see below);
30093 handle failure case if a track queued for a sync is null for some reason;
30094 if the transcoder handles its own threading and the finished event is
30095 raised from the main thread, spawn a new thread for the synchronize (the
30096 gst 0.10 transcoder does threading internally so we cannot guarantee a
30097 dedicated thread from the transcoder to do syncing in)
30099 * src/Banshee.Base/Sources/DapSource.cs: Added Activate method that
30100 calls Activate on the device; needed for NJB devices which cannot remain
30101 open for the entire session and must be accessed on demand
30103 * src/Banshee.Dap/Njb/Makefile.am: Link against Mono.Posix for
30104 Catalog.GetString support
30106 * src/Banshee.Dap/Njb/NjbDap.cs: Delay device activation (open+capture)
30107 until direct access to device is necessary; close the device when
30108 access is no longer necessary; ping every 5 minutes to keep device from
30109 shutting down, but to allow the handle to be closed most of the time;
30110 show an error dialog and do not crash if there is a problem grabbing a
30111 a handle to the device; wrap all access calls in GrabDevice/ReleaseDevice
30112 to properly reference and perform operations on the device; update the
30113 icon name to the proper icon spec name
30115 2006-04-17 Aaron Bockover <aaron@abock.org>
30117 * entagged-sharp/Mp4/Mp4FileReader.cs: Added audio/mp4, audio/m4a mime
30118 types to SupportedMimeTypes (BGO #338777)
30120 2006-04-14 Aaron Bockover <aaron@abock.org>
30122 * configure.ac: Make description of --enable-gstreamer more informative
30124 2006-04-17 Aaron Bockover <aaron@abock.org>
30126 * src/DragDrop.cs: Check data length before trying to convert to string
30127 and catch any exceptions in the conversion (BGO #333946)
30129 * src/Banshee.Dap/Njb/NjbDapTrackInfo.cs: Use SafeUri
30131 2006-04-14 Aaron Bockover <aaron@abock.org>
30133 * docs/en/index.html: Added title/remarks and copyright information
30135 2006-04-14 Aaron Bockover <aaron@abock.org>
30137 * docs/Makefile.am: Added update-html and upload-html rules
30139 2006-04-14 Aaron Bockover <aaron@abock.org>
30141 * docs/Makefile.am: added update-cvs section with a script to manage
30142 XML removes/adds from/to CVS
30144 * docs/*: Updated monodoc documentation (finally)
30146 2006-04-14 Sebastian Dröge <slomo@ubuntu.com>
30148 * src/MusicBrainz/Client.cs (GetID): Check for null/handle any exception
30150 2006-04-14 Aaron Bockover <aaron@abock.org>
30152 * rc/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
30153 Hide to the tray on CTRL+W (Ruben Vermeersch, BGO #338259)
30155 2006-04-14 Aaron Bockover <aaron@abock.org>
30157 * src/PlayerInterface.cs: Correctly update the statusbar when searching by
30158 calling ClearModel on playlist view (Ruben Vermeersch, BGO #336006)
30160 * src/PlaylistView.cs: Show zeros as empty strings instead of ugly
30161 zeros (Thijs Vermeir, BGO #337962)
30163 * docs/en/Banshee.Base/ActionManager.xml: Updated
30165 2006-04-10 Aaron Bockover <aaron@abock.org>
30167 * src/PlayerInterface.cs: Call model.RemoveTrack instead of model.Remove
30169 * src/PlaylistModel.cs (RemoveTrack): If the removed iter is the playing
30170 iter, set the playing iter to zero (BGO #324768)
30172 2006-04-09 Aaron Bockover <aaron@abock.org>
30174 * src/Banshee.Dap/MassStorage/Makefile.am: Enable installation of the
30175 USB Generic Mass Storage DAP support; do not expect it to work without
30176 the proper HAL FDI updates
30178 2006-04-09 Aaron Bockover <aaron@abock.org>
30180 * configure.ac: Removed --with-gstreamer-0-10 in favor of
30181 --enable-gstreamer=[0.10|0.8], the default check is now for 0.10
30183 2006-04-09 Sebastian Dröge <slomo@ubuntu.com>
30186 * po/LINGUAS: Use a LINGUAS file instead of putting all languages
30187 into configure.ac. http://live.gnome.org/GnomeGoals/PoLinguas
30189 2006-04-09 Aaron Bockover <aaron@abock.org>
30191 * banshee.mdp: Updated MonoDevelop project
30193 * src/Banshee.Base/SafeUri.cs: Replacement URI class for System.Uri that
30194 uses GLib's g_filename_to_uri and g_filename_from_uri functions; should
30195 fixes lots of various URI issues
30197 * src/*: Anything that referenced a System.Uri has been uprooted to
30198 use a Banshee.Base.SafeUri
30200 2006-04-09 Aaron Bockover <aaron@abock.org>
30202 * entagged-sharp/Mpc/Util/MpcInfoReader.cs:
30203 * src/TrackProperties.cs: Fix 0 KB/Sec bitrate bug (#324353)
30205 2006-04-07 Aaron Bockover <aaron@abock.org>
30207 * src/Banshee.Plugins/NotificationAreaIcon/NotificationArea.cs: Do not
30208 crash when the panel crashes
30210 2006-04-06 Aaron Bockover <aaron@abock.org>
30214 * data/banshee.glade: merged fixes from BANSHEE_0_10_9_SL branch
30216 2006-04-05 Aaron Bockover <aaron@abock.org>
30218 * data/banshee.glade: Fixed packing in ErrorListDialog
30220 2006-04-05 Aaron Bockover <aaron@abock.org>
30222 * libbanshee/gst-playback-0.10.c: do not try to unref playbin if it was
30225 * src/PlaylistView.cs: do not show the same file as playing multiple times
30227 * src/Banshee.Base/Utilities.cs: Updated (C) header
30229 2006-04-05 Aaron Bockover <aaron@abock.org>
30231 * libbanshee/gst-misc-0.10.c: disable gstreamer typefinding (again) (sigh)
30233 2006-04-05 Aaron Bockover <aaron@abock.org>
30235 * data/banshee.glade: make horizontal scrolling automatic
30237 * src/BurnCore.cs: do not try to burn files that don't exist and
30238 do not allow burning if not enough disk space
30240 * src/Banshee.Base/BatchTranscoder.cs: Move the instantiation of
30241 ActiveUserEvent to Start()
30243 * src/Banshee.Base/Utilities.cs: Added GetDirectoryAvailableSpace to
30246 2006-04-04 Aaron Bockover <aaron@abock.org>
30248 * banshee.mdp: Updated MonoDevelop project
30250 * data/banshee.glade: Added ErrorListDialog
30252 * libbanshee/gst-transcode-0.10.c: strdup the output URI and and free
30255 * src/BurnCore.cs: show an ErrorListDialog for files that cannot be
30256 transcoded, giving an option to cancel or continue; various fixes for
30257 MP3 and data disk burning
30259 * src/PlayerInterface.cs: fix to respect the disk type for burning
30261 * src/Preferences.cs: use only a single gconf key for disk type
30263 * src/Banshee.Base/BatchTranscoder.cs: do not try to transcode a file
30264 if the file type is the requested transcode type
30266 * src/Banshee.Base/GstTranscoder.cs: Free the input/output URIs
30268 * src/Banshee.Base/Makefile.am: Added ErrorListDialog.cs
30270 * src/Banshee.Base/Gui/ErrorListDialog.cs: ErrorListDialog glade
30271 implementation; shows a HIG error dialog with a list view
30273 2006-04-04 Aaron Bockover <aaron@abock.org>
30275 * src/Banshee.Plugins/Daap/Daap.dll.config.in: map to libnss_mdns-0.2.so
30277 * src/Banshee.Plugins/Daap/daap-sharp/Server.cs: handle exception when
30278 trying to shutdown the service locator
30280 2006-04-03 Aaron Bockover <aaron@abock.org>
30282 * src/PlayerInterface.cs: Remove tooltip from slider (BNC #158403)
30284 * src/Banshee.Base/GstMisc.cs: check for NULL from the string marshaller
30286 2006-04-01 Aaron Bockover <aaron@abock.org>
30288 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Claim explicit
30289 support for ASF and FLAC
30291 2006-03-31 Aaron Bockover <aaron@abock.org>
30293 * configure.ac: Added expanded_bindir
30295 * data/org.gnome.Banshee.service.in: Prefix Exec path with
30296 @expanded_bindir@ to make DBus activation work
30298 2006-03-31 Aaron Bockover <aaron@abock.org>
30300 * src/Banshee.MediaEngine/Helix/HelixRemotePlayer.c: Properly activate
30301 the org.gnome.HelixDbusPlayer service using DBus activation through
30302 org.freedesktop.DBus.StartServiceByName() (Thanks Timo, fixes #161682)
30304 2006-03-31 Aaron Bockover <aaron@abock.org>
30306 * libbanshee/gst-cd-rip-0.10.c: Add a proper ID3 muxer in to the pipeline
30307 if it didn't already exist and one can be found, similar to the
30310 2006-03-30 Aaron Bockover <aaron@abock.org>
30312 * libbanshee/gst-misc-0.10.c: Fix from Sebastian Dröge for gstreamer
30313 typefinding; re-enabled
30315 * libbanshee/gst-playback-0.10.c: Reset pipeline on an error so we can
30318 * src/Banshee.Base/PlayerEngineCore.cs:
30319 * src/Banshee.Base/MediaEngine/PlayerEngine.cs: Support explicit switching
30320 based on supported decoders
30322 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Explicitly
30323 declare WMA support, as it's impossible for Helix to ever do this
30325 * src/Banshee.MediaEngine/Helix/HelixRemotePlayer.cs: if DBus activation
30326 fails, manually run helix-dbus-server and try up to 15 times at
30327 half-second intervals to connect to it before giving up (Option B fix
30330 * src/Banshee.MediaEngine/Helix/HelixRemotePlayerEngine.cs: Ping the
30331 server every five seconds; if Banshee does not shut down properly,
30332 the server will shutdown if not pinged within 10 seconds; Added
30333 explicit decoder support for AAC and MP3
30335 2006-03-30 Hendrik Richter <hendrikr@gnome.org>
30337 * configure.ac: Added German translation.
30339 2006-03-28 Fredrik Hedberg <fredrik@avafan.com>
30341 * data/UIManagerLayout.xml: Added a placeholder for ViewMenu additions.
30343 2006-03-27 Fredrik Hedberg <fredrik@avafan.com>
30345 * src/Banshee.Base/Globals.cs:
30346 * src/PlayerInterface.cs: Expose MainContainer via InterfaceElements.
30348 2006-03-24 Christian Schaller <christian@fluendo.com>
30350 * src/Banshee.MediaEngine/Helix/Makefile.am: small fix to enable
30351 'make dist' even when --disable-helix is passed
30353 2006-03-21 James Willcox <snorp@snorp.net>
30355 * src/Banshee.Base/Sources/DapSource.cs: when creating the 'syncing'
30356 widget, do a ShowAll() on it.
30358 2006-03-21 Aaron Bockover <aaron@abock.org>
30360 * src/PlayerInterface.cs: Prefer the stream length over the metadata
30361 length in all situations, provided the stream length is non-zero
30363 * src/Banshee.Base/PlayerEngineCore.cs: Fixed automatic engine switching
30364 based on source type, handle any exceptions thrown by active engine
30365 and reset the engine
30367 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs:
30368 * src/Banshee.MediaEngine/Helix/HelixRemotePlayerEngine.cs:
30369 * src/Banshee.Base/MediaEngine/PlayerEngine.cs: make SourceCapabilities
30372 * src/Banshee.MediaEngine/Helix/HelixRemotePlayerEngine.cs: Removed
30373 http as a supported source capability as HTTP under Helix is broken
30375 2006-03-20 Aaron Bockover <aaron@abock.org>
30377 * libbanshee/gst-cd-rip-0.10.c: If vorbisenc is chosen as the encoder
30378 for ripping and an oggmux is not in the pipeline profile, attempt to
30379 insert an oggmux element (BGO #335211)
30381 2006-03-20 Aaron Bockover <aaron@abock.org>
30383 * NEWS: Updated with 0.10.9 release notes
30385 * configure.ac: Bumped to 0.10.9
30387 * libbanshee/gst-misc-0.10.c: disabled typefinding with gstreamer 0.10
30388 as it's a little buggy; will fall back on gnome vfs for now
30390 * src/PlayerInterface.cs: Do not switch sources if a source eject fails
30392 * src/Banshee.Base/AudioCd/AudioCdDisk.cs: Do not allow ejecting if
30393 we are ripping the CD
30395 * src/Banshee.Base/Sources/AudioCdSource.cs: Propagate the return of
30398 2006-03-20 Sebastian Dröge <slomo@ubuntu.com>
30400 * src/MusicBrainz/Client.cs: Reverted a small part of Michael
30401 Hutchinson's proxy patch in GetIDFromUrl() to fix a bug in parsing
30402 of Urls which resulted in returning of a invalid result type.
30404 2006-03-20 Aaron Bockover <aaron@abock.org>
30406 * src/PlaylistView.cs: Sensitize/desensitize audio cd rows based on
30409 * src/Banshee.Base/AudioCdRipper.cs: Update newly ripped track with
30410 its ripped URI so it can be played while the rest of the disk is
30413 * src/Banshee.Base/Library.cs: Removed unused function
30415 * src/Banshee.Base/PlayerEngineCore.cs: Do not attempt to play track
30416 if it is explicitly marked as being unable to play; reversed order of
30417 Reset/Close in Close wrapper
30419 * src/Banshee.Base/TrackInfo.cs: Mark CanPlay as virtual
30421 * src/Banshee.Base/TrackInfoHeader.cs (SetIdle): Hide the box
30423 * src/Banshee.Base/AudioCd/AudioCdDisk.cs: Added an IsRipping property
30425 * src/Banshee.Base/AudioCd/AudioCdTrackInfo.cs: Added Disk, IsRipped, and
30428 * src/Banshee.Base/Sources/AudioCdSource.cs: If current playing track
30429 in the engine is from the CD, shut down the engine; set disk.IsRipping
30432 * src/Banshee.Base/Sources/LibrarySource.cs: Removed old cruft
30434 * src/Banshee.MediaEngine/Helix/HelixRemotePlayerEngine.cs: Updated
30435 to reflect minor changes in the Buffering API in PlayerEngine
30437 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
30438 Guard against a potential nullref
30440 2006-03-19 Aaron Bockover <aaron@abock.org>
30442 * entagged-sharp/EncodingInfo.cs: Handle invalid integer durations
30444 * src/PlayerInterface.cs: Moved the audio-CD specific view and ripping
30445 stuff into AudioCdSource; do not treat the LibrarySource as anything
30446 special; it now handles track additions like any good source should
30448 * src/Banshee.Base/Sources/AudioCdSource.cs: Handle ripping directly in
30449 the source; create a custom view to handle the audio CD status bar
30450 and embed the playlist view
30452 * src/Banshee.Base/Sources/LibrarySource.cs: Raise the proper
30453 OnTrackAdded/OnTrackRemoved events
30455 * src/Banshee.Base/AudioCd/AudioCdDisk.cs: Make Tracks property
30458 2006-03-19 Aaron Bockover <aaron@abock.org>
30460 * data/UIManagerLayout.xml: Added RefreshSong
30462 * src/PlayerInterface.cs: When an entry in the main window is focused,
30463 disable the accel group from the main window, when not focused, re-enable
30464 it; handle skipping and song restarting in the ActionManager; playback
30465 seek group is now sensitive based on the engine state
30467 * src/Banshee.Base/ActionManager.cs: Added key bindings to more playback
30468 actions, added RestartSongAction
30470 2006-03-19 Aaron Bockover <aaron@abock.org>
30472 * src/PlayerInterface.cs (ShowPlaylistView): Detach the playlist container
30473 before re-embedding it in the main view, in case the previous source
30476 * src/Banshee.Base/Globals.cs: Added PlaylistContainer and
30477 DetatchPlaylistContainer utilities for sources to use to help
30478 embedding the PlaylistView in a custom view
30480 2006-03-19 Aaron Bockover <aaron@abock.org>
30482 * src/Banshee.Base/Gui/SeekDialog.cs: Implement the glade SeekDialog;
30483 forgot to commit last time
30485 2006-03-19 Aaron Bockover <aaron@abock.org>
30487 * banshee.mdp: Updated MonoDevelop project
30489 * src/PlayerInterface.cs: Handle SeekToAction and show the new seek dialog
30491 * src/Banshee.Base/ActionManager.cs: Implement an action for SeekToAction
30493 * src/Banshee.Base/Makefile.am: Added Gui/SeekDialog.cs
30495 * src/Banshee.Base/Gui/OpenLocationDialog.cs: Fixed typo in header
30497 * src/Banshee.Widgets/StreamPositionLabel.cs: Added FormatString parameter
30499 * data/UIManagerLayout.xml: Added SeekToAction to playback menu
30501 * data/banshee.glade: Added SeekDialog
30503 2006-03-18 Aaron Bockover <aaron@abock.org>
30505 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
30506 Use DisplayArtist, DisplayAlbum, and DisplayTitle for setting the
30507 display data in TrackInfoHeader
30509 2006-03-17 Aaron Bockover <aaron@abock.org>
30511 * libbanshee/gst-playback-0.10.c: Create a custom audio sink that contains
30512 a tee element; plugins can request and connect to new source pads from
30513 the tee to stream audio to elements in their control without breaking
30514 the normal flow of data to the sound card
30516 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Implement
30517 PlayerEngine.GetBaseElements and return an IntPtr array containing the
30518 playbin, audiotee, and audiobin elements plugins can use to extend the
30521 * src/Banshee.Base/MediaEngine/PlayerEngine.cs: Removed SetProperty;
30522 added GetBaseElements that returns an IntPtr array
30524 2006-03-17 Aaron Bockover <aaron@abock.org>
30526 * src/Banshee.Base/AudioCd/AudioCdDisk.cs (Eject): Stop playback if
30527 the playing stream is a track on the disk that is about to be ejected
30529 * libbanshee/gst-playback-0.10.c (gst_playback_open): Reset the pipeline
30530 to READY state if not already there
30532 2006-03-17 Aaron Bockover <aaron@abock.org>
30534 * libbanshee/gst-playback-0.10.c: Perform a manual seek on an audio CD
30535 if the current playing stream is from the same CD; this eliminates the
30536 need to set uri on playbin, so the pipeline does not need to re-link
30537 and the CDDA device does not need to be closed and opened again
30539 2006-03-16 Aaron Bockover <aaron@abock.org>
30541 * configure.ac: Do an explicit -x test for gst-inspect before running
30544 2006-03-16 Aaron Bockover <aaron@abock.org>
30546 * banshee.mdp: Updated MonoDevelop project
30548 * libbanshee/Makefile.am: Added gst-tagger.[ch]
30550 * libbanshee/gst-playback-0.10.c: Support parsing tags from incoming
30551 audio stream and send off to consuming API
30553 * libbanshee/gst-tagger.c:
30554 * libbanshee/gst-tagger.h: Common API for handling tag reading/writing
30555 from GStreamer audio streams
30557 * src/PlayerInterface.cs: Update the metadata header when the
30558 PlayerEngineEvent.TrackInfoUpdated event is raised
30560 * src/TrackProperties.cs:
30561 * src/Banshee.Base/Globals.cs:
30562 * src/Banshee.Base/GstMisc.cs:
30563 * src/Banshee.Base/LibraryTrackInfo.cs:
30564 * src/Banshee.Base/PipelineProfile.cs: Updated to reflect namespace
30565 change for some GStreamer Utility methods
30567 * src/Banshee.Base/GstTagger.cs: Parse GStreamer tags into StreamTag
30570 * src/Banshee.Base/StreamTagger.cs: Common data structure for representing
30571 a single metadata tag; method for merging these into TrackInfo objects;
30572 added class with constant tag names (1:1 GStreamer correlation)
30574 * src/Banshee.Base/MediaEngine/PlayerEngine.cs: Update playing TrackInfo
30575 with tags that are read from the audio stream
30577 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Added bindings
30578 for the stream tag reading support
30580 2006-03-16 Aaron Bockover <aaron@abock.org>
30582 * libbanshee/gst-playback-0.10.c: Parse device node from cdda:// URI
30583 and set it on the cdda source element in notify::source, non-default
30584 CD-ROM drives should work for playback under the 0.10 backend now;
30585 Manually seek on the cdda source element if changing tracks and the
30586 device does not change
30588 * src/PlayerInterface.cs: Display error messages sent from PlayerEngine
30590 * data/banshee.schemas.in: Set default engine to helix-remote
30592 2006-03-16 Aaron Bockover <aaron@abock.org>
30594 * data/banshee.glade: Set the open button to default; make the
30595 dialog not visible by default
30597 2006-03-16 Aaron Bockover <aaron@abock.org>
30599 * src/Banshee.Base/Gui/OpenLocationDialog.cs: Focus the text box when
30600 showing the dialog, open the URI when entry is activated (enter pressed)
30602 2006-03-16 Aaron Bockover <aaron@abock.org>
30604 * data/banshee.glade: Removed combo box from Open Location dialog
30606 * src/Banshee.Base/GConfKeys.cs: Added OpenLocationHistory key
30608 * src/Banshee.Base/Gui/OpenLocationDialog.cs: Implemented history support
30609 and added a browse button that launches a FileChooserDialog (that supports
30612 2006-03-16 Aaron Bockover <aaron@abock.org>
30614 * banshee.mdp: Updated MonoDevelop project
30616 * configure.ac: Remove AM_GST_ELEMENT_CHECK calls and check for
30617 elements against the proper gst-inspect manually; AM_GST_ELEMENT_CHECK
30618 is not versioned and as a result, 0.10 checks were actually made against
30619 the 0.8 version of gst-inspect
30621 * data/banshee.glade: Removed the positon label and seek slider
30623 * libbanshee/gst-playback-0.10.c: Added buffering support and stream
30624 seekability detection
30626 * src/PlayerInterface.cs: Use new SeekSlider and StreamPositionLabel
30627 widgets; updated old stuff to use new stuff; handle the Buffering event
30628 and display the buffering progress in StreamPositionLabel
30630 * src/Banshee.Base/PlayerEngineCore.cs: Added CanSeek proxy property
30632 * src/Banshee.Base/MediaEngine/PlayerEngine.cs: Buffering should be
30633 an event, not a state; reworked signatures to account for this
30635 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Wrap the new
30636 buffering and stream seek detection in the engine implementation
30638 * src/Banshee.Widgets/LinearProgress.cs: Use the shared ColorBlend in
30641 * src/Banshee.Widgets/Makefile.am: Added SeekSlider.cs,
30642 StreamPositionLabel.cs, and DrawingUtilities.cs:
30644 * src/Banshee.Widgets/SeekSlider.cs: Custom Gtk.Scale that is well
30645 adapted to seeking in streams
30647 * src/Banshee.Widgets/StreamPositionLabel.cs: Custom Label that draws
30648 a buffering progress bar under the position label when buffering, and
30649 updates automatically based off SeekSlider events
30651 * src/Banshee.Widgets/DrawingUtilities.cs: Added static class that
30652 contains the ColorBlend method; shared between a few widgets
30654 2006-03-15 Aaron Bockover <aaron@abock.org>
30656 * src/PlayerInterface.cs:
30657 * src/PlaylistView.cs:
30658 * src/Banshee.Base/TrackInfoPopup.cs:
30659 * src/Banshee.Base/Utilities.cs: Show track durations longer than one
30660 hour properly (BGO #333472, Ruben Vermeersch)
30662 2006-03-15 Aaron Bockover <aaron@abock.org>
30664 * src/MusicBrainz/Client.cs: Added proxy server support (Michael Hutchinson)
30666 2006-03-15 Aaron Bockover <aaron@abock.org>
30668 Patches by Sebastian Dröge:
30670 * *Makefile.am: Don't remove Makefile.in and other files generated
30671 by autogen.sh on distclean. Move these files to MAINTAINERCLEANFILES.
30672 This makes banshee buildable after a distclean.
30674 * src/Banshee.Plugins/NotificationAreaIcon/NotificationAreaIconPlugin.cs:
30675 Show the TrackInfoPopup only after 500ms when the mouse cursor is still
30676 over the Notification Area Icon and let it disappear on EndOfStream when
30677 we don't play anything else after 250 ms.
30679 * src/Banshee.Plugins/NotificationAreaIcon/Makefile.am:
30680 * src/Banshee.Plugins/NotificationAreaIcon/banshee-notificationareaicon.schemas.in:
30681 Rename the missed instances of tray icon to notification area icon.
30683 * src/Banshee.Widgets/CoverArtThumbnail.cs: Delay showing the popup
30686 2006-03-14 Aaron Bockover <aaron@abock.org>
30688 * libbanshee/xing: Nuked, gone, good-bye, sorry
30690 * libbanshee/Makefile.am: Killed xing
30692 * configure.ac: Removed xing
30694 2006-03-13 Aaron Bockover <aaron@abock.org>
30696 Version 0.10.8 Released
30698 * NEWS: Updated with 0.10.8 Release Notes
30700 * configure.ac: Bumped to 0.10.8
30702 * src/PlayerInterface.cs: Sensitize the Sync button based on
30703 DapDevice.CanSynchronize
30705 * src/Banshee.Base/TrackInfo.cs: Added TrackNumberTitle property
30707 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: use TrackNumberTitle
30709 2006-03-13 Aaron Bockover <aaron@abock.org>
30711 New NotificationAreaIcon plugin by Sebastian Dröge:
30713 * banshee.mdp: Updated MonoDevelop project
30715 * configure.ac: Added NotificationAreaIcon stuff for new plugin
30717 * data/UIManagerLayout.xml: Removed the tray icon menu
30719 * data/banshee.schemas.in: Removed tray icon schema entries
30721 * src/Makefile.am: Removed NotificationAreaIcon.cs
30723 * src/NotificationAreaIcon.cs: Removed
30725 * src/Banshee.Base/ActionManager.cs:
30726 * src/PlayerInterface.cs: Removed tray-specific code
30728 * src/Banshee.Base/Globals.cs: Added property to get handle to main window
30730 * src/Banshee.Plugins/Makefile.am: Added NotificationAreaIcon to SUBDIRS
30732 * src/Banshee.Widgets/Makefile.am: Removed NotificationAreaIcon.cs
30734 * src/Banshee.Widgets/NotificationAreaIcon.cs: Removed
30736 * src/Banshee.Plugins/NotificationAreaIcon/: Moved all the old tray
30737 icon code into new NotificationAreaIcon plugin
30739 2006-03-13 Aaron Bockover <aaron@abock.org>
30741 * banshee.mdp: Updated MonoDevelop project
30743 * src/banshee.in: Removed HELIX_LIBS; handled by helix-dbus-server
30745 * src/Banshee.MediaEngine/Helix/HelixRemotePlayer.cs: Added process
30746 activation support to automatically run helix-dbus-server if not
30747 found over dbus already
30749 * src/Banshee.Base/PlayerEngineCore.cs: Do not die if a PlayerEngine
30750 could not be instantiated; report an error and continue
30752 Patches by Sebastian Dröge:
30754 * src/Banshee.Plugins/Audioscrobbler/Engine.cs: Ports the audioscrobbler
30755 plugin to the new PlayerEngine API. Seeking is now recognized correctly
30756 and pausing in a big track doesn't submit it twice anymore.
30758 * src/Banshee.Base/Sources/LibrarySource.cs: fix double import
30759 bug for the first track imported in an empty library
30761 2006-03-12 Aaron Bockover <aaron@abock.org>
30763 * configure.ac: Removed Helix/RealPlayer detection; detect
30764 helix-dbus-server if --enable-helix
30766 * data/banshee.glade: Removed the engine description text box
30768 * src/Preferences.cs: Removed engine description
30770 * PlayerEngineCore.cs: Added a log entry to show selected engine
30772 * src/Banshee.MediaEngine/Helix/: Removed C# bindings to Helix/hxclientkit;
30773 helix support has been moved out of process to helix-dbus-server
30775 * src/Banshee.MediaEngine/Helix/HelixRemotePlayer.cs: DBus client object
30776 to the new helix-dbus-server program
30778 * src/Banshee.MediaEngine/Helix/HelixRemotePlayerEngine.cs: PlayerEngine
30779 implementation of HelixRemotePlayer; Helix support is out of process
30781 * src/Banshee.MediaEngine/Vlc/VlcPlayerEngine.cs: New VLC implementation
30782 of PlayerEngine; no more IPlayerEngines!
30784 * src/Banshee.Base/IPlayerEngine.cs: Removed
30786 * src/Banshee.Base/Makefile.am: Removed IPlayerEngine.cs
30788 2006-03-11 James Willcox <snorp@snorp.net>
30790 * src/Banshee.Plugins/Daap/daap-sharp: Updated from Mono svn (again)
30792 2006-03-10 James Willcox <snorp@snorp.net>
30794 * src/Banshee.Plugins/Daap/daap-sharp: Updated from Mono svn
30796 2006-03-10 Aaron Bockover <aaron@abock.org>
30798 * banshee.mdb: Updated MonoDevelop project
30800 * src/Banshee.Base/PlayerEngineCore.cs: first pass at dynamic
30803 * src/Banshee.Base/Dap/Dap.cs: Added CanSynchronize
30805 * src/Banshee.Base/MediaEngine/PlayerEngine.cs: Added SetProperty method
30807 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: Renamed IsSynchronizable
30808 to CanSynchronize; commented out some 'broke the build' stuff until
30811 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Added
30812 SetProperty method to set GObject properties on the underlying playbin
30814 * src/Banshee.MediaEngine/Helix/HelixPlayer.cs: Port of Helix backend
30815 from IPlayerEngine to PlayerEngine
30817 2006-03-10 Gabriel Burt <gabriel.burt@gmail.com>
30819 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: Implemented adding and
30820 deleting tracks, bytes used. Use new HAL keys for where to find/write
30821 music, if they exist.
30823 * src/Banshee.Dap/MassStorage/MassStorageTrackInfo.cs: New file, simple
30824 subclass of FileTrackInfo.
30826 * src/Banshee.Dap/MassStorage/Makefile.am: add MassStorageTrackInfo.cs.
30828 2006-03-09 Aaron Bockover <aaron@abock.org>
30830 * src/Banshee.Base/PlayerEngine.cs: Replacement for IPlayerEngine; base
30831 class that offers common functionality between all engines; new
30832 event/message system that is more verbose than old system... allows for
30833 metadata extraction from streams and buffering
30835 * src/Banshee.Base/PlayerEngineCore.cs: Proxy and wrapper for PlayerEngine
30836 that handles all loading of PlayerEngine types and switching out of
30839 * src/Banshee.Base/PlayerEngineLoader.cs: Removed, deprecated, etc...
30840 PlayerEngineCore now loads and instantiates engines from assemblies
30842 * src/PlayerInterface.cs: User interface is completely passive regarding
30843 interaction with PlayerEngineCore; UI updates only after getting events
30844 and messages from PlayerEngineCore; plugins now have the exact same
30845 functionality regarding playback that the UI has traditionally had
30847 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Reworked to
30848 implement new PlayerEngine base class; implementation is now much
30849 simpler (for 0.10 and 0.8 engines)
30851 * src/Banshee.Base/UnknownTrackInfo.cs: A placeholder TrackInfo class
30852 that is used to create a container for loading plain URIs; eventually
30853 metadata will be filled in if it's found in the stream itself
30855 * src/Banshee.Base/Gui/OpenLocationDialog.cs: Glade Dialog implementation
30856 for open URI functionality
30858 * src/Banshee.Base/Makefile.am: Added UnknownTrackInfo.cs,
30859 Gui/OpenLocationDialog.cs and MediaEngine/PlayerEngine.cs
30861 * src/Banshee.Base/ActionManager.cs: Added OpenLocationAction
30863 * src/NotificationAreaIcon.cs:
30864 * src/PlaylistModel.cs:
30865 * src/PlaylistView.cs:
30866 * src/RemotePlayer.cs:
30867 * src/Preferences.cs:
30868 * src/Banshee.Plugins/Audioscrobbler/Engine.cs:
30869 * src/TrackProperties.cs: Updated to reflect changes in PlayerEngineCore
30871 2006-03-08 Aaron Bockover <aaron@abock.org>
30873 * configure.ac: Added a GStreamer element check for gconfaudiosink and
30874 removed the DEVELOPMENTAL verbage from the --with-gstreamer-0-10
30877 2006-03-07 Aaron Bockover <aaron@abock.org>
30879 * src/Banshee.Plugins/Daap/DaapProxyWebServer.cs: reworked how reading
30880 was done so we do not depend on a stream length; only send the
30881 Content-Length header if we actually have a length (BGO #329812) Thanks
30882 to Sebastian Dröge for helping out on this one
30884 2006-03-07 Aaron Bockover <aaron@abock.org>
30886 * src/Banshee.Plugins/Daap/Daap.dll.config: Updated to new map made
30887 in Mono.Zeroconf/Native.cs
30889 * src/Banshee.Plugins/Daap/daap-sharp/Mono.Zerocon/*: Updated sources
30890 from daap-sharp/Mono.Zeroconf; (run an A query in DNSServiceQueryRecord
30891 to resolve addresses instead of using gethostbyname)
30893 2006-03-07 Christopher Aillon <caillon@redhat.com>
30895 * configure.ac: Look for required DLLs in ${prefix}/lib/mono
30896 instead of ${libdir}/mono
30898 2006-03-07 Aaron Bockover <aaron@abock.org>
30900 * src/Banshee.Base/ImportManager.cs: Work around socket/directory bug
30901 in Mono: http://bugzilla.novell.com/show_bug.cgi?id=319774
30904 2006-03-07 Aaron Bockover <aaron@abock.org>
30906 * banshee.mdp: Updated MonoDevelop project
30908 * data/banshee.glade: Added SourceViewContainer wrapper VBox
30910 * src/PlayerInterface.cs: Set up and initialize the new UIManager
30912 * src/Banshee.Base/Globals.cs: Instantiate and hold a reference to
30915 * src/Banshee.Base/Gui/UIManager.cs: Simple new UIManager that acts
30916 as a proxy to main interface widgets and can notify when the main
30917 interface has been initialized and is ready to use
30919 * src/Banshee.Base/Makefile.am: Added Gui/UIManager.cs
30921 * src/Banshee.Base/Plugins/Plugin.cs: Added a new virtual method,
30922 InterfaceInitialize that will be called when Globals.UIManager has
30923 been set up and initialized by the main interface; plugins that wish
30924 to manipulate the main UI should override this method and place
30925 all UI calls in here; removal/disposal of widgets should be done only
30926 after a saftey check to Globals.UIManager.IsInitialized
30928 2006-03-05 Aaron Bockover <aaron@abock.org>
30930 * libbanshee/gst-playback-0.10.c: Store the default audio
30931 sink (gconfaudiosink) in the GstPlayback struct; added a new function
30932 gst_playback_playbin_set_property to allow setting properties on the
30933 underlying playbin element; allow resetting of the audio-sink property
30934 to the default if value is NULL
30936 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Added
30937 binding for gst_playback_playbin_set_property
30939 2006-03-05 Aaron Bockover <aaron@abock.org>
30941 DAAP Port Binding Patch by Sebastian Dröge
30943 * src/Banshee.Plugins/Daap/DaapCore.cs: Try to start DAAP server on
30944 default port, then fall back on any available port
30946 * src/Banshee.Plugins/Daap/DaapProxyWebServer.cs: Try to start proxy
30947 server on default port, then fall back on any available port; removed
30948 BoundPort/RequestedPort properties, replaced by a get-only Port property
30950 2006-03-05 Aaron Bockover <aaron@abock.org>
30952 * configure.ac: Version 0.10.7
30954 * NEWS: Updated with 0.10.7 release notes
30956 * src/Banshee.Dap/MassStorage/Makefile.am: Allow building but do
30957 not install this DAP
30959 * src/Banshee.Dap/Makefile.am: Added MassStorage to SUBDIRS
30961 2006-03-05 Jeff Tickle <jeff@jefftickle.com>
30963 * src/ToggleState.cs: Added support for matching a state to a
30964 ToggleAction.Active instead of just a ToggleAction through the use of
30965 ToggleState.MatchValue. If ToggleState.MatchActive is false, this is
30968 * src/PlayerInterface.cs: Changed the "Shuffle" button from a ToggleButton
30969 to a MultiStateToggleButton
30971 * src/Banshee.Widgets/MultiStateToggleButton.cs: Added support for
30972 the ToggleAction.Active matching in ToggleState.
30974 * src/Banshee.Widgets/ToggleStates.cs: The Shuffle ToggleStates
30975 now make use of the new features noted above.
30977 2006-03-05 Aaron Bockover <aaron@abock.org>
30979 * src/AboutBox.cs: Added Christopher Orr (British English)
30981 * src/Banshee.Plugins/Daap/daap-sharp/*: Updated daap-sharp sources
30983 2006-03-05 Christopher Orr <chris@orr.me.uk>
30985 * configure.ac: Added en_GB to ALL_LINGUAS.
30987 2006-03-04 Aaron Bockover <aaron@abock.org>
30989 * src/Banshee.Plugins/Audioscrobbler/Queue.cs: Patch from Ruben to fix
30992 2006-03-04 Aaron Bockover <aaron@abock.org>
30994 * data/banshee.glade: Window title changed to 'Banshee Music Player'
30996 * src/PlayerInterface.cs: Handle PlaylistView.Stopped event to
30997 hide the metadata header and close the track on the player engine; reset
30998 interface to idle state
31000 * src/PlaylistModel.cs: Added a Stopped event to raise when the end
31001 of the model is reached and no track is to be played
31002 by automatic transition
31004 * src/PlaylistView.cs: Do not show the play indicator if stopped; fixes
31005 small bug slomo noticed due to changes/optimizations from Oscar;
31007 2006-03-04 Aaron Bockover <aaron@abock.org>
31009 * src/Banshee.Base/LibraryTrackInfo.cs: Rewrote some queries without the
31010 use of the SQL Query Builder APIs; in GetID, use System.Uri.AbsoluteUri
31011 instead of System.Uri.ToString(), (BGO #330580)
31013 * src/Banshee.Base/AudioCd/AudioCdCore.cs: Only check for
31014 volume.disc.has_audio for media in a cdrom drive (BGO #329966)
31016 2006-03-03 Aaron Bockover <aaron@abock.org>
31018 * src/Banshee.Base/ImportManager.cs: FIFO patch to not try and import
31019 named pipes (Debian Bugzilla #354914) (Sebastian Dröge)
31021 * src/Banshee.Base/Sources/AudioCdSource.cs (Import): Call OnUpdated()
31022 to ensure UI redraws properly
31024 * src/AboutBox.cs: Added Sebastian
31026 * src/Banshee.Dap/Ipod/ipod-sharp.dll.config.in:
31027 * src/Banshee.Dap/Njb/njb-sharp.dll.config.in:
31028 * src/MusicBrainz/MusicBrainz.dll.config.in: Map to slightly less
31029 precise SOs (Sebastian Dröge)
31031 2006-03-03 Aaron Bockover <aaron@abock.org>
31033 * data/UIManagerLayout.xml: Removed the ImportCDAction; replaced with
31034 ImportSourceAction; added ImportSourceAction to the source context menu
31036 * data/banshee.glade: Minor UI naming changes in the Import Dialog
31038 * src/PlayerInterface.cs: Contextually show new ImportSourceAction when
31039 a IImportSource is active; implemented OnImportSourceAction to call
31040 IImportSource.Import on an active IImportSource
31042 * src/Banshee.Base/ActionManager.cs: Implemented an action for
31045 * src/Banshee.Base/Gui/ImportDialog.cs: Use dynamic typechecking for
31046 IImportSource instead of handling a possible exception; only show
31047 the 'your library is empty' label if the library is actually empty
31049 * src/Banshee.Base/Sources/AudioCdSource.cs: Activate the import CD
31050 action on Import() to actually import the CD when the import is
31051 requested by the user
31053 2006-03-03 Aaron Bockover <aaron@abock.org>
31055 * banshee.mdp: Updated MonoDevelop project
31057 * data/UIManagerLayout.xml: Commented out import folder/files and
31058 added a import music menu item that launches the import dialog
31060 * data/banshee.glade: Added a new import dialog that allows selecting
31061 from a list of import sources
31063 * data/banshee.schemas.in: Added a ShowInitialImportDialog key
31065 * src/AboutBox.cs: Added Gabriel Burt
31067 * src/PlayerInterface.cs: Moved all the import methods into
31068 new classes that implement IImportSource; show the generic import
31069 dialog on initial startup; removed obsolete importing code
31071 * src/Banshee.Base/ActionManager.cs: Implemented an action for ImportMusic
31073 * src/Banshee.Base/GConfKeys.cs: Added ShowInitialImportDialog key
31075 * src/Banshee.Base/Makefile.am: Added new Import-related files
31077 * src/Banshee.Base/Sources/AudioCdSource.cs: Call the OnUpdated method
31078 to propagate name changes; fix to implement IImportSource
31080 * src/Banshee.Base/Gui/GladeDialog.cs: Abstract base class for
31081 implementing Glade dialogs
31083 * src/Banshee.Base/Gui/ImportDialog.cs: New import dialog that allows
31084 choosing from a list of sources from which to import; shows active
31085 sources that implement IImportSource as well as registered IImportSources
31086 in the ImportSources class; this makes it possible for plugins to
31087 register IImportSources (i.e. an 'Import from beagle' or 'Import over
31090 * src/Banshee.Base/IImportSource.cs: Very simple interface to define
31091 classes that can import from some data source to the Banshee library
31093 * src/Banshee.Base/HomeDirectoryImportSource.cs: An IImportSource that
31094 loads all music from the user's home directory
31096 * src/Banshee.Base/FolderImportSource: An IImportSource that shows a
31097 folder selection dialog and imports recursively from that folder
31099 * src/Banshee.Base/FileImportSource.cs: An IImportSource that shows a
31100 file selection dialog and imports over the file selection
31102 * src/Banshee.Base/ImportSources.cs: Simple static class to act as an
31103 IImportSource registry that ImportDialog can use to show a list of
31106 2006-03-03 Gabriel Burt <gabriel.burt@gmail.com>
31108 * src/Banshee.Base/ImportManager.cs: Make constructor public so DAPs
31109 can create a new importer just for them.
31111 * src/Banshee.Base/Dap/DapCore.cs: Check for null object and check
31112 Dap types for not IsAbstract.
31114 * src/Banshee.Dap/MassStorage/Makefile.am: New file.
31116 * src/Banshee.Dap/MassStorage/MassStorageDap.cs: New file for generic
31117 USB mass storage device DAP support. Not connected to build system,
31118 so not run except by developers. In CVS to further development.
31120 2006-03-02 Aaron Bockover <aaron@abock.org>
31122 * src/Banshee.Plugins/Daap/DaapCore.cs: More properly account for
31123 collisions/key duplications (BGO #332840) (Sebastian Dröge)
31125 2006-03-01 Aaron Bockover <aaron@abock.org>
31127 * configure.ac: Removed the 'GStreamer 0.10 may be incomplete' warning
31129 * libbanshee/gst-cd-rip-0.10.c: Using CLOCK_TIME_NONE may block;
31130 __tim recommends using 0 instead
31132 * src/Banshee.Base/AudioCdRipper.cs: #ifdef around some more stuff
31133 to avoid warnings when building for 0.10
31135 2006-03-01 Aaron Bockover <aaron@abock.org>
31137 * libbanshee/gst-cd-rip-0.10.c: Implemented the 0.10 CD ripping backend
31139 * src/Banshee.Base/AudioCdRipper.cs: Support both the 0.8 and 0.10
31140 backends and better error reporting with 0.10
31142 2006-02-28 Aaron Bockover <aaron@abock.org>
31144 * src/PlaylistModel.cs:
31145 * src/PlaylistView.cs: Remove the need for SyncPlayingIter; big
31146 performance increase (Oscar Forero)
31148 2006-02-28 Aaron Bockover <aaron@abock.org>
31150 * src/banshee.in: Set MONO_EXTERNAL_ENCODINGS=UTF8:Latin1
31152 2006-02-27 Aaron Bockover <aaron@abock.org>
31154 Commit based on Oscar Forero's <oforero@novell.com> Genre support patch
31156 * data/banshee.glade: Add input/dropdown for editing genre field
31158 * src/AboutBox.cs: Added Oscar
31160 * src/PlayerInterface.cs: Allow filtering by genre in search
31162 * src/PlaylistView.cs:
31163 * src/PlaylistColumns.cs: Added genre column support
31165 * src/TrackProperties.cs: Connect and fill the genre dropdown
31167 * src/Banshee.Base/Library.cs (GetGenreList): Return a list of genres
31168 that exist in the database
31170 * src/Banshee.Base/LibraryTrackInfo.cs: If genre is unkown, then unset it
31172 2006-02-27 Aaron Bockover <aaron@abock.org>
31174 * data/banshee.schemas.in: Added schemas for default column visibility
31175 settings; fixes BNC #153153
31177 2006-02-24 Aaron Bockover <aaron@abock.org>
31179 * banshee.mdp: Updated MonoDevelop project
31181 * configure.ac: Automatically detect mDNSResponder; Added an explicit
31182 --enable-avahi option to override mDNSResponder detection in case a
31183 system has both Zeroconf services (which is not recommended);
31184 --enable-mdnsd can be used to force enable mDNSResponder as well
31186 * libbanshee/gst-cd-rip-0.10.c:
31187 * libbanshee/gst-cd-rip-0.8.c:
31188 * libbanshee/gst-cd-rip.h:
31189 * libbanshee/gst-playback-0.10.c: Renamed API from cd_rip_*/CdRip*
31190 to gst_cd_ripper_*/GstCdRipper*
31192 * src/RipTransaction.cs:
31193 * src/Makefile.am: Moved RipTranscation.cs to
31194 Banshee.Base/AudioCdRipper.cs
31196 * src/PlayerInterface.cs: Updated to reflect API renaming of
31197 RipTransaction->AudioCdRipper
31199 * src/Banshee.Base/AudioCdRipper.cs: Moved pieces around so threading
31200 is handled inside the track ripper instead of the batch wrapper to
31201 prepare managed layer for GStreamer 0.10, which handles threading
31202 magically; update P/Invoke calls to new gst_cd_ripper_* API
31204 * src/Banshee.Base/Makefile.am: Added AudioCdRipper.cs
31206 2006-02-23 Aaron Bockover <aaron@abock.org>
31208 * libbanshee/gst-playback-0.10.c: fix minor duration calculation bug;
31209 fixes audioscrobbler reporting and last-played update (slomo)
31211 2006-02-23 Aaron Bockover <aaron@abock.org>
31213 * libbanshee/gst-transcode-0.10.c: Fixed progress reporting by
31214 doing a duration query on the pipeline bin and a position query
31215 directly on audioconvert element
31217 2006-02-23 Aaron Bockover <aaron@abock.org>
31219 * libbanshee/gst-playback-0.10.c: Use the audio sink specified
31220 in gconf (Zaheer Abbas Merali, BGO #332350)
31222 2006-02-23 Aaron Bockover <aaron@abock.org>
31224 * configure.ac: If GStreamer 0.10 is enabled, require 0.10.3 (for
31225 gst_parse_bin_from_description)
31227 * libbanshee/gst-transcode-0.10.c: Transcoding now works; use
31228 ghost padding with new-decoded-pad from decodebin, and
31229 gst_parse_bin_from_description to create a bubble-wrapped encoder
31230 pipeline from a user-string description; progress reporting is still
31233 2006-02-22 Aaron Bockover <aaron@abock.org>
31235 * banshee.mdp: Updated MonoDevelop project
31237 * configure.ac: Updated required GStreamer 0.10 version
31239 * libbanshee/gst-misc-0.10.c: Implement pipeline testing for 0.10
31241 * libbanshee/gst-transcode-0.10.c: Implement a new transcoder for
31244 * libbanshee/gst-transcode.h: Updated for the 0.8 transcoder
31246 * src/BurnCore.cs: Updated to reflect changes in top-level batch
31249 * src/Banshee.Base/FileEncodeAction.cs:
31250 * src/Banshee.Base/BatchTranscoder.cs: Renamed to BatchTranscoder and
31251 updated to reflect changes in base Transcoder class; transcoder
31252 implementations handle threading instead of the BatchTranscoder to
31253 work best with the new GStreamer 0.10 threading model
31255 * src/Banshee.Base/Makefile.am: Reflect rename from FileEncodeAction.cs
31256 to BatchTranscoder.cs
31258 * src/Banshee.Base/GstTranscoder.cs: Implement managed layer for
31259 the 0.10 transcoder backend
31261 * src/Banshee.Base/Transcoder.cs: Updated API; Transcoder should handle
31262 threading; API is Async and event-based now
31264 * src/Banshee.Base/Dap/Dap.cs: Updated to reflect changes in
31265 BatchTranscoder API
31267 2006-02-20 Aaron Bockover <aaron@abock.org>
31269 * banshee.mdp: Updated Banshee MonoDevelop project
31271 * src/Banshee.Plugins/Daap/DaapProxyWebServer.cs: Use the local address
31272 and not the bound address for passing URIs to clients; use
31273 DAAP.Database.GetHashCode instead of DAAP.Database.ID, which is not
31274 unique; send a Content-Disposition header with the song file name if
31277 * src/Banshee.Plugins/Daap/DaapTrackInfo.cs: Use DAAP.Database.GetHashCode
31280 * src/Banshee.Plugins/Daap/daap-sharp/*: Updated daap-sharp sources
31282 * libbanshee/gst-transcode-0.8.c:
31283 * libbanshee/gst-transcode.h: Renamed gst_file_encoder/GstFileEncoder to
31284 gst_transcoder/GstTranscoder
31286 * src/AboutBox.cs: Added Alessandro Gervaso (Italian) and
31287 Ilkka Tuohela (Finnish) to translator credits
31289 * src/Banshee.Base/FileEncoder.cs:
31290 * src/Banshee.Base/GstFileEncoder.cs: Renamed to Transcoder/GstTranscoder
31292 * src/Banshee.Base/FileEncodeAction.cs: Updated to reflect rename changes
31294 * src/Banshee.Base/Makefile.am: Updated to reflect renamed files
31296 2006-02-20 Ilkka Tuohela <hile@iki.fi>
31298 * configure.ac: Added "fi" to ALL_LINGUAS
31300 2006-02-19 Aaron Bockover <aaron@abock.org>
31302 * configure.ac: Support using either Avahi or the bundled mDNSResponder
31303 support for the DAAP plugin. Avahi is used by default - if the system
31304 has Apple's mDNSResponder, pass --enable-mdnsd to configure
31306 * src/Banshee.Plugins/Daap/Daap.dll.config.in: Added mdns map to
31309 * src/Banshee.Plugins/Daap/Makefile.am: Pass DAAPSHARP_FLAGS to
31310 mcs and build the Mono.Zeroconf sources into the plugin assembly
31312 * src/Banshee.Plugins/Daap/daap-sharp/*.cs: Updated to latest
31313 daap-sharp, which has support for mDNSResponder
31315 * src/Banshee.Plugins/Daap/daap-sharp/Mono.Zeroconf/*: Bundled
31316 mDNSResponder C# bindings (Mono.Zeroconf)
31318 2006-02-19 Aaron Bockover <aaron@abock.org>
31320 * entagged-sharp/Mpc/MpcFileReader.cs: Added application/x-apetag
31322 2006-02-18 James Willcox <snorp@snorp.net>
31324 * src/Banshee.Base/SourceManager.cs: emit the
31325 ActiveChanged event in the main thread.
31326 * src/Banshee.Widgets/CoverArtThumbnail.cs: fix the nasty
31327 flashing problem that occurred when the popup appears
31328 above the thumbnail.
31329 * src/SourceView.cs: don't allow a source to be added
31332 2006-02-15 Alessio Frusciante <algol@firenze.linux.it>
31334 * configure.ac: Added "it" (Italian) to ALL_LINGUAS.
31336 2006-02-14 Chris Toshok <toshok@ximian.com>
31338 * src/Banshee.Base/NetworkDetect.cs: rename "last_state" to
31339 "current_state", and make get_Connected just consult that field,
31340 instead of using nm_manager.State (which requires a dbus rpc).
31341 Fixes gc/dbus related hang.
31343 2006-02-13 James Willcox <snorp@snorp.net>
31345 * nuke all the (incorrect) emacs mode lines
31347 2006-02-13 James Willcox <snorp@snorp.net>
31349 * src/Banshee.Plugins/MetadataSearch/MetadataSearchPlugin.cs:
31350 Add a IsScanning property. When in album cover only mode, don't
31351 try to lookup the same album more than once.
31352 * src/Banshee.Plugins/MetadataSearch/MetadataSearchConfDialog.cs:
31353 Add a 'Rescan Library' button.
31355 2006-02-13 Aaron Bockover <aaron@abock.org>
31357 * src/BansheeDbusClient.cs: Fixed interface name
31359 2006-02-13 Aaron Bockover <aaron@abock.org>
31361 Banshee 0.10.6 Released
31363 * NEWS: Updated with 0.10.6 release notes
31365 * src/PlayerInterface.cs: Do not show 'Consider Importing...' notices
31366 in status bar: it's unnecessary and a little brusque
31368 2006-02-13 Aaron Bockover <aaron@abock.org>
31370 * configure.ac: Version 0.10.6
31372 * src/Banshee.Base/Utilities.cs (SetProcessName): Use IntPtr instead
31373 of ulong to avoid potential 64 bit issues
31375 * src/RemotePlayer.cs: Fix a potential dbus-sharp crash (BGO #330903)
31377 * src/Banshee.Widgets/VolumeButton.cs: Adjust volume fix (BGO #330524)
31379 * src/Banshee.Dap/Ipod/DatabaseRebuilder.cs: Handle the exceptions
31380 SongDatabase.Save may throw, display error to user
31382 2006-02-12 Aaron Bockover <aaron@abock.org>
31384 * banshee.mdp: Updated MonoDevelop project
31386 * configure.ac: Require ipod-sharp 0.5.15
31388 * src/PlayerInterface.cs: Sensitize the search widget based on
31389 Source.SearchEnabled; do this on source changes and updates
31391 * src/Banshee.Base/Source.cs: Added a virtual SearchEnabled property
31393 * src/Banshee.Base/Dap/Dap.cs: Initialize using new Initialize
31394 override method instead of constructor; support an error-type enum
31395 for detection flow instead of using exceptions - nice speed up
31397 * src/Banshee.Base/Dap/DapCore.cs: Only try to load DAP devices from
31398 HAL that support the portable_audio_player value for info.category; note
31399 this will affect NJB devices for now as there are no FDI entries
31400 upstream; a patch will be available soon; this is a major speed up
31402 * src/Banshee.Base/Dap/DapMisc.cs: Get rid of the DAP exceptions used
31403 for detection flow... bad style and inefficient/slow; using an enum
31405 * src/Banshee.Base/Sources/AudioCdSource.cs: Override SearchEnabled
31407 * src/Banshee.Base/Sources/DapSource.cs: Support propagating a custom
31408 view from the DAP; support DAP reactivation
31410 * src/Banshee.Dap/Ipod/IpodDap.cs: Support new detection/initialization
31411 model from base; show a nice error resolution view if iPod has a
31412 database that cannot be read
31414 * src/Banshee.Dap/Ipod/UnsupportedDatabaseView.cs: A custom view to
31415 detail why an iPod may not be supported; offers the ability to
31416 rebuild the database
31418 * src/Banshee.Dap/Ipod/DatabaseRebuilder.cs: Class to scan an iPod
31419 for music in iPod_Control/Music/F*/* and rebuild a supported database
31421 * src/Banshee.Dap/Ipod/Makefile.am: Added DatabaseRebuilder.cs and
31422 UnsupportedDatabaseView.cs; link against entagged-sharp.dll
31424 * src/Banshee.Dap/Njb/NjbDap.cs: Updated to reflect detection/init
31427 * src/Banshee.Widgets/MessagePane.cs: A custom widget to show
31428 a header/icon and bullets of text/widgets; derived from beagle-search
31430 * src/Banshee.Widgets/LinkLabel.cs: Custom Label widget that allows
31431 for click/keypress activation; draws a blue link and shows a focus rect
31433 * src/Banshee.Widgets/Makefile.am: Added MessagePane.cs and LinkLabel.cs
31435 2006-02-08 Aaron Bockover <aaron@aaronbock.net>
31437 * src/LogCoreViewer.cs: Do null-detection on the raw objects returned
31438 from the model before casting and comparing; fixes a potential crasher
31440 * src/PlayerInterface.cs: Update the playlist view after a search is done
31442 * src/PlaylistModel.cs: Sync the playing iter off TrackInfo.Equals
31443 instead of a UID, which is TrackInfo subclass-specific; this allows
31444 for spreading the current song across multiple sources (say you start
31445 playing a song in the library that is also on an iPod... switching from
31446 the library to the iPod results in the version on the iPod to be
31447 indicated as currently playing)
31449 Fixed a GTK tree iter warning when trying to get a path for a null iter
31451 * src/PlaylistView.cs (UpdateView): Call model.SyncPlayingIter()
31453 * src/Banshee.Base/TrackInfo.cs: Added Equal and GetHashCode overrides;
31454 value-equality is based on Artist, Album, and Track strings matching
31456 2006-02-08 Aaron Bockover <aaron@aaronbock.net>
31458 * src/Banshee.Base/TrackInfo.cs:
31459 Use {[Cc]over,[Ff]older}.{jpg,png,jpeg,gif} as cover art if one exists
31460 in the song's directory
31462 * src/PlayerInterface.cs: Show song title and artist in window title
31464 2006-02-07 Aaron Bockover <aaron@aaronbock.net>
31466 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs
31467 (StartEngine): Only instantiate the engine if it is null
31469 2006-02-07 Aaron Bockover <aaron@aaronbock.net>
31471 * src/Banshee.Widgets/NotificationAreaIcon.cs: Updated with fixes
31472 for AMD64 by Dan Winship (from Beagle, #327944); class renamed from
31473 NotificationAreaIcon to NotificationArea
31475 * src/Banshee.Widgets/NotificationAreaIcon.cs: Reflect change from
31476 NotificationAreaIcon to NotificationArea
31478 * src/PlayerInterface.cs:
31479 * src/PlaylistColumns.cs:
31480 * src/PlaylistView.cs: Patch from Ruben Vermeersch to fix column
31481 visibility bug (#326947)
31483 * src/AboutBox.cs: Added Theppitak Karoonboonyana to translator credits
31485 2006-02-07 James Willcox <snorp@snorp.net>
31487 * src/Banshee.Plugins/Daap/DaapCore.cs: avoid a null ref exception
31488 in the ServerName property when there is no server.
31490 2006-02-07 Theppitak Karoonboonyanan <thep@linux.thai.net>
31492 * configure.ac: Added 'th' (Thai) to ALL_LINGUAS.
31494 2006-02-06 Aaron Bockover <aaron@aaronbock.net>
31496 * src/Banshee.Base/Utilities (Utilities.SetProcessName): NUL terminate
31497 the process name as ASIIEncoding does not do this (sigh)
31499 2006-02-06 Aaron Bockover <aaron@aaronbock.net>
31501 * configure.ac: Bumped version to 0.10.5
31503 * NEWS: Updated for 0.10.5 release notes
31505 * banshee.mdp: Updated MonoDevelop project
31507 * docs/*: Updated Monodoc documentation
31509 * src/AboutBox.cs: Added Fredrik
31511 2006-02-06 Aaron Bockover <aaron@aaronbock.net>
31513 * data/data/UIManagerLayout.xml: Removed seek and repeat menu items
31516 * src/PlayerInterface.cs: Do not focus search on s/j press if source
31517 view is in edit mode (BGO #329540)
31519 * src/Banshee.Base/Utilities.cs (PathUtil.CharsToQuote): Do not
31520 escape ' ' characters as they cause problems with importing
31522 * src/banshee.in: Run mono --debug if --debug is passed to wrapper
31524 * src/RemotePlayer.cs:
31525 * src/Main.cs: Add remote support for querying the cover art
31526 filename (BGO #328201, patch by Ruben Vermeersch)
31528 2006-02-06 Aaron Bockover <aaron@aaronbock.net>
31530 * src/Banshee.Dap/Ipod/IpodDap.cs: Use the volume or product name of
31531 the iPod from HAL if the user hasn't set a custom name
31533 * src/Banshee.Base/Utilities.cs (PathUtil.CharsToQuote): Escape
31534 the '%' and ' ' to hex sequences
31536 * src/Banshee.Base/ImportManager.cs: Handle a potential Win32IOException
31537 regarding recursive symlinks
31539 * src/Banshee.Base/GstFileEncoder.cs (Encode): Reworked to manually
31540 alloc/marshal/free file strings
31542 2006-02-06 Aaron Bockover <aaron@aaronbock.net>
31544 * src/Main.cs: Call Banshee.Base.Utilities.SetProcessName to set process
31545 name to 'banshee'; enables 'killall banshee' to work and shows up
31546 properly in 'top' and the Gnome system monitor (BNC #147947)
31548 * src/Banshee.Base/Utilities.cs: Added Utilities.SetProcessName to
31549 set the process name via the prctl system call
31551 * src/banshee.in: Removed --debug; added -a 'banshee' on exec to
31552 change argv[0]; removed support to run uninstalled copy as it could
31555 * src/Banshee.Widgets/SearchEntry.cs: Use an inset frame border
31557 2006-02-03 Aaron Bockover <aaron@aaronbock.net>
31559 * src/Banshee.Plugins/Daap/DaapSource.cs: Catch an exception that
31560 DAAP.Client.Login may throw and present an error dialog instead;
31561 a 'this is the best I can do' response to the RB DAAP bug #329812
31563 2006-02-03 Aaron Bockover <aaron@aaronbock.net>
31565 * src/banshee.exe.config.in:
31566 * src/Banshee.Base/Banshee.Base.dll.config.in:
31567 * src/Banshee.Widgets/Banshee.Widgets.dll.config.in: Added libX11 map;
31568 fixes strange GtkUIManager crashes in NLD
31570 2006-02-02 Aaron Bockover <aaron@aaronbock.net>
31572 * configure.ac: Require GTK+-2.8
31574 * src/PlayerInterface.cs: Removed custom pixbuf stuff for the search
31575 entry; it handles its own icon and hover icon now
31577 * src/Banshee.Widgets/Makefile.am: Added -unsafe to compile; removed
31580 * src/Banshee.Widgets/SearchEntry.cs: Use Stock.Find as the icon and
31581 color shift it for the hover icon
31583 * src/Banshee.Widgets/Resources: Removed
31585 * ChangeLog: Fixed formatting on Fredrik's last entry (spaces->tabs)
31587 2006-02-01 Fredrik Hedberg <fredrik@avafan.com>
31589 * banshee.pc.in: Added gconf-sharp-2.0 as a requirement for
31590 our pkg-config file, as many plugins most certainly will use gconf.
31592 * src/Banshee.Base/SourceManager.cs: Call Deactivate() on the
31593 current source when the user switches to a new one.
31595 * src/Banshee.Base/Source.cs: Add the empty virtual method Deactivate.
31597 2006-01-31 Aaron Bockover <aaron@aaronbock.net>
31599 * src/AboutBox.cs: Class renamed to BansheeAboutDialog, which now
31600 extends Gtk.AboutDialog; no more Gnome.About support as Gtk# 2.8 is
31601 required now; updated copyright; added Ruben Vermeersch
31603 * src/PlayerInterface.cs (OnAboutAction): Updated to reflect change
31604 from AboutBox to BansheeAboutDialog
31606 * src/Banshee.Widgets/VolumeButton.cs: Turned the +/- icons into
31607 buttons that allow click and hold to adjust the volume (Ruben
31608 Vermeersch, BGO #329360); removed the +/- icons and replaced with
31611 2006-01-31 Aaron Bockover <aaron@aaronbock.net>
31613 * src/PlayerInterface.cs: Use search icon for the search entry from the
31614 theme; do not respond to search if the source is to handle it
31616 * src/Banshee.Base/Globals.cs: Added InterfaceElements.SearchEntry
31618 * src/Banshee.Base/Source.cs: Added virtual property HandlesSearch;
31619 sources can override this and return true, and then connect to
31620 events on InterfaceElements.SearchEntry to do custom searching
31622 * src/Banshee.Widgets/SearchEntry.cs: Allow setting of custom search
31623 icons through the Icon and HoverIcon properties
31625 2006-01-30 Aaron Bockover <aaron@aaronbock.net>
31627 * autogen.sh: Require automake 1.9
31629 2006-01-30 Aaron Bockover <aaron@aaronbock.net>
31631 * banshee.mdp: Updated MonoDevelop project
31633 * conifgure.ac: Generate necessary files for MMKeys plugin
31635 * src/PlayerInterface.cs: Removed old commented out special keys code
31637 * src/Banshee.Base/SpecialKeys.cs: Minor fixes and ungrab support based
31638 on patch by Danilo Reinhardt
31640 * src/Banshee.Base/Utilities.cs (Utilities.ExecProcess): Minor fix
31641 to work around http://bugzilla.novell.com/show_bug.cgi?id=320179 (SIGSEV)
31643 * src/Banshee.Plugins/Makefile.am: Add MMKeys to SUBDIRS
31645 * src/Banshee.Plugins/MMKeys/*: Initial commit of the MMKeys plugin
31646 by Danilo Reinhardt
31648 2006-01-28 Aaron Bockover <aaron@aaronbock.net>
31650 * banshee.mdp: Removed obsolete files (BGO #328931)
31652 2006-01-28 Aaron Bockover <aaron@aaronbock.net>
31654 * configure.ac: Use libdir instead of $prefix/lib for detecting mono
31657 2006-01-27 Aaron Bockover <aaron@aaronbock.net>
31659 * configure.ac: Require Gtk# 2.7+; remove references to GtkSharpBackports
31662 * src/Preferences.cs: Remove GtkSharpBackports namespace prefix on
31663 widgets that were available only in Gtk# 2.8
31665 * src/Makefile.am: Remove GtkSharpBackports from SUBDIRS and do not
31666 link against GtkSharpBackports.dll
31668 * src/GtkSharpBackports: Removed; everything that was in GtkSharpBackports
31669 was backported from 2.8 to use in 2.4; now using 2.8
31671 2006-01-27 Aaron Bockover <aaron@aaronbock.net>
31673 * src/StockIcons.cs: Instead of relying on an exception, check the
31674 resource manifest to see if a resource icon exists; reduces exception
31675 overhead and thwarts GdkPixbufLoader warnings from being spewed to
31676 the console (BNC #145487)
31678 * src/Banshee.MediaEngine/Helix/HelixPlayer.cs: Make the iterate thread
31679 a background thread; does not hang on exit
31681 2006-01-27 Aaron Bockover <aaron@aaronbock.net>
31683 * src/PlayerInterface.cs: Minor cosmetic bug fixed regarding sensitivity
31684 of search box after a DAP sync completes
31686 2006-01-27 Aaron Bockover <aaron@aaronbock.net>
31688 * src/PlayerInterface.cs: Moved the custom DAP syncing view to DapSource;
31689 support switching between the default playlist view and custom source
31690 views (Source.ViewWidget); sources can now provide custom and hybrid
31693 * src/Banshee.Base/Globals.cs: Provide a basic InterfaceElements proxy
31694 class; Currently only provides access to the PlaylistView widget as
31695 a TreeView; but is sufficient enough for plugins and sources to directly
31698 * src/Banshee.Base/Source.cs: Added virtual ViewWidget and
31699 ShowPlaylistHeader properties; added a ViewUpdated event
31701 * src/Banshee.Base/SourceManager.cs: Proxy the Source.ViewUpdated event
31704 * src/Banshee.Base/Sources/DapSource.cs: Moved the DAP syncing view from
31705 PlayerInterface and implemented as a ViewWidget
31707 2006-01-25 Aaron Bockover <aaron@aaronbock.net>
31709 * configure.ac: Check for DBus 0.60 or better and set DBUS_SOVERSION
31710 accordingly to either 2 or 1
31712 * data/banshee.desktop.in.in: Changed --play to --play-enqueued so
31713 playing will only happen if songs were passed to --enqueue; was a small
31714 bug where just clicking on the desktop file would cause banshee to
31715 start playing no matter what - quite annoying
31717 * src/PlayerInterface.cs: Support --play-enqueued which can now be
31718 passed with a populated --enqueue to auto-play conditionally
31720 * hal-sharp/hal-sharp.dll.config.in:
31721 * src/Banshee.Dap/Ipod/ipod-sharp.dll.config.in: Use @DBUS_SOVERSION@
31722 for mapping to the proper dbus libraries
31724 2006-01-25 Aaron Bockover <aaron@aaronbock.net>
31726 * src/Banshee.Base/QueuedSqliteDatabase.cs: Open the connection to the
31727 database on the processing thread; otherwise that kinda defeats the entire
31728 purpose of the threaded queue processor ;)
31730 2006-01-23 Aaron Bockover <aaron@aaronbock.net>
31732 * banshee.mdp: Updated MonoDevelop project
31734 * data/Tables.sql: Removed; Tables are now defined in code
31736 * data/banshe.desktop.in.in: Added more standard desktop categories
31739 * src/Banshee.Base/Makefile.am: Removed resource data/Tracks.sql
31741 * src/Main.cs: Disabled process-based instance detection for now; it
31742 is causing problems for some and needs investigating
31744 * src/Banshee.Base/Database.cs: Rewritten database layer; class now
31745 extends new QueuedSqliteDatabase class and all table detection and
31746 creation SQL is now embedded in code
31748 * src/Banshee.Base/QueuedSqliteDatabase.cs: New database layer that
31749 queues queries to execute sequentially on a single thread; fixes many
31750 various sqlite-related database issues including database/thread
31751 synchronization and database locking
31753 * src/Banshee.Base/Globals.cs:
31754 * src/Banshee.Base/Library.cs:
31755 * src/Banshee.Base/LibraryTrackInfo.cs:
31756 * src/Banshee.Base/Sources/PlaylistSource.cs: Updated to reflect minor
31757 API changes in database layer
31759 * src/Banshee.Base/SqlGenerator.cs (Statement.EscapeQuotes): Minor fix
31760 to return empty string if input is null (gonzalo)
31762 * src/Banshee.Base/Utilities.cs (ThreadAssist.Spawn): Threads spawned here
31763 should be background threads (gonzalo)
31765 2006-01-18 Aaron Bockover <aaron@aaronbock.net>
31767 * banshee: Branched for NLD10/stable Banshee '1.0' release (BANSHEE_NLD10)
31769 2006-01-23 Aaron Bockover <aaron@aaronbock.net>
31771 * banshee.mdp: Updated MonoDevelop project
31773 * data/Tables.sql: Removed; Tables are now defined in code
31775 * data/banshe.desktop.in.in: Added more standard desktop categories
31778 * src/Banshee.Base/Makefile.am: Removed resource data/Tracks.sql
31780 * src/Main.cs: Disabled process-based instance detection for now; it
31781 is causing problems for some and needs investigating
31783 * src/Banshee.Base/Database.cs: Rewritten database layer; class now
31784 extends new QueuedSqliteDatabase class and all table detection and
31785 creation SQL is now embedded in code
31787 * src/Banshee.Base/QueuedSqliteDatabase.cs: New database layer that
31788 queues queries to execute sequentially on a single thread; fixes many
31789 various sqlite-related database issues including database/thread
31790 synchronization and database locking
31792 * src/Banshee.Base/Globals.cs:
31793 * src/Banshee.Base/Library.cs:
31794 * src/Banshee.Base/LibraryTrackInfo.cs:
31795 * src/Banshee.Base/Sources/PlaylistSource.cs: Updated to reflect minor
31796 API changes in database layer
31798 * src/Banshee.Base/SqlGenerator.cs (Statement.EscapeQuotes): Minor fix
31799 to return empty string if input is null (gonzalo)
31801 * src/Banshee.Base/Utilities.cs (ThreadAssist.Spawn): Threads spawned here
31802 should be background threads (gonzalo)
31804 2006-01-18 Aaron Bockover <aaron@aaronbock.net>
31806 * banshee: Branched for NLD10/stable Banshee '1.0' release (BANSHEE_NLD10)
31808 2006-01-17 Aaron Bockover <aaron@aaronbock.net>
31811 * src/SignalUtils.cs:
31812 * src/Makefile.am: Removed SignalUtils.cs; it has not been used in many
31813 months and is not necessary
31815 2006-01-17 Aaron Bockover <aaron@aaronbock.net>
31817 * configure.ac: Bumped version to 0.10.4
31819 * NEWS: Updated with the 0.10.4 release notes
31821 * docs/*: Updated Monodoc API documentation
31823 * src/Banshee.Base/PlayerEngineCore.cs: Removed some debug
31824 Console.WriteLine calls
31826 2006-01-17 Aaron Bockover <aaron@aaronbock.net>
31828 * src/PlayerInterface.cs: Uncommented and fixed adding to playlists
31829 through song context menu to work with the new PlaylistSource
31831 * src/PlaylistView.cs: Removed unused code that has been commented out
31834 * src/Banshee.Base/Sources/PlaylistSource.cs: Added two static properties
31835 to keep track of and access a collection of PlaylistSource instances
31837 * docs/Makefile.am: Minor cleanup/fix
31839 2006-01-16 James Willcox <snorp@snorp.net>
31841 * src/Banshee.Plugins/Daap/DaapConfigPage.cs: only change the service
31842 name on focus out, instead of on each individual change.
31843 * src/Banshee.Plugins/Daap/DaapCore.cs: don't show the service that
31844 banshee itself exposes, and do a lame job at attempting to handle
31845 service name collisions.
31847 2006-01-16 James Willcox <james@ximian.com>
31849 * src/Banshee.Base/SourceManager.cs: proxy add/remove events to
31851 * src/Banshee.Plugins/Daap/DaapCore.cs: hash on the service name
31852 instead of the whole service object.
31853 * src/Banshee.Plugins/Daap/daap-sharp/*: synced
31855 2006-01-16 Aaron Bockover <aaron@aaronbock.net>
31857 * data/Makefile.am: Install D-Bus service file in
31858 $(datadir)/dbus-1/services (BGO #327046)
31860 * src/Banshee.Plugins/Audioscrobbler/Engine.cs (TransmitQueue): Guard
31861 against a potential nullref (BGO #326863)
31863 2006-01-16 Aaron Bockover <aaron@aaronbock.net>
31865 * src/PlayerInterface.cs: Add the global actions accelerator group to
31866 the main window (BGO #326923)
31868 * src/Banshee.Base/Plugins/PluginDialog.cs: Wrapped missing string for
31869 translation (Øivind Hoel)
31871 2006-01-16 Stephane Raimbault <stephane.raimbault@free.fr>
31873 reviewed by: Aaron Bockover <aaron@aaronbock.net>
31875 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerConfigDialog.cs:
31876 Marked a string to translate
31878 * src/Banshee.Plugins/FileSystemMonitor/Makefile.am: Deleted some
31881 * src/Banshee.Plugins/MetadataSearch/MetadataSearchConfigDialog.cs:
31882 Fixed a typo s/MusizBrainz/MusicBrainz/
31884 2006-01-14 Aaron Bockover <aaron@aaronbock.net>
31886 * engagged-sharp/Ogg/Util/OggInfoReader.cs: bitrate calculation fix
31888 * src/PlayerInterface.cs: Added tooltips back to shuffle/repeat/edit
31889 buttons at bottom of window (BGO #326045); pressing enter in search
31890 entry focuses playlust (BGO #326568); fixed minor cosmetic bug regarding
31891 icon sizes of action buttons; moved gettext catalog init to Globals so
31892 catalog is initialized before the ActionManager is populated (BGO #325705)
31894 * src/TrackProperties.c: Minor bitrate calculation fix
31896 * src/Banshee.Base/ActionManager.cs: Use more stock items when acceptable
31898 * src/Banshee.Base/Globals.cs: Initialize the gettext catalog (BGO #325705)
31900 * src/Banshee.Widgets/ActionButton.cs: Add support for a default icon
31901 size in the constructor
31903 * src/Banshee.Base/AmazonCoverFetcher.cs: Set timeout to 10 seconds
31905 * src/Banshee.Plugins/MetadataSearch/MetadataSearchPlugin.cs: Do not
31906 use ThreadAssist for the processing thread so operations on the thread
31907 can be performed later (Aborting if necessary); also make the thread
31908 a background thread
31910 2006-01-14 Aaron Bockover <aaron@aaronbock.net>
31912 * configure.ac: Bump to 0.10.3; note to non-Novell distributors: I do
31913 not advise packaging this release... it was made to meet an internal
31914 package submission deadline. 0.10.4 will be released early next week
31915 with a number of fixes to known issues
31917 * data/banshee.glade: Add a _ prefix/accelerator to search label
31919 * src/banshee.in: Fixed wrapper script to properly run an uninstalled copy
31921 * src/Makefile.am: Fixed up run to invoke sh ./banshee
31923 * src/PlayerInterface.cs: Pressing 's' or 'S' will focus the search
31924 entry (along with 'j', 'J', or F3); enabled searching on all
31925 sources (playlists, DAAP) except for audio CDs
31927 * src/TrackProperties.cs: Only sniff mime type for local tracks
31929 * src/Banshee.Base/ActionManager.cs: Use stock for about menu item
31931 * src/Banshee.Plugins/Daap/Makefile.am: Added daap-sharp/content-codes
31934 2006-01-14 Aaron Bockover <aaron@aaronbock.net>
31936 * banshee.mdp: Updated MonoDevelop project
31938 * src/SourceView.cs: Guard against a possible nullref
31940 * src/Banshee.Base/SourceManager.cs: Do not allow registering of null
31941 sources... that's not so good
31943 * src/Banshee.Base/Plugins/Plugin.cs: Make ConfigurationKeys public
31945 * src/Banshee.Plugins/Daap/daap.schemas.in: Added schemas for two new keys
31947 * src/Banshee.Plugins/Daap/DaapConfigPage.cs: Configuration page for
31948 notebook in plugins dialog
31950 * src/Banshee.Plugins/Daap/DaapCore.cs: Add DAAP server support
31952 * src/Banshee.Plugins/Daap/DaapPlugin.cs: register two configuration keys
31954 * src/Banshee.Plugins/Daap/Makefile.am: Add DaapConfigPage.cs
31956 * src/Banshee.Plugins/Daap/daap-sharp/*: Updated daap-sharp sync
31958 * src/Banshee.Plugins/MetadataSearch/MetadataSearchConfigDialog.cs:
31959 Added a header label to config page
31961 2006-01-14 Aaron Bockover <aaron@aaronbock.net>
31963 * src/Banshee.Base/Plugins/Plugin.cs: Removed virtual
31964 ShowConfigurationDialog method; replaced with GetConfigurationWidget
31966 * src/Banshee.Base/Plugins/PluginDialog.cs: Remove configuration button;
31967 added a notebook for showing description/overview and configuration pages;
31968 If a plugin implements GetConfigurationWidget, show it in a
31969 configuration tab in the notebook
31971 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerConfigDialog.cs:
31972 Changed from a Dialog subclass to a VBox subclass; ability to show/hide the
31973 Audioscrobbler logo; logo widget exposed as an internal property
31975 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs: Added dialog
31976 to show the configuration widget in case configuration is invoked through
31977 the plugin menu; implement GetConfigurationWidget
31979 * src/Banshee.Plugins/MetadataSearch/MetadataSearchConfigDialog.cs:
31980 Changed from Dialog subclass to a VBox subclass; removed label and frame
31981 as they look goofy in the notebook and are unnecessary; fixed a minor
31982 display bug regarding the warning widget on the last option
31984 * src/Banshee.Plugins/MetadataSearch/MetadataSearchPlugin.cs: Implement
31985 GetConfigurationWidget; fixed a minor database update bug
31988 2006-01-13 Aaron Bockover <aaron@aaronbock.net>
31990 * src/PlayerInterface.cs: Request engine change before playing a song
31991 based on file extension; this will be used for falling back on GStreamer
31992 for some formats when using Helix as the primary engine
31994 * src/Preferences.cs: A restart is no longer needed to change the
31995 primary playback engine
31997 * src/Banshee.Base/IPlayerEngine.cs: Added SupportedExtensions property
31999 * src/Banshee.Base/PlayerEngineCore.cs: Allow switching engines from
32000 anything other than the primary based on file extension
32002 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: claim to support
32003 WMA in SupportedExtensions as Helix/RP can't (better chance of it working
32004 in GStreamer than in Helix)
32006 * src/Banshee.MediaEngine/Vlc/VlcPlayerEngine.cs:
32007 * src/Banshee.MediaEngine/Helix/HelixPlayer.cs: Implement
32008 SupportedExtensions, but return null
32010 2006-01-12 Aaron Bockover <aaron@aaronbock.net>
32012 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:
32013 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerMenu.xml: Added a
32014 visit group action to the menu and changed menu items to sentence case
32016 2006-01-12 Aaron Bockover <aaron@aaronbock.net>
32018 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs: Added an
32019 enabled action item that allows easy toggling of reporting, with a
32020 key binding and menu item; fixed a few very minor bugs and a nullref
32022 * src/Banshee.Plugins/Audioscrobbler/Engine.cs (MD5Encode): Guard against
32023 a nullref and return String.Empty on failure
32025 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerConfigDialog.cs:
32026 Added a button to pimp the Banshee last.fm Group
32028 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerMenu.xml: Added a
32029 reporting enabled action item
32031 2006-01-11 Aaron Bockover <aaron@aaronbock.net>
32033 * src/Banshee.Plugins/Daap/Makefile.am: Added missing if DAAP_ENABLED
32034 check; makes --disable-daap actually work
32036 2006-01-11 Aaron Bockover <aaron@aaronbock.net>
32038 * src/Banshee.Base/Plugins/Plugin.cs: Do not enforce namespace naming;
32039 instead require an abstract ConfigurationName property to be set by
32040 the plugin (tberman was yelling)
32042 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:
32043 * src/Banshee.Plugins/Daap/DaapPlugin.cs:
32044 * src/Banshee.Plugins/FileSystemMonitor/Watcher.cs:
32045 * src/Banshee.Plugins/MetadataSearch/MetadataSearchPlugin.cs: Implement
32046 new abstract ConfigurationName
32048 2006-01-10 Aaron Bockover <aaron@aaronbock.net>
32050 * banshee.mdp: Updated MonoDevelop project
32052 * src/Banshee.Plugins/Daap/DaapProxyWebServer.cs: A new 'proxy' server
32053 that handles streaming of DAAP songs from a DAAP server over a normal
32054 HTTP stream; this makes DAAP streaming audio available from any normal
32055 HTTP client; listening to DAAP streams is now possible (GStreamer 0.8,
32056 GStreamer 0.10, Helix/RealPlayer, VLC); also provides a simple web-based
32057 browser to connected databases and allows downloading songs through this
32058 interface (http://localhost:8089)
32060 * src/Banshee.Plugins/Daap/DaapCore.cs: Added a property to access the
32061 new DaapProxyWebServer; start/stop the server when applicable; corrected
32064 * src/Banshee.Plugins/Daap/DaapTrackInfo.cs: Set the uri property to
32065 the proper HTTP URI for requesting DAAP streaming of the audio through
32066 the proxy server; corrected namespace
32068 * src/Banshee.Plugins/Daap/DaapSource.cs: register/unregister database
32069 with the proxy server; corrected namespace
32071 * src/Banshee.Plugins/Daap/DaapLoginDialog.cs:
32072 * src/Banshee.Plugins/Daap/DatabaseProxy.cs:
32073 * src/Banshee.Plugins/Daap/DaapPlugin.cs: corrected namespace
32075 * src/Banshee.Plugins/Daap/Makefile.am: Added DaapProxyWebServer.cs
32077 * src/Banshee.Plugins/Daap/daap-sharp/*.cs: Updated daap-sharp checkout
32079 2006-01-09 Aaron Bockover <aaron@aaronbock.net>
32081 * src/Banshee.Plugins/Makefile.am: Added Daap to SUBDIRS
32083 * src/Banshee.Plugins/Daap/daap-sharp/*: Added daap-sharp sources; these
32084 sources are maintained in the 'daap-sharp' Mono SVN module and are synced
32085 into the Banshee tree using the 'sync-tree.sh' script
32087 * src/Banshee.Plugins/Daap/DaapPlugin.cs: Plugin to initialize/dispose
32090 * src/Banshee.Plugins/Daap/DaapCore.cs: DAAP core that listens for
32091 service updates from daap-sharp/avahi and creates sources out of new
32092 services; central point for DAAP client support
32094 * src/Banshee.Plugins/Daap/DaapSource.cs: Banshee.Sources.Source
32095 implementation for DAAP client support
32097 * src/Banshee.Plugins/Daap/DatabaseProxy.cs: A custom IEnumerable
32098 collection that proxies DAAP.Song objects to TrackInfo objects on the fly
32100 * src/Banshee.Plugins/Daap/DaapTrackInfo.cs: TrackInfo implementation
32103 * src/Banshee.Plugins/Daap/DaapLoginDialog.cs: A login dialog that is
32104 presented when a DAAP server requires authentication
32106 2006-01-09 Aaron Bockover <aaron@aaronbock.net>
32108 * banshee.mdp: Updated MonoDevelop project
32110 * configure.ac: Removed daap-sharp references as daap-sharp sources are
32111 synced directly into the tree; check for avahi-sharp
32113 * src/Main.cs: Handle a potential DBus exception
32115 * src/Makefile.am: Removed daap-sharp unstable assembly installation rules
32117 * src/PlayerInterface.cs: Skeleton for handling Source.TrackAdded and
32118 Source.TrackRemoved events; if Source.Updated is fired and the track count
32119 in the model is 0 and the source is not, reload the model from the source;
32120 the DBusRemote is now instance-accessible through a Globals proxy; handle
32121 Source.Tracks change from ICollection to IEnumerable
32123 * src/PlaylistModel.cs: Added a placeholder RemoveTrack(TrackInfo) method
32125 * src/RemotePlayer.cs (FindInstance): use a dynamic cast to RemotePlayer
32126 type instead of a static
32128 * src/SourceView.cs: Do not draw count in source row if Source.Count < 0
32130 * src/Banshee.Base/DBusRemote.cs: make DBusRemote a instantiable class
32132 * src/Banshee.Base/Globals.cs: Add a DBusRemote proxy property
32134 * src/Banshee.Base/LibraryTrackInfo.cs: LastPlayedStamp and DateAddedStamp
32135 values are now read from the database a little differently to work with
32136 updated Mono.Data.SqliteClient from HEAD, should also be a little faster
32138 * src/Banshee.Base/Makefile.am: Removed DAAPSHARP_LIBS reference
32140 * src/Banshee.Base/Source.cs: Make Count virtual; Tracks is now
32141 IEnumerable; Added TrackAdded and TrackRemoved events; added OnTrackAdded
32142 and OnTrackRemoved virtual methods for raising those events; added
32143 InvalidSourceException exception class
32145 * src/Banshee.Base/SourceManager.cs: Added SourceTrackAdded and
32146 SourceTrackRemove 'proxy' events for propagating TrackAdded/TrackRemoved
32147 events from sources
32149 * src/Banshee.Base/AudioCdSource.cs:
32150 * src/Banshee.Base/DapSource.cs:
32151 * src/Banshee.Base/LibrarySource.cs:
32152 * src/Banshee.Base/LocalQueueSource.cs:
32153 * src/Banshee.Base/PlaylistSource.cs: Reflect change from Source.Tracks
32154 as an ICollection to an IEnumerable
32156 2006-01-06 Chris Toshok <toshok@ximian.com>
32158 * src/Banshee.Plugins/Audioscrobbler/Engine.cs: if we've
32159 previously logged failures uploading tracks, log the first
32162 * src/Banshee.Plugins/Audioscrobbler/Queue.cs: make sure to clear
32163 the queue before loading, so we don't append multiple copies
32164 when/if the user disables/re-enables the plugin.
32166 2006-01-06 Chris Toshok <toshok@ximian.com>
32168 * src/Banshee.Plugins/Audioscrobbler/Makefile.am
32169 (ASSEMBLY_SOURCES): add Queue.cs
32171 * src/Banshee.Plugins/Audioscrobbler/Queue.cs: new home for all
32172 the queue internals.
32174 * src/Banshee.Plugins/Audioscrobbler/Engine.cs: move all the queue
32175 internals (including the new saving/loading code) out to a
32176 separate class; Use LogCore to report problems with
32177 uploading/handshaking, and try to avoid spamming the log by only
32178 logging upload failures once every 5 minutes; lastly, increase the
32179 places where we save queue data. We now save just before
32180 transmitting, and again after getting the OK back from the server,
32181 after we remove the tracks that were transmitted.
32183 2006-01-06 Chris Toshok <toshok@ximian.com>
32185 * src/Banshee.Plugins/Audioscrobbler/Engine.cs: Another patch from
32186 Ruben Vermeersch, to add rudimentary seek detection. Slightly
32187 modified from the patch on the list, to check for reverse seeking.
32189 2006-01-06 Chris Toshok <toshok@ximian.com>
32191 * src/Banshee.Plugins/Audioscrobbler/Engine.cs: apply Ruben
32192 Vermeersch excellent queue saving/loading patch.
32194 2006-01-06 Aaron Bockover <aaron@aaronbock.net>
32196 * banshee.mdp: Updated MonoDevelop project
32198 * src/Banshee.Plugins/MetadataSearch/Makefile.am: Added
32199 MetadataSearchConfigDialog.cs
32201 * src/Banshee.Plugins/MetadataSearch/MetadataSearchConfigDialog.cs:
32202 Configuration dialog for setting the cover art/metadata fetch method
32204 * src/Banshee.Plugins/MetadataSearch/MetadataSearchPlugin.cs: Support
32205 three different fetch methods for cover art and metadata: covers only
32206 will only fetch cover art and uses a SQL query to set the ASIN on all
32207 tracks on an album after one track from the album has been looked up
32208 through MusicBrainz (fast method); fill blank will fetch cover art on a
32209 per-track basis and will fill in any missing metadata for the track (slow
32210 but safe); overwrite will fetch cover art on a per-track basis and will
32211 overwrite all metadata fields on a track that were returned from
32212 MusicBrainz (potentially destructive and slow, but most of the time
32213 yields pleasant results); the default option is covers only
32215 * data/Tables.sql: for some reason AlbumTitle was declared as an INTEGER;
32216 it's now TEXT... nice
32218 2006-01-05 Brad Taylor <brad@getcoded.net>
32220 * src/PlaylistModel.cs: Implement a more intelligent Shuffle that has a
32221 60% chance of hovering inside the current genre, making the transitions
32222 between songs slightly more fluid. Of course, this value should be
32223 tweaked for better results.
32225 2006-01-05 Aaron Bockover <aaron@aaronbock.net>
32227 * src/AboutBox.cs: Added Lukas Novotny to Translator Credits (Czech)
32229 * src/Banshee.Base/Library.cs: Allow single, collection, and queued
32230 removal of tracks based on URI as well as LibraryTrackInfo object reference
32232 * src/Banshee.Plugins/FileSystemMonitor/Watcher.cs: Implement removal
32233 and importing of files using a threaded queue processor instead of
32234 looping in an always-running thread to 'listen' for changes on
32235 two ArrayLists; removal and importing updated to use new mechanisims in
32236 Banshee.Base for interacting with the Library
32238 * src/Banshee.Plugins/FileSystemMonitor/Watch.cs: Simplified many aspects
32239 of the base Watch class; use events for notification instead of collections
32240 on which a thread 'listens'
32242 * src/Banshee.Plugins/FileSystemMonitor/InotifyWatch.cs:
32243 * src/Banshee.Plugins/FileSystemMonitor/FileSystemWatcherWatch.cs:
32244 Updated to implement changes in updated and simplified base class
32246 2006-01-05 Aaron Bockover <aaron@aaronbock.net>
32248 * docs/*: Updated Monodoc API documentation
32250 * banshee.mdp: Updated MonoDevelop project
32252 * data/banshee.glade: removed the header cycle button
32254 * src/Core.cs: Removed TransactionManager
32256 * src/Makefile.am: Removed LibraryTransaction*.cs, DapPropertiesDialog.cs,
32257 and Sources.cs; added skeleton for daap-sharp linking and installation
32259 * src/PlayerInterface.cs: Updated to use SourceManager to handle switching
32260 and manipulating of sources
32262 * src/PlaylistModel.cs: Updated to use SourceManager; added a GetIterIndex
32263 method to allow reordering to propagate to sources; removed old unused
32266 * src/PlaylistView.cs: AddSelectedToPlaylist disabled for the moment
32268 * src/SourceView.cs: Updated to adapt to act strictly as a view for
32269 SourceManager; sources are now handled centrally in SourceManager
32271 * src/Banshee.Base/Database.cs: Added overload Execute method to return
32272 the last insert row ID
32274 * src/Banshee.Base/Library.cs: All track removal is handled centrally
32275 through Banshee.Base.Library
32277 * src/Banshee.Base/Makefile.am: Added new Source files
32279 * src/Banshee.Base/SourceManager.cs: New centralized source manager;
32280 handles proper ordering and activation/notification, and acts as a proxy
32281 for source update events
32283 * src/Banshee.Base/TrackInfo.cs: Moved HaveTrackInfoArgs and
32284 HaveTrackInfoHandler from old LibraryTransactions.cs
32286 * src/Banshee.Base/Utilities.cs: ReflectionUtil.IsVirtualMethodImplemented
32287 now works for non-public instance members
32289 * src/Banshee.Base/AudioCd/AudioCdCore.cs: Support creating and removing
32290 AudioCdSource from SourceManager
32292 * src/Banshee.Base/AudioCd/AudioCdDisk.cs: If ASIN is empty after a
32293 successful CD info lookup through MusicBrainz, attempt to find an ASIN
32294 using a FileLookup based on data for the first track on the CD
32296 * src/Banshee.Base/Dap/Dap.cs: Handle creating/adding/removing a DapSource
32298 * src/Banshee.Base/Dap/DapPropertiesDialog.cs: Moved from src/
32300 * src/Banshee.Base/Sources/LibrarySource.cs: New implementation of the base
32301 Source class for the Library
32303 * src/Banshee.Base/Sources/PlaylistSource.cs: New Playlist source and
32304 completely rewritten playlist support; much faster and supports proper
32307 * src/Banshee.Base/Sources/AudioCdSource.cs: Refactored source for
32310 * src/Banshee.Base/Sources/DapSource.cs: Refactored source for DAPs
32312 * src/Banshee.Base/Source/LocalQueueSource.cs: Refactored source for local
32313 files (The Frobnicator)
32315 * src/Banshee.Dap/Njb/NjbDap.cs (Dispose): call base.Dispose()
32317 * src/Banshee.Plugins/FileSystemMonitor/Watcher.cs: Disabled some parts
32318 of this plugin until it can be sorted out to work with new API
32320 2006-01-03 Aaron Bockover <aaron@aaronbock.net>
32322 * configure.ac: Added DAAP configure support; check for sqlite3 >= 3.2 to
32323 guard against no ALTER TABLE ... ADD support (BGO #325697)
32325 2006-01-02 Stanislav Brabec <utx@penguin.cz>
32327 * configure.ac: Added cs to ALL_LINGUAS.
32329 2006-01-02 Aaron Bockover <aaron@aaronbock.net>
32331 * src/MusicBrainz/Client.cs: Null checks on GetID
32333 * src/MusicBrainz/SimpleQuery.cs: Added support for both AlbumTrackResult
32334 and AlbumResult types for better matching against limited input
32336 * src/MusicBrainz/SimpleLookupTest.cs: Added a -tracknum option to test
32337 program for SimpleQuery
32339 2006-01-01 Aaron Bockover <aaron@aaronbock.net>
32341 * src/Banshee.Plugins/MetadataSearch/*: New plugin to search for
32342 well-formed/supplementary metadata and cover art for songs already in
32343 the library (and songs that are newly added during the same instance);
32344 this effectively adds 'full' cover art support to Banshee - Happy New Year!
32346 * docs/*: Updated Monodoc Documentation
32348 * banshee.mdp: Updated MonoDevelop project
32350 * configure.ac: Generate files for the MetadataSearch plugin
32352 * data/Tables.sql: Add RemoteLookupStatus column to Tracks SQL table
32354 * src/Banshee.Base/Database.cs: Add support to ALTER old tables without
32355 the RemoteLookupStatus column
32357 * src/Banshee.Base/Library.cs: Added a TrackAdded event and an IsLoaded
32358 property to the Library
32360 * src/Banshee.Base/LibraryTrackInfo.cs: Support preserving the
32361 RemoteLookupStatus property when constructing from an AudioCdTrackInfo
32362 and support reading/writing this property to/from the database
32364 * src/Banshee.Base/TrackInfo.cs: Added a RemoteLookupStatus property and
32365 enum (NoAttempt, Success, Failure)
32367 * src/Banshee.Base/AudioCd/AudioCdDisk.cs: Set RemoteLookupStatus to
32368 Success when metadata is found through MusicBrainz
32370 * src/Banshee.Base/Plugins/Plugin.cs: Added a DisposeRequested property
32371 for plugins to check during extensive operations
32373 * src/Banshee.Plugins/Makefile.am: Added MetadataSearch to SUBDIRS
32375 * src/MusicBrainz/Client.cs: Minor fix to GetID
32377 * src/MusicBrainz/Makefile.am: Added SimpleQuery.cs
32379 * src/MusicBrainz/SimpleQuery.cs: Static class to perform basic arbitrary
32380 query operations (FileLookup)
32382 * src/MusicBrainz/SimpleLookupTest.cs: Test case to SimpleQuery
32384 * src/MusicBrainz/SimpleTrack.cs: Added new properties so object is
32385 suitable for SimpleQuery.FileLookup to return
32387 2005-12-31 Aaron Bockover <aaron@aaronbock.net>
32389 * docs/MonodocNodeConfig.cs: Small utility program to add nodes to
32390 monodoc.xml under 'various' to better organize documentation
32392 * docs/Makefile.am: Build MonodocNodeConfig.cs, run to insert/remove
32393 classlib-banshee node from various in monodoc.xml
32395 * docs/banhsee-docs.source: Set path to classlib-banshee
32397 * src/Banshee.Plugins/FileSystemMonitor/Makefile.am: Remove MENU_RESOURCE
32399 2005-12-31 Aaron Bockover <aaron@aaronbock.net>
32401 * src/Banshee.Base/Database.cs:
32402 * src/Banshee.Base/FileTrackInfo.cs:
32403 * src/Banshee.Base/LibraryTrackInfo.cs: Changed namespace to Banshee.Base
32405 * banshee.pc.in: Added two missing assemblies to Libs
32407 * docs/*: Updated Monodoc Documentation
32409 2005-12-30 Aaron Bockover <aaron@aaronbock.net>
32411 * banshee.pc.in: Updated so plugins can actually use it (-pkg:banshee
32414 * src/Banshee.Base/Library.cs: Added a GetTrack method
32416 2005-12-30 Aaron Bockover <aaron@aaronbock.net>
32418 * banshee.mdp: Updated MonoDevelop project
32420 * data/UIManagerLayout.xml: Added a plugin menu item
32422 * src/BansheeDbusClient.cs: Updated to reflect path/interface renaming
32424 * src/DapPropertiesDialog.cs: Fixed name in source header
32426 * src/PlayerInterface.cs: Show the plugins dialog on the plugin action
32428 * src/Banshee.Base/ActionManager.cs: Added a plugin action for showing
32431 * src/Banshee.Base/Makefile.am: Added Plugins/PluginDialog.cs
32433 * src/Banshee.Base/Plugins/Plugin.cs: Plugins can now be loaded and
32434 unloaded during execution as well as at startup; the 'Enabled' key
32435 belongs to the plugin manager, plugins can show a configuration dialog;
32436 added abstract metadata properties; plugin entry/exit methods renamed
32438 * src/Banshee.Base/Plugins/PluginCore.cs: Better plugin handling; plugins
32439 can be disabled if they fail, but still remain visible; plugins can
32440 be loaded/unloaded during execution
32442 * src/Banshee.Base/Plugins/PluginDialog.cs: Dialog to allow management
32443 of plugins (loading/unloading/configuring)
32445 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerConfigDialog.cs: Use
32446 the plugin description from AudioscrobblerPlugin
32448 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs: Renamed
32449 the old 'Enabled' key as the base plugin class uses that key now; properly
32450 unload the menu UI on Dispose; updated to reflect changes in base class;
32451 implement ShowConfigurationDialog
32453 * src/Banshee.Plugins/Audioscrobbler/audioscrobbler.schemas.in: Added
32454 the EngineEnabled key as the plugin may be enabled (Enabled key used
32455 by base class now) but user may want to turn off submissions
32457 * src/Banshee.Plugins/FileSystemMonitor/Makefile.am: Added Mono.Posix ref
32459 * src/Banshee.Plugins/FileSystemMonitor/Watcher.cs: updated to reflect
32460 changes in base class; throw exception to disable this plugin for now as
32461 it is incomplete and broken
32463 2005-12-30 Aaron Bockover <aaron@aaronbock.net>
32465 * src/TrackProperties.cs:
32466 * src/Banshee.Base/ActionManager.cs:
32467 * data/banshee.glade: Updated wording for the track properties editor to
32468 read 'Edit Song Metadata/Editing Song x of y' and so forth
32470 * src/TrackProperties.cs: Do all track saving in the main thread, it
32471 is not expensive, and users probably aren't going to have thousands
32472 of tracks in the editor at a time; update the main UI if the current
32473 playing track is one that was edited (fixes BGO #325078)
32475 * src/LibraryTransactions.cs: Removed TrackInfoSaveTransaction
32477 * src/NotificationAreaIcon.cs: Pull track duration from TrackInfo object
32478 loaded in PlayerEngineCore.ActivePlayer and not from the playing stream
32479 directly (read metadata instead of stream length) - fixes BGO #325079
32481 * src/PlayerInterface.cs: Only sensitize the source properties action
32482 when a source has property dialog support (Fixes BGO #325076); Expose
32483 UpdateMetaDisplay as public; Call LoadSettings() after registering
32484 handlers for all actions, which will allow the proper action handler
32485 to be called at startup (Fixes BGO #325139)
32487 * src/Sources.cs: Name of library source is now just 'Music Library',
32488 Fixes BGO #324652; Source now provides a ShowPropertiesDialog member
32489 sources can implement; moved property dialog for the DAP source from
32490 PlayerInterface.cs to DapSource.ShowPropertiesDialog
32492 2005-12-29 Aaron Bockover <aaron@aaronbock.net>
32494 * banshee.mdp: Updated MonoDevelop project
32496 * configure.ac: Output src/Banshee.Plugins/FileSystemMonitor files
32498 * data/banshee.schemas.in: Removed key for FileSystemMonitor; the plugin
32499 installs its own schemas now
32501 * src/Core.cs: Moved almost everything to Banshee.Base.Globals; renamed
32502 to PlayerCore, and is now a static class
32504 * src/Dialogs.cs: Removed specific playlist dialog
32507 * src/LibraryTransactionManager.cs:
32508 * src/LibraryTransactionStatus.cs:
32509 * src/LibraryTransactions.cs:
32510 * src/PlaylistColumns.cs:
32511 * src/PlaylistModel.cs:
32512 * src/Preferences.cs:
32513 * src/RipTransaction.cs:
32514 * src/SourceView.cs:
32515 * src/Main.cs: Updated to reflect moves from Banshee.Core to
32516 Banshee.Base.Globals and renaming of Banshee.Core to Banshee.PlayerCore
32518 * src/PlayerInterface.cs: Same as above changes; handle
32519 Banshee.Base.Library.Reloaded in a much better manner
32521 * src/Banshee.Base/FileNamePattern.cs: Cleaned up, reformatted; reference
32522 proper library path
32524 * src/Makefile.am: Added new files; removed old files
32526 * src/StockIcons.cs: Added a null test for the icon_set
32528 * src/Banshee.Base/Globals.cs: Added initialization code from old
32529 Banshee.Core; effectively places Library/Database access in
32530 Banshee.Base, for plugin access
32532 * src/Banshee.Base/Makefile.am: Added new files
32534 * src/Banshee.Base/Library.cs:
32535 * src/Banshee.Base/SqlGenerator.cs:
32536 * src/Banshee.Base/LibraryTrackInfo.cs:
32537 * src/Banshee.Base/FileTrackInfo.cs:
32538 * src/Banshee.Base/Database.cs: Library/Database support is now in
32539 Banshee.Base and can be consumed by plugins
32541 * src/Banshee.Base/Plugins/Plugin.cs:
32542 * src/Banshee.Base/Plugins/PluginCore.cs: Plugins must now provide an
32543 override for new Initialize method; may not use constructors for
32544 initialization; proper namespace naming is now enforced; added
32545 configuration keys support for GConf
32547 * src/Banshee.Plugins/Makefile.am: Added FileSystemMonitor to SUBDIRS
32549 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs: Adapt to
32550 changes in base Plugin class and new GConf support in base class
32552 * src/Banshee.Plugins/Audioscrobbler/Engine.cs: Source.Remove changed to
32553 GLib.Source.Remove to avoid namespace conflicts
32555 * src/Banshee.Plugins/FileSystemMonitor/*.cs: Moved from src/
32557 * src/Banshee.Plugins/FileSystemMonitor/Watcher.cs: Refactored to
32558 implement as a Banshee Plugin
32560 * src/Banshee.Plugins/FileSystemMonitor/FileSystemMonitor.dll.config.in:
32561 DLL map for assembly
32563 * src/Banshee.Plugins/FileSystemMonitor/filesystemmonitor.schemas.in:
32564 GConf schemas for plugin
32566 2005-12-29 Takeshi AIHANA <aihana@gnome.gr.jp>
32568 * configure.ac: Added 'ja' (Japanese) to ALL_LINGUAS again,
32569 since was lost current version.
32571 2005-12-28 Aaron Bockover <aaron@aaronbock.net>
32573 * banshee.mdp: Updated MonoDevelop project
32575 * src/NotificationAreaIcon.cs: Better positioning
32577 * src/Banshee.Base/TrackInfoHeader.cs: Hide cover if default cover is null
32579 * src/Banshee.Base/TrackInfoPopup.cs: Remove the radial progress widget,
32580 replaced by a subtle linear one to the right of the time label. Much less
32581 intrusive and distracting, and reduces size of widget
32583 * src/Banshee.Widgets/RadialProgress.cs: Some minor fixes, and #ifed out
32586 * src/Banshee.Widgets/LinearProgress.cs: Simple GDK progress bar that
32587 draws a line and a bar, very very simple and subtle drawing
32589 * src/Banshee.Widgets/Makefile.am: added LinearProgress.cs
32591 2005-12-25 Aaron Bockover <aaron@aaronbock.net>
32593 * src/NotificationAreaIcon.cs: Handle the default timeout a little better
32595 2005-12-25 Aaron Bockover <aaron@aaronbock.net>
32597 * banshee.mdp: Updated MonoDevelop project
32599 * src/Makefile.am: Removed TrackInfoHeader.cs
32601 * src/NotificationAreaIcon.cs: Show the new TrackInfoPopup widget when
32602 user hovers over the icon or the track changes
32604 * src/PlayerInterface.cs: Send the NotificationAreaIconContainer an entire
32605 track instead of just a string for a tooltip
32607 * src/Banshee.Base/TrackInfoHeader.cs: Moved from src/ so TrackInfoPopup
32608 can embed the widget
32610 * src/Banshee.Base/TrackInfoPopup.cs: A little Christmas candy to display
32611 a very nice track info/progress summary in a 'tooltip,' using the same
32612 header widget in the main interface, and if Cairo/GTK+-2.8 is available,
32613 show track progress using the new RadialProgress widget
32615 * src/Banshee.Base/Makefile.am: Added TrackInfoHeader.cs, TrackInfoPopup.cs
32617 * src/Banshee.Widgets/Makefile.am: Added RadialProgress.cs
32619 * src/Banshee.Widgets/RadialProgress.cs: New progress widget that shows
32620 a 'pie' or radial progress; can optionally draw 'clock' ticks; requires
32621 Mono.Cairo and GTK+-2.8
32623 2005-12-22 Aaron Bockover <aaron@aaronbock.net>
32625 * src/MusicBrainz/sync-tree.sh: Added script to keep Banshee checkout of
32626 musicbrainz-sharp in sync with the working development repository; the
32627 development of this code has been moved outside of Banshee:
32629 svn://abock.org/svn/trunk/musicbrainz-sharp
32631 * src/MusicBrainz/Makefile.am: Updated to cleaner, synced version
32633 2005-12-23 Chris Toshok <toshok@ximian.com>
32635 * src/Banshee.Plugins/Audioscrobbler/Makefile.am (PKG_REFERENCES):
32636 add -r:System.Web.dll.
32638 * src/Banshee.Plugins/Audioscrobbler/Engine.cs: drop the hacky
32639 UrlEncode in favor of HttpUtility.UrlEncode; add a check for
32640 Globals.Network.Connected in EngineTick, so we delay any network
32641 traffic until we're connected.
32643 2005-12-22 Aaron Bockover <aaron@aaronbock.net>
32645 * src/Banshee.Widgets/CoverArtThumbnail.cs (CoverArtView.OnExposeEvent):
32646 Fixed really stupid drawing bug
32648 2005-12-22 Aaron Bockover <aaron@aaronbock.net>
32650 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerConfigDialog.cs:
32651 Added a cute little Audioscrobbler 'powered by' graphic
32653 * src/Banshee.Plugins/Audioscrobbler/audioscrobbler-logo.png: AS logo
32655 * src/Banshee.Plugins/Audioscrobbler/Makefile.am: embed
32657 * src/Banshee.Plugins/Audioscrobbler/Engine.cs: Removed old_state to
32658 silence the cautionary screams of mcs
32660 2005-12-22 Chris Toshok <toshok@ximian.com>
32662 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs:
32663 remove the SetPlayer method and calls. Instead just call
32664 protocol_engine.Start.
32666 * src/Banshee.Plugins/Audioscrobbler/Engine.cs: use a GLib.Timeout
32667 instead of relying on the Player's tick event; Don't keep a
32668 reference to a player around, just fetch it in the EngineTick
32669 method; fix up the state assignment around the async calls and
32670 deal with exceptions in current_web_req.End*; reformat things to
32671 be more in keeping with the style guidelines.
32673 2005-12-22 Aaron Bockover <aaron@aaronbock.net>
32675 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs: Changed
32676 wording of 'Home page' to 'Profile page'
32678 2005-12-22 Aaron Bockover <aaron@aaronbock.net>
32680 * banshee.mdp: Updated MonoDevelop project
32682 * data/UIManagerLayout.xml: Added a placeholder for plugins to insert
32683 menu items in the music toplevel menu
32685 * src/DapPropertiesDialog.cs: Moved the PropertyTable class
32688 * src/Banshee.Plugins/Audioscrobbler/Engine.cs: Fixed a bug regarding
32689 track queueing; fixes a few submission bugs noted on the mailing list
32691 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs: Added
32692 UI integration into main menu; added properties to get/set username,
32693 password, and enable status; added path to launch the config dialog
32695 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerConfigDialog.cs:
32696 Configuration dialog for setting username/password and enabling AS support
32698 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerMenu.xml: UIManager
32699 menu layout for AS plugin
32701 * src/Banshee.Plugins/Audioscrobbler/Makefile.am: Link against
32702 Banshee.Widgets.dll and embed AudioscrobblerMenu.xml as a resource;
32703 added AudioscrobblerConfigDialog.cs
32705 * src/Banshee.Widgets/Makefile.am: Added PropertyTable.cs
32707 * src/Banshee.Widgets/PropertyTable.cs: Moved property table class from
32708 src/DapPropertiesDialog.cs
32710 2005-12-22 Miguel de Icaza <miguel@novell.com>
32712 * src/Banshee.Widgets/NotificationAreaIcon.cs: More fixing of
32715 2005-12-19 Miguel de Icaza <miguel@novell.com>
32717 * src/Banshee.Widgets/NotificationAreaIcon.cs: Fix the miss-use of
32718 unions and string marshalling. This should now run with Mono
32721 2005-12-22 Aaron Bockover <aaron@aaronbock.net>
32723 * src/Banshee.Plugins/Makefile.am: Remove Banshee.Plugins dir on uninstall
32725 * configure.ac: Do not generate src/ipod-sharp.dll.config
32727 * en/*: Updated docs
32729 * configure.ac: Version 0.10.2
32731 * NEWS: Updated with 0.10.2 release notes
32733 2005-12-21 Aaron Bockover <aaron@aaronbock.net>
32735 * src/Banshee.Plugins/Audioscrobbler/AudioscrobblerPlugin.cs: Plugin class
32736 for Chris Toshok's Audioscrobbler support
32738 * src/Banshee.Plugins/Audioscrobbler/Engine.cs: toshok's Audioscrobbler
32739 protocol implementation/engine class
32741 * src/Banshee.Plugins/Audioscrobbler/audioscrobbler.schemas.in: GConf
32742 schemas for the Audioscrobbler plugin
32744 * src/Banshee.Plugins/Audioscrobbler/Audioscrobbler.dll.config.in: DLL
32745 maps for the Audioscrobbler.dll plugin
32747 * src/Banshee.Plugins/Makefile.am: Added Audioscrobbler to SUBDIRS
32749 * src/Banshee.Base/Plugins/Plugin.cs: Simple generic plugin base class
32751 * src/Banshee.Base/Plugins/PluginCore.cs: Core to load/unload plugins
32752 at runtime from types in assemblies that implement Banshee.Plugins.Plugin
32754 * banshee.mdp: Updated MonoDevelop project
32756 * configure.ac: Generate necessary files for Audioscrobbler plugin
32758 * src/AboutBox.cs: Added Chris Toshok and Jeff Tickle
32760 * src/Makefile.am: Added Banshee.Plugins to SUBDIRS
32762 * src/Banshee.Base/Globals.cs: Initialize/Dispose PluginCore
32764 * src/Banshee.Base/Paths.cs: Added SystemPluginDirectory
32765 and UserPluginDirectory paths
32767 2005-12-21 Jeff Tickle <jeff@jefftickle.com>
32769 * src/PlayerInterface.cs: Resurrected the Repeat Toggle Button
32770 down in the bottom-left; it now works properly with Gtk.ToggleAction
32772 * src/Banshee.Widgets/MultiStateToggleButton.cs:
32773 * src/Banshee.Widgets/ToggleState.cs: Removed all the menu action
32774 crap and replaced it with Gtk.ToggleAction support
32776 2005-12-21 Aaron Bockover <aaron@aaronbock.net>
32778 * src/Core.cs: Remove all IPlayerEngine code as it is now in Banshee.Base
32781 * src/PlayerInterface.cs:
32782 * src/PlaylistModel.cs:
32783 * src/Preferences.cs: Fix references from Core.Instance.Player to
32784 Banshee.Base.PlayerEngineCore.ActivePlayer
32786 * src/Banshee.Base/Makefile.am: Added PlayerEngineCore.cs
32788 * src/Banshee.Base/PlayerEngineCore.cs: Moved all IPlayerEngine code to
32789 new static class accessible to plugins
32791 2005-12-21 Aaron Bockover <aaron@aaronbock.net>
32793 * banshee.mdp: Updated MonoDevelop project
32795 * data/banshee.desktop.in.in: Updated Exec pattern
32797 * src/Library.cs: Added new source for the "Frobinator", LocalQueueSource
32799 * src/Main.cs: Support --enqueue
32801 * src/Makefile.am: Added FileTrackInfo.cs
32803 * src/FileTrackInfo.cs: New TrackInfo class that works only with local
32804 files; does not touch the Library
32806 * src/PlayerInterface.cs: Select the Frobinator if it is filled as the
32807 default source; Support the Frobinator when changing sources
32809 * src/PlaylistModel.cs (LoadFromLocalQueue): Support loading from the
32812 * src/SourceView.cs: Support adding the Frobinator as a source
32814 * src/Banshee.Base/ArgumentQueue.cs: Added "File" support with the
32815 --enqueue option... it is very special
32817 * src/Banshee.Base/Dap/Dap.cs: Fixed minor bug with GetIcon
32819 2005-12-21 Aaron Bockover <aaron@aaronbock.net>
32821 * src/Main.cs: Refactored, organized, and cleaned up the entry
32822 code, command line parsing, and instance detection; added three new
32823 command line arguments: --set-position, --hide-field, and --dap
32825 * src/DBusIPC.cs: Added a SelectDap method akin to SelectAudioCd, works
32826 with --dap %h (for Gnome Volume Manager); for any D-Bus methods that
32827 return string, ensure null is not returned to avoid dbus-sharp bug (return
32828 String.Empty instead)
32830 2005-12-21 Aaron Bockover <aaron@aaronbock.net>
32832 * src/Main.cs: if D-Bus support is disabled, fall back on process
32833 checking to do instance detection
32835 * src/Banshee.Base/NetworkDetect.cs: Do not try to Dispose a null
32836 NetworkManager.Manager object
32838 * src/DBusIPC.cs: Do not die when D-Bus can't be found; log a warning and
32839 continue to load the player, but some features will probably be disabled:
32841 IPC commands and queries / instance detection (Session Bus)
32843 - Audio CD detection
32845 NetworkManager (System Bus)
32847 2005-12-20 Aaron Bockover <aaron@aaronbock.net>
32849 * banshee.mdp: Updated MonoDevelop project
32851 * src/PlayerInterface.cs: Added UI support for Audio CD status reporting
32852 using the HighlightMessageArea widget
32854 * src/Banshee.Base/ImportManager.cs: Fall back on the Stock.Find icon
32856 * src/Banshee.Base/NetworkDetect.cs: Expose NetworkManager.Manager
32858 * src/Banshee.Base/Dap/DapCore.cs: Play nice when the Banshee.Dap
32859 directory does not exist, fixes BGO #
32861 * src/Banshee.Widgets/Makefile.am: Renamed HighlightStatusBar.cs to
32862 HighlightMessageArea.cs
32864 * src/Banshee.Widgets/HighlightMessageArea.cs: Renamed file from
32865 HighlightStatusBar.cs; finished initial working version of the widget
32866 with proper drawing and actions
32868 2005-12-19 Aaron Bockover <aaron@aaronbock.net>
32870 * src/Banshee.Widgets/NotificationAreaIcon.cs: Cleaned up code, and Miguel
32871 committed his string marshalling fix regarding 77026 in Ximian Bugzilla;
32872 removed Banshee.Widgets namespace to keep maintainence easier for other
32875 * src/NotificationAreaIcon.cs: class renamed to
32876 NotificationAreaIconContainer; adjust instantiation of NotificationAreaIcon
32877 to reflect removal of Banshee.Widgets namespace
32879 * data/banshee.glade: renamed the main/view container 'Main Container'
32881 * banshee.mdp: Updated MonoDevelop project
32883 * src/Banshee.Widgets/HighlightStatusBar.cs: skeleton for new widget
32884 to show 'important' status messages
32886 * src/Banshee.Widgets/Makefile.am: added HighlightStatusBar.cs
32888 * src/Banshee.Dap/Ipod/IpodDap.cs: removed manual path lookup for icon
32889 fallback; rely only on base.GetIcon if icon is not in the theme
32891 * src/Banshee.Base/NetworkDetect.cs: Added Dispose method to chain into
32894 * src/Banshee.Base/NetworkManager/Manager.cs: Added a Dispose method
32895 to suppress the GC finalizing the D-Bus proxy object to work around
32896 the bad IL in finalizer bug
32898 * src/Banshee.Base/Globals.cs: Call Dispose on NetworkDetect
32900 * src/Banshee.Base/IconThemeUtils.cs: Added a new LoadIcon overload
32901 to accept a params array of icon names for fallbacks:
32902 LoadIcon("multimedia-player-ipod", "multimedia-player",
32905 * src/Main.cs: Suppress finalizing the dbusCore D-Bus proxy object
32907 * src/PlayerInterface.cs: Do not show the rating/playcount/last played
32908 columns in the audio CD view; remove references to the SyncColumn; don't
32909 steal space when source view is in edit mode; show the song title in
32910 the title bar; unregister the dbus server object when we shut down banshee;
32911 NotificationAreaIcon->NotificationAreaIconContainer; add skeleton support
32912 for the new HighlightStatusBar for Audio CD status messages
32914 * src/PlaylistView.cs: expose the rating/playcount/last played columns
32915 so the main UI can show/hide as needed for different views; remove the
32916 sync column; show DRM/protected status in the play indicator column
32918 * src/RatingRenderer.cs: minor fixes
32920 * src/SourceView.cs: pull in the audio cd source icon from the theme;
32921 add an EditingRow property to tell the UI that the source view is
32924 2005-12-18 Aaron Bockover <aaron@aaronbock.net>
32926 * banshee.mdp: Updated MonoDevelop project
32928 * src/Library.cs: Updated to allow proper device renaming
32930 * src/DapPropertiesDialog.cs: Dialog box to show properties of a DAP;
32931 allows changing of the Name and Owner properties
32933 * src/Makefile.am: Added DapPropertiesDialog.cs
32935 * src/PlayerInterface.cs: Enable showing of the properties dialog for
32936 DAPs; properly update DAP devices when name/owner is changed
32938 * src/Banshee.Base/Utilities.cs: Added a ReflectionUtil class - contains
32939 IsVirtualMethodImplemented which determines if a subclass implements
32940 a virtual method in its base class; used by Banshee.Dap.DapDevice to
32941 see if a DAP supports setting the name and/or owner on the device
32943 * src/Banshee.Base/Dap/Dap.cs: Allow detecting whether or not the DAP
32944 supports setting name/owner; move setting to SetName/SetOwner as a virtual
32945 method for DAP implementations to override
32947 * src/Banshee.Dap/Ipod/IpodDap.cs: Implement SetName/SetOwner
32949 * src/Banshee.Dap/Njb/NjbDap.cs: Implement SetOwner
32951 2005-12-18 Gabriel Burt <gabriel.burt@gmail.com>
32953 * data/banshee.desktop.in.in: Change Comment to 'Play and organize
32954 your music', following suggestions of the HIG.
32956 * data/banshee.glade: Change CheckButton labels to sentence case.
32958 * src/PlayerInterface.cs: Change tooltips to sentence case.
32960 * src/Banshee.Base/PipelineProfile.cs: Add comment for translators.
32962 2005-12-18 Aaron Bockover <aaron@aaronbock.net>
32964 * src/PlayerInterface.cs: Show a warning dialog when trying to play
32965 an "unplayable" track; set the window icon and title for log dialogs
32967 * src/Banshee.Dap/Njb/Makefile.am: Added NjbDapTrackInfo.cs
32969 * src/Banshee.Dap/Njb/NjbDapTrackInfo.cs: DapTrackInfo implementation for
32972 * src/Banshee.Dap/Njb/NjbDap.cs: Added support to list tracks; install
32973 device properties from the device
32975 * src/Banshee.Base/Dap/Dap.cs: Added UID support through the public
32978 * src/Banshee.Base/Dap/DapTrackInfo.cs: All implementations now have
32979 CanSaveToDatabase = false
32981 * src/Banshee.Base/IPlayerEngine.cs:
32982 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs:
32983 * src/Banshee.MediaEngine/Helix/HelixPlayer.cs:
32984 * src/Banshee.MediaEngine/Vlc/VlcPlayerEngine.cs: Changed Open method
32985 to accept a System.Uri as a second parameter - use it instead of
32988 2005-12-18 Aaron Bockover <aaron@aaronbock.net>
32990 * src/PlayerInterface.cs: Updated DAP synchronize dialog to have wording
32991 generic for all DAPs (was very iPod specific), use HighlightedSource
32992 instead of SelectedSource for getting the DapSource
32994 * src/Banshee.Dap/Njb/NjbDap.cs: Added a GenericName override, added
32995 SupportedCodec attributes
32997 2005-12-18 Aaron Bockover <aaron@aaronbock.net>
32999 * vacuum.sh: Removed
33001 * Makefile.am: Added MAINTAINERCLEANFILES
33003 2005-12-18 Aaron Bockover <aaron@aaronbock.net>
33005 * configure.ac: Do not copy the provided njb-sharp.dll.config from
33006 njb-sharp; we provide our own for the sake of libnjbglue.
33008 * src/Banshee.Dap/Njb/njb-sharp.dll.config.in: Added njb-sharp.dll DLL
33009 map for libnjb/libusb/libnjbglue
33011 * src/Banshee.Dap/Njb/Makefile.am: Install njb-sharp.dll.config
33013 * src/Banshee.Dap/Njb/NjbDap.cs: Initialize the NJB Discoverer inside
33014 the NjbDap type constructor and catch any exceptions it may throw;
33015 rely on Njb.DeviceId table to pre-verify a USB device as an NJB device
33016 using usb.vendor_id and usb.product_id properties from HAL (removes
33017 requirement of updated FDI files in HAL to expose a
33018 portable_audio_player.type=njb property; Have the discoverer rescan for
33019 NJB devices after a new USB device passes the vendor_id/product_id test
33021 * src/Banshee.Dap/Njb/NjbDap.cs:
33022 * src/Banshee.Dap/Ipod/IpodDap.cs: Do not try to fall back on loading
33023 custom icon from a path. Only try custom icon from the theme and fall
33024 back on base.GetIcon()
33026 * src/Banshee.Base/Dap/DapCore.cs: Added a timeout+re-probe to handle
33027 a device throwing WaitForTimeoutException during probe initialization
33029 * src/Banshee.Base/Dap/DapMisc.cs: Added WaitForTimeoutException that is
33030 similar to WaitForPropertyChangeException only the re-probe mechanism
33031 is a timeout instead of a property change signal from HAL; not actually
33032 in use, but could be useful for other DAP detection in the future
33034 * src/Core.cs: Removed UserRealName/UserFirstName fields;
33036 * src/Library.cs: Removed old IpodSource; show the user's name for
33037 the name of the library (i.e. Aaron's Music Library)
33039 * src/PlayerInterface.cs: All custom source name setting is done in
33040 the proper source (LibrarySource was changed for this); minor syntax
33043 2005-12-17 Aaron Bockover <aaron@aaronbock.net>
33046 * data/images/Makefile.am:
33047 * data/images/ipod/*: Removed ipod/DAP images as they will be a part of
33048 an extended version of the Tango icon theme (http://tango-project.org).
33049 A separate package for installing these icons into Tango is available
33050 for the time being:
33052 http://banshee-project.org/files/misc/tango-extra-devices-0.6.2.tar.gz
33054 2005-12-14 Aaron Bockover <aaron@aaronbock.net>
33056 * configure.ac: Version 0.10.1 release; only check for spider GStreamer
33057 element against GStreamer 0.8
33059 * src/PlayerInterface.cs: Re-enable tooltips, perform source actions
33060 on the highlighted source instead of selected source
33062 * docs/en/*: Updated monodoc documentation
33064 2005-12-14 Aaron Bockover <aaron@aaronbock.net>
33066 * configure.ac: Version 0.10.1
33068 * banshee.mdp: Updated MonoDevelop project
33070 * data/Makefile.am: Added banshee.glade and UIManagerLayout.xml
33072 * data/banshee.glade: Consolidated multiple glade files from data/glade/*
33074 * data/UIManagerLayout.xml: XML defining menus for new UIManager/Action
33075 layout; actions defined in src/Banshee.Base/ActionManager.cs
33077 * data/glade/*: Removed; glade is now in data/banshee.glade
33079 * data/images/ipod/Makefile.am: Install icons to devices/ instead of
33083 * src/RipTransaction.cs:
33084 * src/Banshee.Base/FileEncodeAction.cs: Set the Header property on
33085 ActiveUserEvent to show more detail when performing actions
33087 * src/TrackProperties.cs: Load UI from banshee.glade, do not show
33088 advanced properties option if tracks are on an audio CD
33090 * src/Preferences.cs: Load UI from banshee.glade
33092 * src/DBusIPC.cs: Added more functionality to D-Bus API thanks in part
33093 to Thijs Vermeir: set volume/set position
33095 * src/BansheeDbusClient.cs: Added abstract signatures to BansheeCore
33098 * src/Library.cs: Moved BytesToString to Banshee.Dap.Utilities; replaced
33099 local calls with Utilities.BytesToString
33101 * src/LibraryTrackInfo.cs: Read ASIN from the database to enable cover
33102 art from local tracks where this is set (by the banshee ripper)
33104 * src/Makefile.am: Removed data/glade/* references; replaced with
33105 references to data/banshee.glade
33107 * src/VersionInformationDialog.cs: Increased default width of dialog
33109 * src/SourceView.cs: Moved ColorBlend to Banshee.Base.Utilities; added
33110 a ResetHighlight method to highlight the selected/active source (this is
33111 used by the source popup menu in PlayerInterface.cs)
33113 * src/Banshee.Widgets/CoverArtThumbnail.cs: Added a new cover art
33114 widget class: CoverArtView that simply draws a cover and scales
33115 with the correct ratio; used to display cover art underneath the
33116 source view in the main interface
33118 * src/StockIcons.cs: Load all theme icons that Banshee will need as
33119 stock icons, fall back on resource icons if not available as stock
33122 * src/TrackInfoHeader.cs: Redesigned header for displaying track
33125 * src/NotificationAreaIcon.cs: Use Globals.ActionManager to load the
33128 * src/PlayerInterface.cs: Moved all menu and major buttons to the new
33129 UIManager/Action setup; cleaned up, refactored, and reorganized a lot
33130 of code; added some methods to allow the D-Bus object to set the volume
33131 and perform seek operations; Added/fixed --audio-cd, --dap, and --play
33132 command line option support; lots of general UI clean up and polish
33134 * src/Banshee.Widgets/Makefile.am: Added ActionButton.cs
33136 * src/Banshee.Widgets/ActionButton.cs: Two classes that work with
33137 Gtk.Action objects: ActionButton and ActionToggleButton
33139 * src/Banshee.Base/ActionManager.cs: Define all actions and some
33140 helper methods for dealing with Gtk.Action and widgets
33142 * src/Banshee.Base/Dap/Dap.cs: GetIcon falls back first on the
33143 generic multimedia-player icon from the icon theme and then on
33144 gnome-dev-ipod; provide GenericName and HalUdi properties
33146 * src/Banshee.Dap/Ipod/IpodDap.cs: Load ipod icon from the theme
33147 and fall back on loading from a file; implement GenericName, return
33150 * src/Banshee.Base/ArgumentQueue.cs: Dequeue returns the object just
33151 removed from the queue
33153 * src/Banshee.Base/IconThemeUtils.cs: Added HasIcon() method to
33154 determine if an icon is available in the defaul theme
33156 * src/Banshee.Base/Utilities.cs: Fixed BytesToString implementation
33157 to properly round and display fractional GB sizes; added ColorBlend
33160 * src/Banshee.Base/Makefile.am: Added UIManagerLayout.xml as a resource
33162 * src/Banshee.Base/Globals.cs: Added ActionManager property to return
33163 global ActionManager instance
33165 * src/Banshee.Base/GConfKeys.cs: Added ShowCoverArt key
33167 2005-12-13 Aaron Bockover <aaron@aaronbock.net>
33169 * src/BansheeDbusClient.cs: Sample program using the the Banshee D-Bus
33170 API to do basic playback control and display the current song
33172 * src/BansheeDbusClient.Makefile: A simple Makefile to build the
33173 Banshee Dbus Client sample program
33175 * src/Makefile.am: Added BansheeDbusClient.{Makefile,cs} to EXTRA_DIST;
33176 added a 'dbus-client-sample' rule to build the sample client
33178 2005-12-08 Aaron Bockover <aaron@aaronbock.net>
33180 * src/Banshee.Base/Utilities.cs: Added UnmountVolume and ExecProcess
33183 * src/Banshee.Base/AudioCd/AudioCdDisk.cs: Call Utilities.UnmountVolume
33184 if audio CD happens to be mounted (multi-session disk) before calling
33187 * src/Banshee.Base/HalCore.cs: Added license header to file
33189 2005-12-08 Aaron Bockover <aaron@aaronbock.net>
33191 * src/Bashee.Base/AudioCd/AudioCdCore.cs: Fixed minor detection bug;
33192 multi-session discs were only being detected - regular audio CDs were not
33194 2005-12-08 Aaron Bockover <aaron@aaronbock.net>
33196 * src/Banshee.Base/NetworkDetect.cs: whoops, missing closing parenthesis
33198 2005-12-08 Aaron Bockover <aaron@aaronbock.net>
33200 * src/Banshee.Base/NetworkDetect.cs: Only fire StateChanged event
33201 if the state change is State.Connected or State.Disconnected
33202 * src/Banshee.Base/NetworkManager/Manager.cs: Changed header to
33203 show proper file name
33205 2005-12-08 Aaron Bockover <aaron@aaronbock.net>
33207 * banshee.mdp: Updated MonoDevelop project
33208 * src/Banshee.Base/NetworkManager/*.c: C# implementation of the
33209 NetworkManager DBus API using dbus-sharp
33210 * src/Banshee.Base/NetworkDetect.cs: front-end class to basic network
33211 detection and notification through NetworkManager; if NetworkManager
33212 is not available, NetworkDetect always assumes a connection is available
33213 * src/Banshee.Base/AudioCdDisk.cs: Become 'Network Aware': will not
33214 attempt to fetch track information from MusicBrainz if there is
33215 not a network connection; will fetch information once a connection
33217 * src/Banshee.Base/Makefile.am: Added NetworkManager C# sources
33218 * src/Banshee.Base/Globals.cs: Added a Network property and
33219 placeholder Dispose method
33220 * src/Core.cs (Shutdown): Call Globals.Dispose()
33222 2005-12-06 Aaron Bockover <aaron@aaronbock.net>
33224 * src/PlaylistModel.cs: Minor fix
33226 2005-12-06 Aaron Bockover <aaron@aaronbock.net>
33228 * configure.ac: Fixed weird VERSION/ASM_VERSION definitions; Version 0.10
33232 2005-12-06 Aaron Bockover <aaron@aaronbock.net>
33234 * configure.ac: Require ipod-sharp 0.5.12
33236 * docs/*: Updated API Documentation
33238 * banshee.mdp: updated MonoDevelop project
33240 * src/Banshee.Widgets/ActiveUserEvent.cs: Fixed bug regarding multiple
33243 * src/Banshee.Dap/Njb/Makefile.am: Link against Banshee.Widgets.dll
33245 * src/Banshee.Dap/Njb/NjbDap.cs: Placeholder implementation of
33248 * src/Banshee.Dap/Ipod/Makefile.am: link against Banshee.Widgets.dll
33251 * src/Banshee.Dap/Ipod/IpodDapTrackInfo.cs: Updated with minor fixes
33253 * src/Banshee.Dap/Ipod/IpodDap.cs: Full syncing implementation of new
33254 syncing support in generic DAP base class
33256 * src/Banshee.Base/Dap/DapMisc.cs: Misc/Utility generic DAP supporting
33259 * src/Banshee.Base/Dap/Dap.cs: Now supports manual and automatic generic
33260 syncing and transcoding
33262 * src/Banshee.Base/Utilities.cs: Disabled Event class, added
33263 PathUtil.MakeFileNameKey
33265 * src/Banshee.Base/Makefile.am: add PipelineProfile.cs, FileEncoder.cs,
33266 GstFileEncoder.cs, FileEncodeAction.cs, DapMisc.cs
33268 * src/Banshee.Base/IconThemeUtils.cs: Use Entry Assembly instead of
33269 Calling Assembly as all the resources are in the Entry Assembly
33271 * src/Banshee.Base/HalCore.cs: Don't use Event.Invoke for now, it has
33274 * src/Banshee.Base/GstMisc.cs: Add filter to mime-type fetching in case
33275 mime type is returned with attributes (gvfs)
33277 * src/SourceView.cs: Re-enabled DAP updating through DnD
33279 * src/PlaylistView.cs: Safe-guard against potential nullrefs in the
33280 renderer data functions
33282 * src/PlayerInterface.cs: Connected DAP GUI elements back to DAP
33283 syncing events, simplified DAP syncing entry point, re-enabled DAP syncing;
33284 show ripped tracks in library view when they become available and if
33285 they match any active search (fixes BGO #316132)
33287 * src/Makefile.am: Moved FileEncoder.cs, GstFileEncoder.cs,
33288 FileEncodeTransaction.cs, and PipelineProfile.cs to Banshee.Base
33290 * src/Library.cs: Connected DapSource.IsSyncing to DAP device; moved
33291 Library.MakeFileNameKey to Banshee.Base.PathUtils
33293 2005-12-05 Aaron Bockover <aaron@aaronbock.net>
33295 * src/Banshee.MediaEngine/Gstreamer/Makefile.am: Define whether the C
33296 engine is 0.8 or 0.10
33298 * src/Banshee.MediaEngine/Gstreamer/GstPlayerEngine.cs: Added an
33299 IPlayerEngine implementation for the 0.10 backend
33301 * libbanshee/gst-playback-0.10.c: Merged the GStreamer 0.10 playback
33304 * libbanshee/gst-misc-0.10.c: Disabled typefind again, as 0.10 seems to
33305 report everything as application/x-id3
33307 * entagged-sharp/*: Updated entagged-sharp checkout
33309 2005-12-05 Mike Kestner <mkestner@novell.com>
33311 * src/Banshee.Dap/*/Makefile.am: only make the _SCRIPTS optional.
33313 2005-12-05 Aaron Bockover <aaron@aaronbock.net>
33315 * libbanshee/gst-misc-0.10.c: gstreamer_initialize and
33316 gstreamer_detect_mimetype ported to GStreamer 0.10
33318 * src/PlayerInterface.cs: disabled specialkeys for now, there are problems
33320 * src/Banshee.Widgets/ActiveUserEvent.cs: Added a Header property to
33321 show a bold header on top of the regular text message
33323 * src/Banshee.Base/ImportManager.cs: Set user_event.Header to the
33324 count progress and user_event.Message to the returned message (filename)
33326 * banshee.mdp: Updated MonoDevelop project
33328 * configure.ac: renamed --with-gstreamer-dev to --with-gstreamer-0-10,
33329 fixed some minor GStreamer 0.10 detection issues
33331 * data/glade/player.glade: Hide the 'new playlist' button, will probably
33332 be removed in the future
33334 * src/ToggleStates.cs: Updated state strings to 'Shuffle' and 'Continuous'
33336 * src/Banshee.Widgets/ActiveUserEvent.cs: minor thread fix
33338 * src/Banshee.Widgets/MultiStateToggleButton.cs: minor display fix
33340 * libbanshee/Makefile.am: Reorganized the way the GStreamer sources are
33341 handled so the -0.8 ones are used if GStreamer 0.8 is enabled and the
33342 0.10 ones if --with-gstreamer-0-10 was passed to configure
33344 * libbanshee/: Renamed gstreamer to have a gst- prefix and a version
33345 number suffix (-0.8 or -0.10). 0.10 versions have the API skeletons so
33346 they will build against GStreamer 0.10 and can be ported one at a time;
33347 tabs->spaces on everything too
33349 2005-12-04 Aaron Bockover <aaron@aaronbock.net>
33351 * src/AboutBox.cs: Added Stephane Raimbault to translators
33353 * src/Makefile.am: Make distcheck happy
33355 * src/PlayerInterface.cs: Report when a song cannot be imported
33357 * src/Banshee.Base/ImportManager.cs: Increase progress reporting resolution
33359 2005-12-04 Aaron Bockover <aaron@aaronbock.net>
33361 * configure.ac: Bump to 0.10, added fr translation to ALL_LINGUAS
33363 * banshee.mdp: Updated MonoDevelop project
33365 * docs/*: Updated API docs
33367 * entagged-sharp/Tag.cs: minor fix
33369 * libbanshee/gst-misc.c: Added gstreamer_initialize from gst-init.c;
33370 added new gstreamer_detect_mimetype function
33372 * libbanshee/gst-misc.h: Added gstreamer_initialize,
33373 gstreamer_detect_mimetype
33375 * libbanshee/Makefile.am: Removed gst-init.c/gst-init.h
33377 * libbanshee/gst-init.[ch]: Removed, gstreamer_initialize moved
33380 * libbanshee/gst-player-engine.c:
33381 * libbanshee/gst-encode.c:
33382 * libbanshee/cd-rip.c: Include gst-misc.h instead of gst-init.h
33384 * src/Makefile.am: update icon resources; build Banshee.Widgets before
33385 Banshee.Base; removed ThemeIcons.cs, GstMisc.cs (now in Banshee.Base),
33386 use $(top_builddir) instead of $(srcdir)../ for resources
33388 * src/PlaylistModel.cs: removed ImportCanUpdate; now handled by PlayerUI;
33389 removed LibraryLoadTransaction/FileLoadTransaction
33391 * src/PlayerInterface.cs: Removed old FileLoadTransaction method of
33392 importing to library; using new ImportManager - fixed BGO #314965, #318330;
33393 only show newly imported songs in the view if in library view; only add
33394 newly imported songs to library view if no search is active or the
33395 new song matches the current search; minor fixes to OnSimpleSearch;
33396 moved search matching to separate method: DoesTrackMatchSearch -
33397 fixed BGO #316102; use new IconThemeUtils for loading icons from the
33398 icon theme where applicable; fixed BGO #323202
33400 * src/LibraryTrackInfo.cs: Use Gstreamer.DetectMimeType to parse mime-type;
33401 set the mimetype field to Entagged.AudioFile.MimeType property; mime-type
33402 is now saved to the database
33404 * src/StockIcons.cs: Renamed applicable icons to the proper icon theme name
33406 * src/Core.cs (Shutdown): Call Banshee.Dap.DapCore.Dispose()
33411 * src/LogCoreViewer.cs:
33412 * src/Preferences.cs:
33413 * src/VersionInformationDialog.cs: Use IconThemeUtils to set window
33414 icon and any applicable icon theme icons
33416 * src/NotificationAreaIcon.cs:
33417 * src/ToggleStates.cs: Use IconThemeUtils
33419 * src/TrackProperties.cs: IconThemUtils to set window icon, use
33420 Gstreamer.DetectMimeType to load mime type
33422 * src/Banshee.Widgets/ActiveUserEvent.cs: Fixed up CancelRequest event
33423 invokation; added a get accessor for Fraction property
33425 * src/Banshee.Widgets/SearchEntry.cs: cleaned up a bit; added
33426 IsQueryAvailable property; return a Trim()med string for Query property
33428 * src/Banshee.Widgets/VolumeButton.cs: Use proper icon theme icon names
33430 * src/Banshee.Dap/Ipod/IpodDap.cs (Eject): Call base.Eject() after
33431 iPod specific eject finishes
33433 * src/Banshee.Dap/Ipod/Makefile.am: Cleand up a bit;
33435 * src/Banshee.Dap/Njb/Makefile.am: cleaned up a bit; install all NJB
33436 assemblies and shared libraries to Njb banshee DAP directory
33438 * src/Banshee.Dap/Njb/NjbDap.cs: More skeleton work on NJB support;
33439 devices now will show up, so detection is working; add/remove HAL events
33440 are a little out of sync, need to fix that
33442 * src/Banshee.Base/ImportManager.cs: New import backend for managing
33443 import requests and proxying final URIs to be imported; uses new
33444 ActiveUserEvent progress reporting interface
33446 * src/Banshee.Base/UriList.cs: Class for properly dealing with many
33447 forms of path/URI input (string, string with \r\n delimiters,
33448 SelectionData, and string [])
33450 * src/Banshee.Base/GstMisc.cs: moved from src/; added a DetectMimeType
33451 method to find the mime type of a file: uses GStreamer typefind element,
33452 falls back on Gnome.Vfs.MimeType, falls back on entagged/<extension>
33454 * src/Banshee.Base/IconThemeUtils.cs: utility class for loading pixbufs
33455 from the icon theme and falling back on pixbuf resources in the calling
33458 * src/Banshee.Base/Dap/DapCore.cs: Added a Dispose to properly
33459 iterate through connected devices and call their Dispose methods; Connect
33460 to the Ejected event on all Daps to remove them from the DAP table
33461 when they are ejected
33463 * src/Banshee.Base/Dap/Dap.cs: Added an Ejected event, implement
33464 IDisposable, fixed up invoke for TracksCleared; invoke new Ejected event
33466 * src/Banshee.Base/Makefile.am: Added IconThemeUtils.cs, GstMisc.cs,
33467 ImportManager.cs and UriList.cs; link against Gtk#
33469 2005-12-04 Christian Schaller <uraeus@gnome.org>
33471 * configure.ac: change testing to check for GStreamer 0.10
33473 2005-12-01 Aaron Bockover <aaron@aaronbock.net>
33475 * src/Banshee.Widgets/SimpleNotebook.cs:
33476 * src/Banshee.Widgets/SearchEntry.cs: Changed namespace to Banshee.Widgets
33477 * src/Banshee.Base/GConfKeys.cs:
33478 * src/Banshee.Base/ConfigureDefines.cs.in: Changed namespace to
33480 * src/PipelineProfile.cs:
33481 * src/PlaylistColumns.cs: Add using Banshee.Base;
33482 * Makefile.am: Added docs to SUBDIRS
33484 * docs/: Added monodoc generated API documentation for Banshee.Base,
33485 Banshee.Dap, Banshee.MediaEngine, Banshee.Widgets, and Hal
33486 * configure.ac: Added --disable-docs support
33488 * configure.ac: Use AM_GST_ELEMENT_CHECK to check for GStreamer pipeline
33489 elements that are needed at runtime
33491 2005-12-01 Aaron Bockover <aaron@aaronbock.net>
33493 * src/Banshee.Dap/Ipod/IpodDapTrackInfo.cs: DapTrackInfo implementation
33496 * configure.ac: Version 0.9.13; Added Danish translation (da) to
33497 ALL_LINGUAS; ipod-sharp is now optional; detect njb-sharp, also optional;
33498 Added --(enable|disable)-(ipod|njb)
33499 * banshee.mdp: Updated MonoDevelop project
33500 * data/glade/player.glade: Generalized all iPod references to "DAP"
33501 * hal-sharp/*: Updated to latest hal-sharp
33502 * libbanshee/hal-context.[ch]: Allow setting callback for property watching
33503 * src/AboutBox.cs: Added Lasse Bang Mikkelsen to translator credits
33504 * src/Core.cs: Removed IpodCore
33505 * src/Library.cs: Added DapSource, removed IpodSource
33506 * src/Makefile.am: Removed Ipod*.cs/ipod-sharp references
33507 * src/PlayerInterface.cs: All iPod code generalized to DAP code using
33508 new Banshee.Dap classes and DapSource. Syncing is disabled for this build
33509 as the iPod sync code needs to be migrated to the new DAP sync model;
33510 same thing with iPod properties dialog
33511 * src/PlaylistModel.cs:
33512 * src/PlaylistView.cs: iPod code generalized to DAP code
33513 * src/SourceView.cs: Removed IpodCore code; read and listen to DapCore;
33514 generalized iPod code to DAP code
33515 * src/Banshee.Base/HalCore.cs: Add property watching support
33516 * src/Banshee.Base/Dap/Dap.cs: Added more base functionality to
33517 generic abstract DapDevice class
33518 * src/Banshee.Base/Dap/DapCore.cs: Support queueing potential DAP devices
33519 in a wait table; this allows mass storage DAPs to wait for
33520 volume.is_mounted to change to true, and ask to be tested again as a DAP;
33521 added events to notify consumer when DAPs are added/removed; added a
33522 Devices[] property that lists all connected and initialized DAPs
33523 * src/Banshee.Base/Dap/DapTrackInfo.cs: tiny hack added to reduce
33524 changes needed in player interface; will fix later
33525 * src/Banshee.Dap/Ipod/IpodDap.cs: iPod implementation of DapDevice;
33526 currently read-only; syncing code needs to be migrated to new DAP sync
33528 * src/Banshee.Dap/Ipod/Makefile.am: Link against gtk-sharp-2.0, only
33529 build if ipod-sharp is enabled by configure
33530 * src/Banshee.MediaEngine/Vlc/Makefile.am: fixed minor build issue
33532 2005-11-30 Aaron Bockover <aaron@aaronbock.net>
33534 * src/Banshee.Base/SpecialKeys.cs: Added a Delay property; only raise
33535 events if duration since last raise has been longer than a set delay;
33536 fixes problems with remotes that fire on a very small delay when holding
33538 * src/PlayerInterface.cs: Use a 350MS delay for SpecialKeys; catch
33539 any exception CoverArtThumbnail may throw; only enable SpecialKeys support
33540 if turned on through GConf
33541 * src/CoverArtThumbnail.cs: Throw an exception if file can't be found
33542 * src/GConfKeys.cs: Added new key: EnableSpecialKeys
33543 * data/banshee.schemas.in: Added new schema for key: EnableSpecialKeys
33545 * src/IPlaybackModel.cs:
33547 * src/IpodTrackInfo.cs:
33548 * src/LibraryTrackInfo.cs:
33549 * src/PlayerInterface.cs:
33550 * src/PlaylistModel.cs:
33551 * src/PlaylistView.cs:
33552 * src/RipTransaction.cs:
33553 * src/TrackProperties.cs:
33554 * src/Banshee.Base/TrackInfo.cs:
33555 * src/Banshee.Base/AudioCd/AudioCdDisk.cs:
33556 typeof(Banshee.Base.TrackInfo.Duration) is now System.TimeSpan,
33557 changed from long; all references to TrackInfo.Duration updated to reflect
33560 * entagged-sharp/*: synced with SVN; (long)Length->(TimeSpan)Duration
33562 2005-11-29 Aaron Bockover <aaron@aaronbock.net>
33564 * src/PlaylistView.cs:
33565 * src/TrackProperties.cs:
33566 * src/IpodTrackInfo.cs:
33567 * src/LibraryTrackInfo.cs:
33568 * src/Banshee.Base/AudioCd/AudioCdTrackInfo.cs: Updated to reflect API
33569 changes in Banshee.Base.TrackInfo
33570 * src/Banshee.Base/TrackInfo.cs: Minor API changes, more conforming to
33571 .NET Framework Guidelines, and adjusted access levels to some properties
33572 and fields; added new BansheeTodo attributes to some unfinished properties
33573 * src/Banshee.Base/BansheeTodo.cs: Attribute class to mark types and
33574 members as "unfinished", two static methods to print TODO reports
33575 * src/Banshee.Base/Makefile.am: Added BansheeTodo.cs
33576 * src/Main.cs: Added command line option --print-todo to generate a TODO
33577 report based on the BansheeTodo attribute
33579 2005-11-29 Aaron Bockover <aaron@aaronbock.net>
33581 * src/mcs.exe: Removed internal 1.1.9.2 support
33582 * configure.ac: Require Mono 1.1.10; removed internal 1.1.9.2. mcs support
33584 * src/TrackProperties.cs:
33585 * data/glade/trackinfo.glade: Added advanced view support for MimeType and
33586 Encoding Type properties
33587 * entagged-sharp/Asf/AsfFileReader.cs: Added video/x-ms-asf as supported
33588 mimetype because gnome-vfs is dumb
33589 * entagged-sharp/*: Updated entagged-sharp checkout to latest Mono SVN;
33590 fixes BGO #320038; minor API changes and optimizations
33591 * data/banshee.desktop.in.in: Updated MimeType field with supported
33592 MimeTypes from entagged-sharp
33594 2005-11-28 Aaron Bockover <aaron@aaronbock.net>
33596 * banshee.mdp: Updated MonoDevelop project
33597 * libbanshee/cd-rip.c:
33598 * libbanshee/gst-encode.c: re-phrased keywords in error messages to
33599 be more friendly (sink->plugin, element->plugin) (BGO #321534)
33600 * libbanshee/hal-context.c: _() around error strings, fixed minor bug where
33601 dbus error message was freed before being strduped, so it allways rendered
33602 as (null); error messages make more sense; removed g_warning() calls as
33603 messages will be printed in managed land; Added MIT license header
33604 * libbanshee/hal-context.h: Added MIT license header
33605 * src/Core.cs: Catch anything Banshee.Base.HalCore.Initialize() may throw
33607 * src/Banshee.Base/HalCore.cs: Added an Initialized property; safely handle
33608 cases where HAL initialization may fail; throw proper exception with
33609 verbose warnings from hal-context.c
33610 * src/Banshee.Base/AudioCd/AudioCdCore.cs: Throw exception if HalCore is
33611 not initialized; disables Audio CD support if that happens
33612 * src/Banshee.Base/Dap/DapCore.cs: Same thing as AudioCdCore; do not
33613 load DAP assemblies if HalCore is not initialized; effectively disables
33614 DAP support in this case
33615 * src/Banshee.Widgets/NotificationAreaIcon.cs: Better NotificationAreaIcon
33616 class (fixes BGO #321684); recovers from panel crashing; moved from
33617 src/NotificationAreaIcon.cs (TrayIcon->NotificationAreaIcon)
33618 * src/Banshee.Widgets/Makefile.am: Added NotificationAreaIcon.cs
33619 * src/NotificationAreaIcon.cs: Use new NotificationAreaIcon in
33620 src/Banshee.Widgets/NotificationAreaIcon.cs
33622 2005-11-28 Aaron Bockover <aaron@aaronbock.net>
33624 * data/glade/trackinfo.glade: Added advanced info expander and table
33625 * src/TrackProperties.cs: cleaned/reformatted code, added advanced
33626 properties to dialog (file name, bitrate, channels, samplerate vbr)
33627 * data/banshee.schemas.in:
33628 * src/Banshee.Base/GConfKeys.cs: Added TrackPropertiesExpanded key to
33629 save state of advanced expander in the track properties dialog
33631 * banshee.mdp: Added data files to MonoDevelop project
33632 * data/banshee.schemas.in: Added schema for /apps/Banshee/WindowMaximized
33633 * src/Banshee.Base/GConfKeys.cs: Added new key: WindowMaximized
33634 * src/PlayerInterface.cs: Remember window maximization state, ignore
33635 saving maximization state when hiding the window (fixes BGO #316784)
33637 2005-11-28 Aaron Bockover <aaron@aaronbock.net>
33639 * src/Banshee.Base/SpecialKeys.cs: minor cleanup/trim-down
33641 2005-11-28 Aaron Bockover <aaron@aaronbock.net>
33643 * src/PlayerInterface.cs: Consume Banshee.Base.SpecialKeys and support
33644 Play/Pause, Next, and Previous MMKeys
33645 * src/Banshee.Base/SpecialKeys.cs: new fully managed SpecialKeys class
33646 that provides MMKeys support by p/invoking X11 and GDK functions; resolves
33648 * src/Banshee.Base/Makefile.am: Add SpecialKeys.cs, DapTrackInfo.cs
33649 * src/Banshee.Base/Dap/DapTrackInfo.cs: Currently empty DapTrackInfo class
33650 * src/Banshee.Base/Dap/DapCore.cs: Added license header, debug printing
33651 for new DAP arbitrary property support
33652 * src/Banshee.Base/Dap/Dap.cs: Added more base functionality to the new
33653 abstract DAP class (Dap), provides an arbitrary property system
33654 * src/Banshee.Dap/Njb/Njb.cs: Do not extend Banshee.Dap.Dap for now,
33655 empty placeholder class
33656 * src/Banshee.Dap/Ipod/Ipod.cs: Provide iPod implementation of current
33657 state of Banshee.Dap.Dap abstract class
33658 * src/Banshee.Dap/Ipod/Makefile.am: Install ipod-sharp into Banshee.Dap
33659 * src/Banshee.Dap/Ipod/ipod-sharp.dll.config.in: DLL map for ipod-sharp
33660 * configure.ac: output src/Banshee.Dap/Ipod/ipod-sharp.dll.config;
33661 new variable, IPODSHARP_ASSEMBLIES for use in
33662 src/Banshee.Dap/Ipod/Makefile.am
33663 * hal-sharp/HalDevice.cs: Updated hal-sharp snapshot, adds
33664 Hal.Device.Parent, needed by Banshee.Dap.Ipod.IpodDap
33665 * libbanshee/hal-context.c: disable debug output
33666 * banshee.mdp: Updated MonoDevelop project
33668 2005-11-27 Aaron Bockover <aaron@aaronbock.net>
33670 * src/Banshee.Base/Utilities.cs: new Event class for smart handling of
33671 invoking event delegates
33673 2005-11-26 Aaron Bockover <aaron@aaronbock.net>
33675 * src/PlayerInterface.cs: Fixed bug/exception in tray icon setup
33677 2005-11-26 Aaron Bockover <aaron@aaronbock.net>
33679 * banshee.mdp: Updated MonoDevelop project
33681 * src/Banshee.Base/Dap/DapCore.cs: Load DAP implementation assemblies
33682 at runtime to build type support table
33683 * src/Banshee.Dap/Njb/NjbDap.cs: Fixed namespace/class name typos
33685 * configure.ac: Output src/Banshee.Dap/{Ipod,Njb}/Makefile
33686 * src/Banshee.Base/Dap/DapCore.cs: Static class for all DAP event
33687 management and device detection
33688 * src/Banshee.Base/Dap/Dap.cs: Base DAP class and related types
33689 * src/Banshee.Dap/Ipod: Ipod implementation of Banshee.Dap.Dap (incomplete)
33690 * src/Banshee.Dap/Njb: NJB implementation of Banshee.Dap.Dap (incomplete)
33691 * src/Banshee.MediaEngine/Makefile.am:
33692 * src/Banshee.MediaEngine/Gstreamer/Makefile.am:
33693 * src/Banshee.MediaEngine/Helix/Makefile.am:
33694 * src/Banshee.MediaEngine/Vlc/Makefile.am: Install to
33695 @libdir@/banshee/Banshee.MediaEngine
33696 * src/Banshee.MediaEngine/Helix/helix-sharp.dll.config.in:
33697 * src/Banshee.MediaEngine/Vlc/vlc-player.dll.config.in: Updated map
33698 path to @libdir@/banshee/Banshee.MediaEngine
33699 * src/Banshee.Dap/Makefile.am: Previous Banshee.Dap code is now in the
33700 Banshee.Base assembly; assemblies built in here will be runtime-loadable
33701 actual DAP implementations
33702 * src/Banshee.Base/PlayerEngineLoader.cs: engines now load from
33703 Banshee.MediaEngine instead of mediaengines
33704 * src/Core.cs: Banshee.Dap.DeviceEventListener is now Banshee.Dap.DapCore
33706 2005-11-25 Aaron Bockover <aaron@aaronbock.net>
33708 * libbanshee/hal-context.[ch]: new glue for HAL
33709 * Makefile.am: removed plugincore and mediaengines
33711 * data/banshee.desktop.in.in: Removed TryExec
33712 * data/Makefile.am: Moved some CLEANFILES items to DISTCLEANFILES
33714 * libbanshee/Makefile.am:
33715 * libbanshee/cd-detect.[ch]: Removed HAL Audio CD detection code; this
33716 support is now in Banshee.Base.AudioCdCore using new managed HAL
33718 * configure.ac: Added new namespace directories for Makefile/config
33719 output generation, removed old directories/Makefiles, etc.
33721 * banshee.mds: Updated MonoDevelop project
33723 * src/Banshee.MediaEngine: Moved/renamed from mediaengines/
33725 * src/Banshee.Widgets/Makefile.am: Updated to reflect new files
33726 * src/Banshee.Widgets/ActiveUserEvent.cs:
33727 * src/Banshee.Widgets/ActiveUserEventsManager.cs:
33728 * src/Banshee.Widgets/HigMessageDialog.cs: Widgets moved from src/
33730 * src/Makefile.am: Reflect changes to moved/deleted/added files and
33731 link to proper new assemblies
33732 * src/BurnCore.cs: Use Banshee.Base.ThreadAssist.ProxyToMain
33733 * src/LibraryTransactionStatus.cs: use new namespaces
33734 * src/AboutBox.cs: Updated with new namespaces; added pragma to ignore
33735 Gnome.About deprecation warning
33737 * src/Core.cs: Moved ArgumentQueue classes, threading helper methods
33738 to Banshee.Base; added DAP/HAL stuff
33739 * src/Dialogs.cs: HigMessageDialog moved to Banshee.Widgets
33740 * src/Database.cs: Updated namespaces; updated call to LogCore
33742 * src/PlayerInterface.cs: use ThreadAssist.ProxyToMain in place of
33743 Core.ProxyToMainThread, updated to use new namespaces
33744 * src/PlaylistModel.cs: Updated to reflect new namespaces; use
33745 ThreadAssist instead of Core.MainThread
33746 * src/LibraryTrackInfo.cs: use Entagged.AudioFile instead of
33747 Entagged.AudioFileWrapper; updated to reflect new namespaces
33748 * src/SourceView.cs: Updated with Banshee.Base namespace; iPod support
33750 * src/RatingRenderer.cs: Added license to header, updated namespaces
33753 * src/FileEncodeTransaction.cs:
33754 * src/IpodTrackInfo.cs:
33756 * src/LibraryTransactions.cs:
33758 * src/LogCoreViewer.cs:
33759 * src/PlaylistView.cs:
33760 * src/Preferences.cs:
33761 * src/RipTransactions.cs
33762 * src/TrackProperties.cs:
33763 * src/FileSystemMonitor/InotifyWatch.cs:
33764 * src/FileSystemMonitor/FileSystemWatcherWatch.cs: updated namespaces
33766 * src/Banshee.Dap: New namespace/assembly for DAP support; incomplete
33768 * src/Banshee.Base/Globals.cs: static global variables
33769 * src/Banshee.Base/AudioCd/AudioCdCore.cs: Rewritten Audio CD Core using
33771 * src/Banshee/Base/AudioCd: Rewritten/refactored/moved
33772 from src/AudioCdCore.cs
33773 * src/Banshee.Base/HalCore.cs: New core for HAL support off of a single
33775 * src/Banshee.Base: New namespaces and assembly, contains many classes
33776 moved from src/ that can now be reused for plugins
33778 * hal-sharp/*: synced with latest hal-sharp in Mono SVN
33780 * entagged-sharp/*: synced with latest entagged-sharp in Mono SVN; adds
33781 WMA support and ID3 2.4 support
33783 * plugincore/*: Moved to src/Banshee.MediaEngine
33784 * mediaengines/*.cs: Moved to src/Banshee.Base
33786 2005-11-23 Aaron Bockover <aaron@aaronbock.net>
33788 * data/images/ipod/22x22/*:
33789 * data/images/ipod/16x16/*: Optimized raster iPod icons from Jakub Steiner
33790 * data/images/ipod/Makefile.am: Install rules for new raster sizes
33791 * data/images/ipod/scalable/*video*: Placeholder SVG video iPod icons
33792 * src/IpodCore.cs: Map 24 to 22 for now, map the video iPod icon
33794 2005-11-22 Aaron Bockover <aaron@aaronbock.net>
33796 * configure.ac: Remove references to Banshee.Base/Banshee.Dap, as they
33797 are not committed yet
33799 2005-11-21 Aaron Bockover <aaron@aaronbock.net>
33801 * configure.ac: Require only GTK 2.6, mainly for FC4
33802 * src/AboutBox.cs: Fall back on the Gnome.About about dialog if the
33803 GTK 2.8 version does not exist; fixed Ulas' name; made common text
33804 fields static variables
33806 2005-11-18 Aaron Bockover <aaron@aaronbock.net>
33808 * src/PlaylistModel.cs: (AddTrack) sets TrackInfo.TreeIter to tree iter
33809 in model, (RemoveTrack) unsets TrackInfo.TreeIter
33810 * plugincore/TrackInfo.cs: Added a TreeIter field
33811 * configure.ac: Whoops, just require Gtk# 2.3.92
33813 2005-11-17 Aaron Bockover <aaron@aaronbock.net>
33815 * NEWS: Updated with 0.9.12 release notes
33816 * src/BurnCore.cs: Removed a Console.WriteLine debug statement
33817 * src/NotificationAreaIcon.cs: Disabled shuffle/repeat items in tray menu
33818 for now; not sure how to allow these from here, if all, given the new
33819 options in the UI for these modes
33820 * src/Paths.cs: DefaultLibraryPath is now ~/Music... thought this was done
33822 * src/RipTransaction.cs: Fixed another Path/URI bug, using
33823 PathUtil.PathToFileUri
33824 * src/LibraryTrackInfo.cs: Do not use PathUtils.PathToFileUri() on
33825 the Uri field in the database, as it's already a Uri... fixes a bug
33826 introduced between releases
33827 * configure.ac: Version 0.9.12, require Gtk# 2.4.0, GTK+-2.8, and
33829 * banshee.mdp: Updated MonoDevelop project
33830 * data/glade/player.glade: Added menu items for repeat none, repeat single,
33831 repeat all, and shuffle; removed repeat/shuffle toggle buttons as they
33832 have been replaced with the custom MultiStateToggleButton widget
33833 * src/ToggleStates.cs: Implemented ToggleState subclasses for repeat and
33834 shuffle toggle states
33835 * src/LibraryTransactionStatus.cs:
33836 * src/QueryBuilderModel.cs:
33837 * src/TrackInfoHeader.cs:
33838 * src/VersionInformationDialog.cs:
33839 * src/ActiveUserEvent.cs: using Banshee.Widgets;
33840 * src/StockIcons.cs: Removed media-repeat, media-shuffle; added
33841 media-repeat-all, media-repeat-none, media-repeat-single,
33842 media-shuffle-enabled, media-shuffle-disabled
33843 * src/IPlaybackModel.cs: Changed Repeat/repeat from bool to RepeatMode
33844 * src/PlaylistModel.cs: Changed Repeat/repeat from bool to RepeatMode,
33845 added RepeatMode enum, changed logic to support RepeatMode.None,
33846 RepeatMode.All, RepeatMode.Single
33847 * src/PlayerInterface.cs: Implemented Repeat None, Repeat All,
33848 Repeat Single modes using new MultiStateToggleButton widget and menu items,
33849 re-implemented Shuffle mode in same way
33850 * src/Makefile.am: Link against src/Banshee.Widgets/Banshee.Widgets.dll,
33852 * src/Banshee.Widgets/Resources/*: resources needed by custom widgets
33853 * src/Banshee.Widgets/MultiStateToggleButton.cs: New custom widget that
33854 allows cycling between N states, can link CheckMenuItem and RadioMenuItem
33856 * src/Banshee.Widgets/ToggleState.cs: Abstract base class for defining a
33857 toggle state for the MultiStateToggleButton widget
33858 * src/Banshee.Widgets/*: New assembly containing moved/new custom
33859 standalone widgets that can possibly be used by other applications.
33860 No ties to Banshee namespaces
33861 * src/AltProgressBar.cs:
33862 * src/CoverArtThumbnail.cs:
33863 * src/DateButton.cs:
33864 * src/EllipsizeLabel.cs:
33865 * src/ImageAnimation.cs:
33866 * src/SearchEntry.cs:
33867 * src/SimpleNotebook.cs:
33868 * src/VolumeButton.cs: Moved to src/Banshee.Widgets, namespace changed to
33871 2005-11-15 Aaron Bockover <aaron@aaronbock.net>
33873 * src/GtkSharpBackports/FileChooserButton.cs: Fixed a minor compilation
33874 issue against Gtk# 2.7.1
33875 * data/banshee.desktop.in.in: Added MimeType field based on entagged-sharp
33876 mime-type support attributes; Add %U to exec
33878 2005-11-15 Brad Taylor <brad@getcoded.net>
33880 * src/PlayerInterface.cs: Fix typo in tray icon.
33882 2005-11-14 Aaron Bockover <aaron@aaronbock.net>
33884 * src/NotificationAreaIcon.cs (PositionMenu): Properly position the menu
33885 based on panel size and location (Fixes #315227)
33886 * src/LibraryTrackInfo.cs: Always use PathUtil.PathToFileUri()
33887 * data/glade/player.glade: Emit OnScaleTimeMoveSlider for MotionNotifyEvent
33888 * src/PlayerInterface.cs: Update the position label when the slider is
33889 dragged, enables better seeking (Ruben Vermeersch)
33890 * src/TrackInfoHeader.cs: Don't escape entities twice
33891 * data/banshee.schemas.in: Added /apps/banshee/EnableFileSystemMonitoring;
33893 * src/AudioCdCore.cs: Fixed typo
33894 * src/PlayerInterface.cs: Respect --play on new instance after the library
33896 * src/PlayerInterface.cs:
33897 * src/PlaylistView.cs: call playlistModel.Advance() if nothing is loaded
33898 in the engine and playlistView.PlaySelected() fails (pressing "play" on
33899 first start will play work) (Ruben Vermeersch)
33900 * src/LibraryTrackInfo.cs:
33901 * src/LibraryTransactions.cs:
33902 * src/FileSystemMonitor/FileSystemWatcherWatch.cs:
33903 * src/FileSystemMonitor/InotifyWatch.cs: change to use
33904 PathUtil.FileUriStringToPath
33905 * src/Utilities.cs: Added Timer class from F-Spot; added
33906 PathUtil.FileUriStringToPath to replace StringUtil path methods
33908 2005-11-14 James Willcox <snorp@snorp.net>
33910 * src/PlaylistView.cs: only scroll to the playing song if it is
33911 outside the current viewable area.
33913 2005-11-13 Aaron Bockover <aaron@aaronbock.net>
33915 * src/AboutBox.cs: Added Doğacan Güney
33916 * src/GConfKeys.cs: Added key EnableFileSystemMonitoring; reformatted code
33917 * src/LibraryTransactions.cs (FileLoadTransaction): Load multiple paths
33918 at once without making them raw (Doğacan Güney)
33919 * src/Library.cs (Library.Remove): Overloaded to allow removal based on
33920 a System.Uri (Doğacan Güney)
33921 * src/Core.cs: Instantiate and dispose of FileSystemMonitor.Watcher only
33922 if enabled in GConf
33923 * libbanshee/Makefile.am: Added inotify glue
33924 * libbanshee/inotify-glue.c:
33925 * libbanshee/inotify.h:
33926 * libbanshee/inotify-syscalls.h: inotify system-level glue
33927 * src/FileSystemMonitor/*.cs: Added File System monitoring patch by
33928 Doğacan Güney, uses Inotify. If Inotify is unavailable, it falls back
33929 on FileSystemWatcher.
33930 * src/Makefile.am: Added FileSystemMonitor files
33932 * configure.ac: Added support for using GStreamer 0.9 packages through
33933 --enable-gstreamer-dev; currently will break things, do not use yet
33934 * src/PlayerInterface.cs: Don't use space as a hotkey if the search box
33936 * src/AboutBox.cs: Added Christian Rose to translator credits
33937 * src/PlaylistModel.cs: Merged Pat Rondon's (pat@thepatsite.com) advance
33938 to random track when playing first track in shuffle mode (#54688)
33940 2005-11-13 Christian Rose <menthos@menthos.com>
33942 * configure.ac: Added "sv" to ALL_LINGUAS.
33944 2005-11-12 Aaron Bockover <aaron@aaronbock.net>
33946 * data/images/source-cd-audio.png: Updated with tango icon
33947 * src/IpodCore.cs (IpodMisc.GetIcon): Accept either an Ipod.Device or
33948 an Ipod.DeviceModel
33949 * src/Dialogs.cs: Accept a Gdk.Pixbuf instead of a string for the icon
33950 * src/IpodNewDialog.cs:
33951 * src/PlayerInterface.cs:
33952 * src/SourceView.cs: Use IpodMisc.GetIcon()
33953 * src/PlayerInterface.cs: Show a large version of the iPod icon in the
33954 sync view when syncing iPod
33955 * configure.ac: Expand $datadir into $expanded_datadir
33956 * src/ConfigureDefines.cs.in: Added ICON_THEME_DIR constant
33957 * src/IpodCore.cs (IpodMisc.GetIcon): return a Gdk.Pixbuf of an iPod in
33958 a given size, points to the new installed tango icons into the hicolor
33960 * src/Makefile.am: Removed old ipod icon references
33961 * data/images/ipod/*: New tango iPod icons from Ryan Collier
33962 * data/images/Makefile.am: Added ipod to SUBDIRS, removed old ipod icons
33963 * src/PlayerInterface.cs: Pressing enter on the playlist view will
33964 play the first song in a selection
33965 * src/PlayerInterface.cs: Implement some more key bindings, and changed
33966 the default behavior of the previous button to reset the position of
33967 the current playing song to 0 seconds if the song has played for more
33968 than ~2 seconds (the resolution on this isn't very precise); Shift+Previous
33969 Click goes to the previous song no matter what, and pressing space now
33970 toggles playback (play/pause)
33972 2005-11-12 James Willcox <snorp@snorp.net>
33974 * src/IpodCore.cs: be a little more careful, and update to the
33975 changed API for progress reporting.
33976 * src/IpodTrackInfo.cs: use PathUtil.PathToFileUri
33977 * src/LibraryTrackInfo.cs: ditto, and store Uris in the db
33979 * src/SqlGenerator.cs: don't unnecessarily remove quotes when
33982 2005-11-11 Aaron Bockover <aaron@aaronbock.net>
33984 * configure.ac: Version 0.9.11.1
33985 * NEWS: Updated release notes
33986 * data/glade/player.glade: Added another container for switching out
33987 widgets during the ipod sync state
33988 * src/IpodCore.cs (EmitSyncStarted), (EmitSyncCompleted): Emit through
33989 Core.ProxyToMainThread
33990 * src/PlayerInterface.cs: Fixed ipod syncing, was a threading issue,
33991 of course; fixed up syncing UI, made things more consistent and feel
33992 better, tooltips, labels, etc
33993 * data/images/source-ipod-regular.png, data/images/source-ipod-color.png,
33994 data/images/source-ipod-shuffle.png: renamed to ipod-regular-24.png,
33995 ipod-color-24.png, and ipod-shuffle.png
33997 * data/images/Makefile.am: Updated to reflect renaming of ipod icons
33998 * src/PlayerInterface.cs:
33999 * src/SourceView.cs: Use IpodMisc.GetIconString() to get icon file name
34000 * src/IpodCore.cs: Show the actual iPod icon for the progress widget;
34001 added IpodMisc.GetIconString(device) to return the proper string for
34002 building an ipod file name to show icon matching actual iPod
34003 * src/IpodCore.cs: Hopefully fixed URI translation problem; canceling the
34004 ipod encode now cancels the ipod sync, as it should
34005 * src/BurnCore.cs: Use Queue instead of ArrayList
34006 * src/FileEncodeTransaction.cs: Do not use a Hashtable, it can scramble
34007 the order of the queued items; was the culprit for out of position
34008 tracks on burned CDs
34009 * src/Utilities.cs: New PathUtil class: PathUtil.PathToFileUri and
34010 PathUtil.FileUriToPath; removed old unused cruft; reformatted
34011 * src/IpodCore.cs: Removed unused reference to IPod.ProgressDialog
34012 * banshee.mdp: Updated MonoDevelop project file
34014 2005-11-10 Aaron Bockover <aaron@aaronbock.net>
34016 * configure.ac: Version 0.9.11
34018 2005-11-09 Aaron Bockover <aaron@aaronbock.net>
34020 * src/ActiveUserEvent.cs: Added a CanCancel property that maps to the
34021 sensitivity of the cancel button
34022 * src/PlayerInterface.cs:
34023 * src/StockIcons.cs:
34024 * src/RipTransaction.cs:
34025 * data/glade/player.glade: Ensure all nomenclature is in sync regarding
34026 import/write CD. Changed "Rip" to "Import" and "Burn" to "Write"
34027 * src/BurnCore.cs: Major overhaul; use ActiveUserEvent for progress
34028 reporting; handle threading and events much better; massive clean up
34029 * libbanshee/gst-encode.c: handle gnomevfssink allow-overwrite signal
34030 for encoding over possible left over temporary files
34032 * src/LogCoreViewer.cs: Added "Information" LogEntry type
34033 * mediaengines/gst/GstPlayerEngine.cs: fixed typo in engine description
34034 * configure.ac: Add pt_BR to ALL_LINGUAS
34035 * src/LogCoreViewer.cs: Show both short message and details in viewer
34037 * src/Core.cs: Handle exception from AudioCdCore exception in the case
34038 where HAL was not able to become initialized; disable AudioCdCore and
34039 allow Banshee to continue with disabled CD support
34040 * src/AudioCdCore.cs: marshal native error messages to propagate to
34041 exception if HAL could not be initialized
34042 * src/SourceView.cs:
34043 * src/PlayerInterface.cs:
34044 * src/Core.cs: Only interact with the AudioCdCore if it is available
34045 * libbanshee/cd-detect.[ch] (cd_detect_new): expects a gchar ** which
34046 may be filled with an allocated error message if function returns NULL,
34047 must be freed if non-null
34048 * libbanshee/cd-detect.c: Added g_warning calls for potential HAL
34049 initialization problems
34050 * vacuum.sh: Runs make maintainer-clean and then cleans extra junk that
34051 is left behind, returning to essentially a clean cvs checkout
34052 * Makefile.am: Made DISTCLEAN a little more standard/correct and moved
34053 my extra crazy house cleaning to a script, vacuum.sh
34054 * src/AboutBox.cs: Added Ulas Sahin to authors credits, Marco Carvalho to
34055 translators credits
34056 * src/LogCore.cs: LogCore implements IEnumerable; added more helper methods
34057 for pushing different entry types; subclass LogEntry as WarningLogEntry,
34058 DebugLogEntry, ErrorLogEntry
34059 * src/LibraryTransactionManager.cs:
34060 * src/LibraryTransactions.cs:
34061 * src/AudioCdCore.cs:
34062 * src/PipelineProfile.cs:
34065 * src/RipTransaction.cs: Use the LogCore for debug logging instead
34067 * src/DebugLog.cs: Removed
34068 * src/Makefile.am: Added LogCoreViewer.cs, Removed DebugLog.cs
34069 * data/glade/player.glade:
34070 * src/PlayerInterface.cs: Add menu item for showing the LogCore Viewer
34071 * src/LogCoreViewer.cs: A dialog for viewing the LogCore entries
34072 * src/LibraryTransactions.cs (PlaylistLoadTransaction.Run): only
34073 raise track info if not null :)
34074 * src/PlayerInterface.cs (OnPlaylistUpdated): Got rid of custom time
34075 calculations in favour of TimeSpan; cleaned up a little
34076 * src/PlayerInterface.cs (OnLogCoreUpdated): Show a dialog for LogEntry
34077 entries that have ShowUser set; LogCore is now the preferred
34078 method of logging events and presenting errors/warnings to the user
34079 * src/LogCore.cs: Added more helper methods for making logging as easy
34081 * src/LibraryTransactions.cs:
34082 * src/BurnCore.cs: Updated to reflect changes in LogCore
34083 * src/Core.cs: LogCore handles its own instance
34084 * src/AudioCdCore.cs: Use LogCore
34086 2005-11-08 Aaron Bockover <aaron@aaronbock.net>
34088 * src/Preferences.cs:
34089 * src/AboutBox.cs: Explicitly use GtkSharpBackports
34091 2005-11-08 James Willcox <snorp@snorp.net>
34094 * src/IpodTrackInfo.cs:
34096 Updated to use new ipod-sharp API.
34098 2005-11-08 Aaron Bockover <aaron@aaronbock.net>
34100 * src/AudioCdCore.cs (CreateDisk): Use anonymous method, but work
34101 around mcs bug #76642
34103 * src/GtkSharpBackports/AboutDialogActivateLinkFunc.cs:
34104 * src/GtkSharpBackports/GtkSharp.AboutDialogActivateLinkFuncNative.cs:
34105 * src/GtkSharpBackports/AboutDialog.cs:
34106 * src/GtkSharpBackports/FileChooserButton.cs:
34107 * src/GtkSharpBackports/GtkSharpBackports.dll.config.in:
34108 * src/GtkSharpBackports/Makefile.am: Imported from gtk-sharp-2.6,
34109 namespaces changed to GtkSharpBackports
34111 * src/AboutBox.cs: Remove manual wrapped Gtk.AboutBox,
34112 use GtkSharpBackports.AboutBox
34113 * src/Preferences.cs: Use GtkSharpBackports.FileChooserButton
34114 * src/FileChooserButton.cs: moved to src/GtkSharpBackports
34115 * src/Makefile.am: Removed FileChooserButton.cs, added GtkSharpBackports
34116 to SUBDIRS, link against GtkSharpBackports.dll
34118 * configure.ac: generate src/GtkSharpBackports/Makefile and
34119 src/GtkSharpBackports/GtkSharpBackports.dll.config
34121 2005-11-07 Aaron Bockover <aaron@aaronbock.net>
34123 * src/MusicBrainz/SimpleDisc.cs: Changed 'Invalid track count from TOC'
34124 error string to be easier to read and more meaningful
34125 * src/Dialogs.cs: Updated formatting, make ErrorDialog class use
34126 HigMessageDialog, add support for header argument, do not use Run/Destroy
34127 to prevent UI hangs
34128 * src/AudioCdCore.cs: Show an error dialog if CD reading failed,
34129 merged some similar code into a private helper method
34131 * configure.ac: Only require mono 1.1.9 instead of 1.1.9.2 for the sake
34132 of building with mcs HEAD
34134 * libbanshee/Makefile.am: Removed cd-test test
34135 * libbanshee/cd-test.c: Removed test, functionality handled mainly by
34136 MusicBrainz in managed land now
34138 * src/MusicBrainz/Utilities.cs (StringToDateTime): Convert a MusicBrainz
34139 date into a DateTime object
34140 * src/MusicBrainz/SimpleArtist.cs: Simple wrapper class for a MusicBrainz
34142 * src/MusicBrainz/SimpleAlbum.cs: Simple wrapper class for a MusicBrainz
34144 * src/MusicBrainz/SimpleLookupTest.cs: Test program for using new
34145 RDF wrapper classes
34146 * src/MusicBrainz/Makefile.am: Added SimpleArtist.cs, SimpleAlbum.cs,
34147 SimpleLookupTest.cs, Utilities.cs; created 'make test' rules to
34148 build MusicBrainz tests
34149 * src/MusicBrainz/Client.cs: Added support for querying with arguments;
34150 added support for marshalling string arrays to UTF8 pointer arrays; Added
34151 GetIDFromUrl and GetID methods for transforming a MusicBrainz URL ID into
34152 a regular MusicBrainz ID
34153 * src/SimpleTrack.cs (ToString): Return a formatted version of the object
34155 * src/Utilities.cs (StringUtil.UriToFileName): Do a proper conversion
34156 using the Uri class; fixes bugs with non-ASCII characters in the path
34158 2005-11-03 Aaron Bockover <aaron@aaronbock.net>
34160 * burn-sharp/burn-sharp.dll.config.in: Map to proper so version with
34162 * configure.ac: Detect whether libnautilus-burn 2.12 or 2.13+, and set
34163 LNB_SOVERSION to 2 or 3 accordingly
34164 * data/glade/preferences.glade: Removed the text view/button for selecting
34165 library location, added container for FileChooserButton
34166 * src/Preferences.cs: Use the FileChooserButton for selecting the library
34167 location instead of a Button+FileChooserDialog+TextView; more Gnomey and
34169 * src/Makefile.am: Added src/FileChooserButton.cs
34170 * src/FileChooserButton.cs: Adapted Gtk.FileChooserButton from
34171 gtk-sharp-2.6 as Banshee.FileChooserButton
34173 2005-11-02 Aaron Bockover <aaron@aaronbock.net>
34175 * src/configure.ac: Version 0.9.10
34176 * src/AboutBox.cs: Added Øivind Hoel to translator credits
34177 * src/FileEncodeTransaction.cs: Adapt to use ActiveUserEvent
34179 * src/BurnCore.cs: Updated for changes in FileEncodeTransaction
34180 * data/glade/player.glade: Reorder edit menu, add import/burn CD items to
34182 * src/PlayerInterface.cs: Set menu items sensitive/insensitive contextually
34183 * src/Main.cs: Add --version option
34184 * configure.ac: Generate src/banshee from src/banshee.in
34185 * src/Makefile.am: Install the Bash wrapper script
34186 * src/banshee.in: Bash wrapper script
34187 * src/banshee.c: Removed alternative wrapper script, switched back to Bash
34188 * src/PlayerInterface.cs: Display current position/total time in NAI
34189 tooltip (patch from Doğacan Güney)
34190 * data/images/encode-action-24.png:
34191 * data/images/Makefile.am:
34192 * src/Makefile.am: Add icon for encoder progress action
34193 * src/PlayerInterface.cs: Fix minor bug concerning meta key detection (Ulas)
34195 2005-11-01 Aaron Bockover <aaron@aaronbock.net>
34197 * src/NotificationAreaIcon.cs: Add mouse scroll event support (Ulas SAHIN);
34198 tab->space formatting
34199 * src/PlayerInterface.cs: Adjust volume when SHIFT+Scroll on notification
34200 area icon (NAI) (Ulas SAHIN), Next/Previous track on normal scroll on NAI,
34201 seek in current song when CTRL+Scroll on NAI; more tab->space formatting
34203 2005-11-01 Aaron Bockover <aaron@aaronbock.net>
34207 * mediaengines/gst/gst-mediaengine.mdp:
34208 * mediaengines/helix/helix-mediaengine.mdp:
34209 * plugincore/plugincore.mdp:
34210 * plugincore/plugincore.mds: Committed Ulas SAHIN's patch to update the
34211 MonoDevelop project files
34213 2005-10-31 Aaron Bockover <aaron@aaronbock.net>
34215 * data/banshee.schemas.in: Added schema for ShowNotificationAreaIcon key
34216 * src/PlayerInterface.cs: Only install notification area icon if
34217 ShowNotificationAreaIcon gconf key is true
34218 * src/GConfKeys.cs: Added key for ShowNotificationAreaIcon
34219 * src/RipTransaction.cs: Removed +1 because MusicBrainz is 1-based and
34220 not 0-based in reporting the track index
34221 * HACKING: Updated it with revised style guidelines
34222 * entagged-sharp/: Updated entagged-sharp snapshot
34224 2005-10-31 Miguel de Icaza <miguel@novell.com>
34226 * src/LibraryTrackInfo.cs: Null or empty strings will default to
34227 the filename guessed values.
34229 2005-10-31 Aaron Bockover <aaron@aaronbock.net>
34231 * configure.ac: Added nb to ALL_LINGUAS
34233 2005-10-28 Aaron Bockover <aaron@aaronbock.net>
34235 * configure.ac: Version 0.9.9, require ipod-sharp 0.5.9, mono 1.1.9.2,
34236 GStreamer 0.8.11, libnautilus-burn 2.12
34237 * data/glade/trackinfo.glade: Switch order of Save/Cancel buttons
34238 * data/glade/player.glade: Add text labels to rip/burn icons
34239 * src/Library.cs: Handle exception when thrown when unable to create
34241 * src/NotificationAreaIcon.cs: Switch order of Next/Previous menu items
34243 2005-10-28 David Sedeño <david@alderia.com>
34245 * src/SearchEntry.cs: Added CanFocus field
34246 * src/PlayerInterface.cs: Check if the search entry has already the
34247 focus so we can search with anything with 'j' letter.
34249 2005-10-27 Aaron Bockover <aaron@aaronbock.net>
34251 * libbanshee/cd-test.c: Removed #include "cd-info.h"
34252 * src/AudioCdCore.cs: Use Utilities OpenFlags flags
34253 * src/LibraryTrackInfo.cs: Use DateTimeUtil class for D/T conversion
34254 * src/Utilities.cs: Copied Date/Time utils from
34255 Mono.Unix.Native.NativeConvert to DateTimeUtil class, and OpenFlags
34256 * src/Main.cs: Arg is audio-cd for now instead of play-cd
34257 * src/Makefile.am: Added mcs.exe to EXTRA_DIST
34258 * src/PlayerInterface.cs (PromptForImport): Fix initial import
34260 * src/MusicBrainz/Makefile.am: Added $(srcdir)/ prefixes to sources
34261 to make distcheck happy
34262 * src/mcs.exe: Added precompiled bare assembly of mono mcs 1.1.9.2
34263 for packagers to use who can't upgrade from mono 1.1.8. Assemblies
34264 produced by this 1.1.9.2 compiler will run on the 1.1.8 mono stack
34265 * configure.ac: Added option to use an internal mcs 1.1.9.2 compiler,
34266 --with-internal-mcs. Use only if you can't upgrade your distrobution's
34269 2005-10-26 Aaron Bockover <aaron@aaronbock.net>
34271 * src/Library.cs: Use new/permanent library DB path:
34272 ~/.gnome2/banshee/banshee.db, use and move the old one if it exists
34273 * plugincore/Paths.cs: Moved ApplicationData from ~/.config/banshee to
34274 ~/.gnome2/banshee, create the cover art directory if it doesn't exist
34275 when it's requested
34276 * data/glade/player.glade: Added a container for the
34277 ActiveUserEventsManager widget
34278 * src/banshee.exe.config.in: Map for GTK+
34279 * src/Core.cs (ProxyToMainThread): Wrap Application.Invoke to run handler
34280 in current thread if already in main thread
34281 * src/PlayerInterface.cs: Integrate ActiveUserEventsManager into UI
34282 * src/Makefile.am: Add ActiveUserEvent.cs, ActiveUserEventsManager.cs and
34283 update for new burn icons
34284 * src/StockIcons.cs:
34285 * src/Preferences.cs:
34286 * src/BurnCore.cs: Use new burn icons
34287 * src/RipTransaction.cs:
34288 * src/IpodCore.cs: Use the new user events manager
34289 * src/ActiveUserEventsManager.cs: user events manager for progress
34291 * src/ActiveUserEvent.cs: Class for user events to use to report progress
34292 and messages to a managed user interface
34293 * src/AboutBox.cs: Bindings for the GTK About Box (don't exist in
34294 gtk-sharp yet), use it instead of the GNOME About Box.
34296 2005-10-25 Aaron Bockover <aaron@aaronbock.net>
34298 * src/SearchEntry: Reformatted code, added Focus() method
34299 * src/PlayerInterface.cs (OnKeyPressEvent): use GLib.ConnectBefore to
34300 handle key press events; J/j/F3 focus the search widget, and
34301 CTRL+Left rewinds by 10 seconds, CTRL+Right fast-forwards 10 seconds
34302 * src/CoverArtThumbnail.cs: Fixed segfault when trying to thumbnail
34305 2005-10-24 Miguel de Icaza <miguel@novell.com>
34307 * src/PlayerInterface.cs (OnIpodDeviceChanged): Put all the code
34308 in this method inside an Application.Invoke instead of using one
34309 Application.Invoke per ListStore.
34311 Also surrounds the code that was hanging Banshee after triggering
34312 an iPodSync: the second part of the routine was not protected
34313 inside an Application.Invoke.
34315 * src/PlaylistView.cs (RipCellInd): Avoid try/catch and instead
34316 use "as" to explicitly state what is going on. Also helps
34317 reduce the exceptions being thrown while tracking issues.
34319 * src/LibraryTrackInfo.cs (LoadFromDatabaseReader): the values
34320 stored were strings, not longs. Parse them accordingly.
34322 Use mono --trace=N:nothing banshee.exe to find abuses of exception
34325 2005-10-23 Aaron Bockover <aaron@aaronbock.net>
34327 * data/glade/player.glade: Added delete from drive menu items
34328 * src/PlayerInterface.cs: Added ability to remove songs permanently from
34329 drive, not just from being referenced in library
34331 * data/glade/player.glade: Added Full Screen menu item to View menu
34332 * src/PlayerInterface.cs: Added Full Screen mode
34334 * src/AudioCdCore.cs: Removed reference to CddbSlaveClient
34335 * src/Makefile.am: removed CddbSlaveClient.cs from build
34336 * src/CddbSlaveClient.cs: removed Gnome Media CDDB Slave2 client bindings
34338 * data/glade/player.glade: Added a container for the CoverArtThumbnail
34340 * src/Makefile.am: Added CoverArtThumbnail.cs, AmazonCoverFetcher.cs
34341 * src/AudioCdCore.cs: Fetch cover art from Amazon.com after MusicBrainz
34343 * src/PlayerInterface.cs: Show a CoverArtThumbnail widget in header
34344 * src/LibraryTrackInfo.cs: Copy ASIN from AudioCdTrackInfo to
34346 * src/AmazonCoverFetcher.cs: Fetch cover art from Amazon.com based on ASIN
34347 * src/CoverArtThumbnail.cs: Widget to scale and display a thumbnail of
34348 cover art and display full-resolution cover art in popup window when
34349 cursor hovers over thumbnail
34350 * plugincore/Makefile.am: Added Paths.cs
34351 * plugincore/TrackInfo.cs: Added Asin property, added CoverArtFileName
34352 property that returns cover art path based on Asin
34353 * plugincore/Paths.cs: Paths class available to plugins, added property
34354 CoverArtDirectory and GetCoverArtPath() method
34355 * src/Utilities.cs: Moved Paths class to plugincore/Paths.cs
34357 2005-10-22 Aaron Bockover <aaron@aaronbock.net>
34359 * src/PlayerInterface.cs: Show/Hide the rip column for the respective view,
34360 only queue items for ripping that have been checked, nice pretty rip icon
34361 * src/PlaylistView.cs: Added a toggle column used for selecting tracks
34363 * src/AudioCdCore.cs: Added CanRip property that is toggled on/off to
34364 designate whether to rip a track or not
34365 * src/StockIcons.cs: Added a hashtable map to icon names, added the nice
34366 rip icon (media-rip maps to cd-action-rip-24)
34368 * configure.ac: Remove all IDL/CORBA junk previously needed for CDDB Slave2
34369 * libbanshee/GNOME_Media_CDDBSlave2.idl:
34370 * libbanshee/cd-info.[ch]:
34371 * libbanshee/cddb-slave-client.[ch]:
34372 * libbanshee/cddb-test.c: Removed, yay for less bloat
34373 * libbanshee/Makefile.am: Remove references to removed files, do not
34374 worry about IDL cruft... yay!
34376 * src/MusicBrainz/SimpleDisc.cs: Add an indexer for looking up tracks
34377 * src/AudioCdCore.cs: Removed CDDB implementation, implemented MusicBrainz
34378 CD TOC reading and Metadata Lookup, refactored and cleaned up a lot in here
34380 2005-10-21 Aaron Bockover <aaron@aaronbock.net>
34382 * configure.ac: Generate src/MusicBrainz/MusicBrainz.dll.config, and
34383 src/MusicBrainz/Makefile
34384 * src/Makefile.am: Add MusicBrainz to SUBDIRS, link against MusicBrainz.dll
34385 * src/MusicBrainz/Makefile.am: Build/install MusicBrainz.dll
34386 * src/MusicBrainz/MusicBrainz.dll.config.in: DLL Mappings to libmusicbrainz
34387 * src/MusicBrainz/Client.cs: MusicBrainz C# bindings to the MusicBrainz
34389 * src/MusicBrainz/ClientVersion.cs: Class representing MusicBrainz client
34390 version information
34391 * src/MusicBrainz/Rdf.cs: RDF Strings for the MusicBrainz client
34392 * src/MusicBrainz/SimpleDisc.cs: Basic class to handle reading CD
34394 * src/MusicBrainz/SimpleTrack.cs: A class representing a track on a CD
34395 * src/MusicBrainz/SimpleDiscTest.cs: A simple console test program
34398 * mediaengines/vlc/Makefile.am: fixed whitespace after trailing \
34399 * data/banshee.desktop.in.in: Make the desktop file show up in
34400 Ximian/Novell/RedHat menus
34401 * configure.ac: Output hal-sharp/hal-sharp.dll.config
34402 * src/StockIcons.cs: use StockItem to initalize stock icons with i18n
34403 descriptions, add items to Gtk.StockManager
34405 2005-10-21 Rodney Dawes <dobey@novell.com>
34407 * data/images/Makefile.am: Install the 16px and 22px versions into the
34408 16x16 and 22x22 hicolor directories, not the 24px icon
34410 2005-10-21 Aaron Bockover <aaron@aaronbock.net>
34412 * configure.ac: require mono 1.1.9
34413 * hal-sharp/Makefile.am: Install hal-sharp.dll.config,
34414 not hal-sharp.dll.config.in
34416 2005-10-21 Aaron Bockover <aaron@aaronbock.net>
34418 * configure.ac: Require gtk-sharp 2.3.91 and ipod-sharp 0.5.8
34420 * Makefile.am: Updated DISTCLEANFILES/CLEANFILES
34421 * configure.ac: Removed data/banshee.desktop.in
34423 * mediaengines/vlc/Makefile.am: Added package rule for creating separate
34424 binary VLC mediaengine tarball
34426 * data/images/Makefile.am: Updated icon installation rules
34427 * data/images/Makefile.am.build: Removed, managing manually
34429 * data/glade/about.glade: removed, using gnome about dialog
34430 * data/glade/player.glade: Add help menu item for version information
34432 * data/banshee.desktop.in.in: Updated desktop file to exec banshee and
34434 * data/org.gnome.Banshee.service.in: Exec banshee
34435 * data/Makefile.am: Updated desktop file and schema install rules
34437 * src/PlaylistColumns.cs: Fix bug regarding default column sizing (the one
34438 Nat has been complaining about)
34439 * src/AboutBox.cs: Use Gnome About Dialog
34440 * src/VersionInformationDialog.cs: Version Information Dialog, move from old
34441 About Box, invoke from Help menu
34444 * src/Preferences.cs:
34445 * src/SourceView.cs:
34446 * src/PlayerInterface.cs: Lots of cleaning, Use new window icon,
34447 get rid of Gdk Thead junk
34449 * src/PlaylistModel.cs: Use Application.Invoke smartly, fixed performance
34450 bug regarding loading a large list of tracks
34454 * src/Library.cs: Clean up, get rid of Gdk Thread junk
34456 * src/ThemeIcons.cs: Provide a WindowManager icon pixbuf; will expand to
34457 new Icon Theme code (vs. stock icon code)
34458 * src/DBusIPC.cs: Add more DBus methods (show/hide/play/pause/query*)
34459 * src/Main.cs: Command line options for new DBus methods for remote-mode
34461 * src/PlaylistView.cs:
34463 * src/BurnTransaction.cs:
34464 * src/StockIcons.cs: general syntax/formatting cleanup
34466 * src/PipelineProfile.cs:
34467 * src/LibraryTrackInfo.cs:
34469 * src/AudioCdCore.cs:
34470 * src/TrackProperties.cs: Use Mono.Unix, instead of deprecated Mono.Posix
34472 * src/Makefile.am: Added new sources, modified graphic resources
34474 2005-10-20 Rodney Dawes <dobey@novell.com>
34476 * data/images/about-header.png: Replace with new logo image
34478 2005-10-20 Rodney Dawes <dobey@novell.com>
34480 * data/images/album-cover-container.png:
34481 * data/images/banshee-icon*.png:
34482 Removed these old app icons, replaced by music-player-banshee
34484 2005-10-20 Rodney Dawes <dobey@novell.com>
34486 * data/images/music-player-banshee*: Add new banshee icons to CVS
34488 2005-10-13 Aaron Bockover <aaron@aaronbock.net>
34490 * src/SourceView.cs: SelectSource() method to select any source
34491 * src/PlayerInterface.cs: Remove obsolete gtk-sharp-2.0 stuff
34493 * mediaengines/helix/libhxclient.so.1.0: Updated with COM wrappings
34494 * mediaengines/helix/HxUnmanaged.cs, mediaengines/helix/HxPlayer.cs,
34495 mediaengines/helix/HxPlayerTest.cs: Bindings and tests for Helix COM
34496 * README: Updated it
34497 * libbanshee/cd-info.[ch]: Make CD stuff simpler, probably broken ATM
34498 * src/AudioCdCore.cs: Making CD stuff simpler, probably broken ATM
34499 * src/DBusIPC.cs: SelectAudioCd() method for D-Bus
34500 * src/Database.cs: Turn synchronous = OFF for the SQLite DB
34501 * src/IpodCore.cs: Tweak some broken iPod sync stuff
34502 * src/IpodTrackInfo.cs: Fix URI bug
34503 * src/LibraryTransactionStatus.cs: Fix some HIG problems
34504 * src/PlayerInterface.cs: Use argument queue to check for g-v-m commands
34505 * src/Main.cs: Use argument queue for command line options, options for
34507 * src/Core.cs: Argument queue
34508 * src/PlaylistModel.cs: Fix small null ref
34510 * mediaengines/vlc/VlcPlayerEngine.cs: Fixed pausing, removed debug writes
34512 * mediaengines/vlc/VLC.cs: Minor fixes in bindings
34513 * mediaengines/vlc/VlcPlayerEngine.cs: Minor fixes
34514 * mediaengines/vlc/libvlc.so: Removed, not needed
34516 2005-10-13 Jordi Mas <jordi@ximian.com>
34518 * configure.ac: Added catalan language
34520 2005-10-12 Aaron Bockover <aaron@aaronbock.net>
34522 * mediaengines/vlc/libvlc.so: Dummy text file user must replace with
34523 real libvlc.so (source tree too large for inclusion)
34524 * mediaengines/vlc/VLC.cs: Partial libvlc C# bindings
34525 * mediaengines/vlc/VlcPlayerEngine.cs: libvlc IPlayerEngine implementation
34526 * mediaengines/vlc/vlc-player.dll.config.in: vlc-player.dll assembly
34528 * mediaengines/vlc/Makefile.am: Build rules for the VLC media engine
34529 * configure.ac: Add option for --enable-vlc to build VLC engine
34531 2005-10-12 Chris Lahey <clahey@localhost.localdomain>
34533 * data/banshee.schemas.in: Add GConf key for move on save.
34535 * data/glade/trackinfo.glade: Add accelerators.
34537 * src/GConfKeys.cs: Add GConf key for move on save.
34539 * src/LibraryTrackInfo.cs: Add move on save behavior. Fix GetId
34540 function to use uri.ToString instead of uri.AbsoluteUri to match
34541 other uses of uri. Use information parsed from filename to set
34542 track number. Use directory structure to guess metadata. Move
34543 copy on import behavior to here.
34545 * src/LibraryTransactions.cs: Typo in field name. Let
34546 LibraryTrackInfo handle importing files instead of importing them
34549 2005-10-08 Ben Maurer <bmaurer@ximian.com>
34551 * src/PlaylistView.cs (AlbumTreeIterCompareFunc): Sort by track#
34554 2005-10-04 Larry Ewing <lewing@novell.com>
34556 * src/PlayerInterface.cs: Import from the selected uri not the
34559 2005-10-04 Christopher James Lahey <clahey@ximian.com>
34561 * src/SourceView.cs: Fixed bug that was ellipsing escaped data
34562 instead of escaping ellipsed data.
34564 2005-10-03 Christopher James Lahey <clahey@ximian.com>
34566 * data/glade/trackinfo.glade, src/TrackProperties.cs: Added
34567 automatic track setting button.
34569 2005-10-03 Aaron Bockover <aaron@aaronbock.net>
34571 * src/Preferences.cs, src/PlayerInterface.cs: Enabled burning!
34572 * src/AudioCdCore.cs: Bind changes to cd-info.[ch], ignore lead out and
34574 * libbanshee/cd-info.[ch]: If the Linux CDROM ioctl support is available,
34575 use it to detect CD track info/CDDB disc ID instead of GStreamer. Fall back
34576 on GStreamer (buggy, slower).
34577 * configure.ac: Cleaned up a little bit, added headers to check, especially
34580 2005-09-26 Alexander Shopov <ash@contact.bg>
34582 * configure.ac: Added "bg" (Bulgarian) to ALL_LINGUAS
34584 2005-09-22 Aaron Bockover <aaron@aaronbock.net>
34586 * configure.ac: Require latest ipod-sharp (0.5.6)
34588 * src/IpodCore.cs: ipod-sharp uses default context by default, removed
34589 Ipod.Initializer.UseDefaultContext
34591 * Makefile.am: added compile to DISTCLEANFILES
34593 * src/banshee.c: use fork() to run the mono process as a child process of
34594 the wrapper, as just exec doesn't work with killall. Handle SIGINT/SIGKILL
34595 in the parent process and propagate to the child, and clean up the parent
34597 2005-09-21 Aaron Bockover <aaron@aaronbock.net>
34599 * src/Makefile.am: Removed banshee.in/$(WRAPPER) instances and added
34600 bin_PROGRAMS/banshee_SOURCE for banshee.c binary 'wrapper'
34601 * src/banshee.c: replaced bash wrapper script with a C program that uses
34602 execvp to replace the process image with mono. Makes banshee show up as
34603 "banshee" in ps instead of "mono" and makes `killall banshee' work. Also
34604 only pass --debug to mono if running from build directory, should speed
34605 up installed instances
34606 * configure.ac: Added AC_DEFINE_UNQUOTED calls to create defines for
34607 banshee.c that were AC_SUBST in old banshee.in
34608 * src/banshee.in: removed bash wrapper script
34610 2005-09-21 Takeshi AIHANA <aihana@gnome.gr.jp>
34612 * configure.ac: Added 'ja' (Japanese) to ALL_LINGUAS.
34614 2005-09-20 Aaron Bockover <aaron@aaronbock.net>
34616 * src/Main.cs: wrap everything in try/catch and pass the exception to
34617 the new ExceptionDialog... any unhandled exception will now be shown
34618 in a GUI instead of on the console (which may not be visible)
34620 * src/ExceptionDialog.cs: Added a nice exception dialog to show
34621 unhandled exceptions (hopefully this never gets seen!), and harvest
34622 system info to help bug reports
34624 2005-09-19 Žygimantas Beručka <zygis@gnome.org>
34626 * configure.ac: Added "lt" to ALL_LINGUAS.
34628 2005-09-19 Aaron Bockover <aaron@aaronbock.net>
34630 * src/LogCore.cs: Use a ThreadNotify for events
34631 * src/IpodTrackInfo.cs: Prepend explicit file:// to thrwart
34632 parsing problems, as Ipod.Song.Filename is always a local path
34633 * src/FileEncodeTransaction.cs: Accept TrackInfo or Uri inputs
34634 * src/PlayerInterface.cs:
34635 * src/Library.cs: Update to use new iPod sync method
34636 * src/IpodCore.cs: Rewrote iPod Syncing, now using ipod-sharp-ui
34637 * src/Makefile.am: Add ipod-sharp-ui
34638 * configure.ac: Added ipod-sharp-ui, moved unstable assembly
34639 copy script from src/Makefile.am
34641 2005-09-18 Aaron Bockover <aaron@aaronbock.net>
34643 * data/glade/player.glade: Added _M to Music top level menu item and
34644 fixed the misspelling "selelected" (awesome word) to "selected".
34645 * src/LibraryTransactions.cs: Made two strings make more sense, easier
34648 2005-09-18 Adam Weinberger <adamw@gnome.org>
34650 * configure.ac: Added en_CA to ALL_LINGUAS.
34652 2005-09-18 Funda Wang <fundawang@linux.net.cn>
34654 * configure.ac: Added Simplified Chinese translation.
34656 2005-09-17 Aaron Bockover <aaron@aaronbock.net>
34658 * src/Preferences.cs: Fixed crash on save if no iPod transcoders were
34661 * libbanshee/gst-encode.c: Use gnomevfssink, replaced stat() call with
34662 gnome_vfs_get_file_info() call
34664 * src/LibraryTransactions.cs: Explicitly prepend a file:// to the filename
34665 passed to new Uri() as ':' in the local file name can cause improper
34668 * src/PlayerInterface.cs:
34669 * src/SearchEntry.cs:
34670 * src/NotificationAreaIcon.cs: Fixed gtk-sharp deprecation warnings
34672 * src/LibraryTrackInfo:
34674 * src/LibraryTransactions.cs:
34676 * src/AudioCdCore.cs:
34678 * src/TrackProperties.cs:
34679 * src/GstFileEncoder.cs:
34680 * src/FileEncoder.cs:
34681 * src/RipTransaction.cs:
34682 * mediaengines/gst/GstPlayerEngine.cs:
34683 * mediaengines/helix/HelixPlayer.cs: All now use System.Uri instead of
34684 strings for filename/URI usage as scheme stuff was getting out of hand
34685 without it. All file components should play nicer now
34687 2005-09-16 Aaron Bockover <aaron@aaronbock.net>
34690 * src/LibraryTrackInfo.cs:
34691 * src/LibraryTransactions.cs:
34692 * data/Tables.sql: Date/Time optimizations, loads *much* faster from SQL.
34693 Had to create two new table columns: LastPlayedStamp, DateAddedStamp
34695 2005-09-09 Aaron Bockover <aaron@aaronbock.net>
34697 * configure.ac: Version 0.9.7.1
34698 * hal-sharp/hal-sharp.dll.config.in: DLL mappings for hal-sharp
34699 * hal-sharp/Makefile.am: Install hal-sharp.dll.config
34700 * src/PipelineProfile.cs: guard against empty/null profile array and protect
34701 empty combo box from ever getting its Active index set (segfaults, bug in
34703 * src/Library.cs: Fixed path creation bug to library DB
34704 * src/PlayerInterface.cs: Fixed gstreamer double-skip bug
34705 * mediaengines/gst/GstPlayerEngine.cs: fixed iterate cancel bug
34706 * data/banshee.schemas.in: Added default column widths per Nat's request
34707 * src/RipTransactions.cs: Fixed song-already-in-library exception when
34708 ripping (BNC 115945)
34709 * src/NotificationAreaIcon.cs: Fix bug on 64 bit
34711 2005-09-08 Dan Winship <danw@novell.com>
34713 * src/DragDrop.cs: reorganize the dnd target types into "Source",
34714 "PlaylistRows", "LibraryTrackIds", and "UriList". Use
34715 MIME-type-style target atoms.
34717 * src/PlayerInterface.cs: update for DragDrop changes. Use
34718 TreeView.EnableModelDragSource and EnableModelDragDest rather than
34719 Gtk.Drag.SourceSet and DestSet on the treeviews, so that
34720 GtkTreeView will do things like scrolling automatically. Remove
34721 code that got moved into PlaylistView.cs and SourceView.cs.
34723 * src/SourceView.cs (OnDragMotion, OnDragLeave,
34724 OnDragDataReceived): Move these here from PlayerInterface and fix
34725 up the drag feedback so you can't drop tracks onto sources that
34726 won't really accept them. Dynamically add a "New Playlist" line
34727 when dragging, so that it's always possible to create a new
34728 playlist via dnd, even when there isn't any blank space at the
34729 bottom of the source list.
34731 * src/PlaylistView.cs (OnDragBegin, OnDragMotion): override the
34732 default GtkTreeView dnd behavior.
34734 * src/PlayerInterface.cs (OnItemRemoveActivate,
34735 OnItemSelectAllActivate): Don't steal "Del" and "Ctrl+A" keys from
34738 2005-09-08 Aaron Bockover <aaron@aaronbock.net>
34740 * configure.in: Version 0.9.7
34741 * configure.in: Require ipod-sharp 0.5.4
34742 * src/IpodCore.cs: Disabled status, some kind of LTM bug... looking into it
34743 * src/IpodPropertiesWindow.cs: Fixed NullRef bug
34744 * src/Library.cs: Remove tracks from both track caches/maps
34745 * src/LibraryTransactions.cs: Remove tracks using new Library remove method
34746 in TrackRemoveTransaction
34747 * src/TrackInfoHeader.cs: Hide logo/album cover container
34748 * libbanshee/gst-encode.c: Fixed double free, and a pipeline element
34749 * src/GstFileEncoder.cs: Fixed minor bug
34750 * src/Library.cs: Keep track of songs queued for manual removal
34751 * src/IpodCore.cs: Fixed manual song remove bug
34752 * src/SourceView.cs: AddPlaylist() for adding playlist sources
34753 * src/PlayerInterface.cs: Update disk usage bar when device emits Changed
34754 signal. Add/Remove playlist specifically from the source view instead of
34755 rebuilding the source list. Updated Ipod UI parts.
34757 2005-09-07 Hans Petter Jansson <hpj@novell.com>
34759 * libbanshee/xing/emdct.c
34760 * libbanshee/xing/hwin.c
34761 * libbanshee/xing/l3init.c
34762 * libbanshee/xing/mp3enc.cpp
34763 * libbanshee/xing/mp3low.h
34764 * libbanshee/xing/sbt.c
34765 * libbanshee/xing/setup.c
34766 * libbanshee/xing/xhwin.c: Make static or add xingenc_ namespace to
34767 the most obnoxious exported functions. This fixes a clash with a
34768 symbol in GStreamer's oggdec plugin, and makes future clashes less
34769 likely. The Xing code still needs a more thorough cleanup.
34771 2005-09-06 Aaron Bockover <aaron@aaronbock.net>
34773 * data/glade/player.glade: Moved the iPod box to under the playlist view,
34774 will add more iPod crack there later
34775 * data/glade/trackinfo.glade: Add an event box behind the title label for
34776 setting its tooltip
34777 * src/TrackProperties.cs: Show the "editing track" title for single edits
34778 and set its tooltip to the URI of the current track
34779 * src/PlayerInterface.cs: Only update last played/play count when
34780 at least half the song has been played (bug 315168)
34781 * data/banshee.schemas.in: schema for CopyOnImport, default to false
34782 * src/Preferences.cs: Default to false for CopyOnImport
34783 * data/Tables.sql: Removed incomplete and unused Smart Playlist tables
34784 * src/Database.cs: WriteCycleFinished event for notifying objects that
34785 the current query is finished and it is save to make pending queries
34786 * src/LibraryTrackInfo.cs: Catch exception on Save() query for potential
34787 database locking and put in a request with the Database core for
34788 notification when it is safe to re-try the query
34789 * src/IpodTrackInfo.cs:
34790 * src/AudioCdCore.cs (AudioCdTrackInfo):
34791 * src/LibraryTrackInfo.cs: remove manual UID setting
34792 * plugincore/TrackInfo.cs: base class sets UID
34794 2005-09-06 Dan Winship <danw@novell.com>
34796 * burn-sharp/Makefile.am:
34797 * entagged-sharp/Makefile.am:
34798 * hal-sharp/Makefile.am:
34799 * mediaengines/gst/Makefile.am:
34800 * mediaengines/helix/Makefile.am:
34801 * plugincore/Makefile.am:
34802 * src/Makefile.am: Install .mdb files along with assemblies.
34804 * libbanshee/.cvsignore: add CORBA CDDB gunk
34806 * libbanshee/gst-player-engine.c (gpe_pipeline_setup): Drop
34807 "error" param since it's not used. Return success/failure.
34808 (gpe_new): if gpe_pipeline_setup() fails, return NULL rather than
34810 (gpe_free): fix leak
34811 * mediaengines/gst/GstPlayerEngine.cs (TestInitialize): fill this
34813 * src/Core.cs: Exit without crashing if the AudioCdPlayer can't be
34816 * src/EllipsizeLabel.cs: Gtk.Label subclass that checks if an
34817 "ellipsize" property exists on the underlying C object and sets it
34818 if so (so we get ellipsization on gtk 2.6+ platforms without
34819 depending on gtk# 2.6).
34820 * src/TrackInfoHeader.cs:
34821 * src/LibraryTransactionStatus.cs: Use it
34823 * src/PlayerInterface.cs (OnPlaylistViewButtonPressEvent): ignore
34824 double-clicks in the header area
34826 2005-09-05 Aaron Bockover <aaron@aaronbock.net>
34828 * src/AudioCdCore.cs: Set the URI for CD tracks to cdda://<track>#<device>
34829 * libbanshee/gst-player-engine.c: Added notify::source support for
34830 getting the source from the playbin element to set the CD device for
34831 cdda:// URIs. Handles cdda:// URIs in the form of cdda://<track>#<device>
34832 * src/LibraryTransactions.cs: call Save() on track info after setting
34833 new filename when performing copy on import
34834 * src/Library.cs: Applied patch to fix death on renaming new iPod (315307)
34836 2005-09-04 Aaron Bockover <aaron@aaronbock.net>
34838 * banshee: Version 0.9.6
34840 * src/LibraryTransactions.cs: Added copy-on-import to FileLoadTransaction;
34841 obeys GConf setting for the feature
34842 * src/Library.cs: IpodSource handles its own syncing and updating of
34844 * src/IpodCore.cs: Fixed to allow manual update and automatic syncing
34845 * src/PlaylistView.cs: Show warning icon next to DRMed songs, show
34846 sync icon next to pending iPod songs
34847 * src/SourceView.cs: Show iPod sources that have been modified (queued
34849 * src/PlayerInterface.cs: Restrict DnD on iPod view, disable view if
34850 if active view is a syncing iPod
34851 * src/AudioCdCore.cs: Parse proper artist and song title from the track
34852 name CDDB field if artist is "Various" and the track name field contains
34853 a " / " token (per the CDDB Database Specification)
34854 * src/banshee.exe.config.in: Added libbonobo-2 mapping
34855 * libbanshee/gst-encode-test.c: Adapted to use pipeline for gst-encode
34856 * plugincore/TrackInfo.cs: Added set accessor on Year and Genre
34857 * src/CddbClient.cs: Old CDDB HTTP client removed
34858 * src/AudioCdCore.cs: Adapted to use CddbSlaveClient
34859 * src/CddbSlaveClient.cs: Bindings for CDDB Slave2 CORBA Client
34860 * configure.ac: Build rules cor cddb slave code
34861 * libbanshee/Makefile.am: Build cddb slave code
34862 * libbanshee/cddb-slave-client.[ch]: GObject wrapper around GNOME Media
34863 CDDB Slave2 CORBA client
34864 * libbanshee/GNOME_Media_CDDBSlave2.idl: IDL Definition for GNOME Media
34865 CDDB Slave2 CORBA client
34866 * libbanshee/cd-info.[ch]: Added offsets property string with all
34867 track offsets for CDDB queries
34869 2005-09-03 Aaron Bockover <aaron@aaronbock.net>
34871 * src/PlayerInterface.cs: Use the LogCore to report errors to the user
34872 * src/LogCore.cs: New logging system to easily propagate and log warnings
34874 * src/IpodCore.cs: File transcoding to allow non-iPod formats to be
34875 copied to an iPod. Transcoded song duplicates are cached so they need
34876 only be transcoded once. This allows the computer library to be in various
34877 formats (Ogg, Flac, Mp3) and the iPod in MP3 or AAC format.
34878 * libbanshee/gst-encode.c: Pass a full pipeline for encoding instead of a
34879 file extension used to conditionally select a hard coded encoder pipeline
34880 * src/FileEncoder.cs, src/GstFileEncoder.cs, src/FileEncodeTransaction.cs,
34881 BurnCore.cs: Use PipelineProfile instead of hard coded encoding options
34882 * src/Preferences.cs: Encoding preference option for iPod transcoding
34883 * data/glade/preferences.cs: Encoding area for iPod
34885 2005-09-02 Aaron Bockover <aaron@aaronbock.net>
34887 * banshee: Version 0.9.5
34888 * data/glade/player.glade: Removed Menu->Playlists, moved Properties to
34889 View, added Columns item to View menu
34890 * src/Library.cs: TracksFnKeyed table for file name lookups for tracks
34891 instead of ID based lookup
34892 * src/LibraryTrackInfo.cs: Guard against already imported tracks
34893 * src/PlayerInterface.cs: Connect to AudioCdCore.Updated to refresh
34894 the view title if update is for CD in current view
34895 * src/SourceView.cs: Use Add/Remove events for AudioCdCore to remove
34896 and insert AudioCdSources instead of rebuilding the source view tree
34897 * src/SourceView.cs: Fixed right click/highlight bug (dup of danw, cvs
34898 collision), Draw Markup in Source cell renderer wrapped in
34900 * src/GConfKeys.cs: LastFileSelectorUri: key to store last position in
34902 * src/PlayerInterface.cs: Retain last directory in gconf for the file/folder
34903 selectors. Open the selector at that path.
34904 * src/LibraryTrackInfo.cs, src/IpodTrackInfo.cs, src/AudioCdCore.cs:
34905 Set the track UID using UidGenerator.Next
34906 * src/Core.cs: NextUid removed in favor of UidGenerator.Next
34907 * src/Dialogs.cs: MessageDialogs class for really simple prompting
34908 * src/AudioCdCore.cs: Better HAL event and device handling... no longer
34909 regenerate disk objects on a HAL event.
34910 * src/PlayerInterface.cs: Do not allow drag operations for Audio CDs,
34911 Disable search for CDs and Playlists, Cleaned up Menus, Rename on iPod
34912 now pops up an iPod-specific rename dialog, fixed markup errors, Fixed
34913 playlist appending, only allow rename on sources that allow it
34914 * src/Library.cs: CanRename property for Source objects. set accessor
34915 on Source.Name removed, moved to Rename method that returns false on
34916 failure. PlaylistSource shows an error dialog if it can't rename (existing
34919 2005-09-02 Dan Winship <danw@novell.com>
34921 * src/Dialogs.cs (InputDialog.Execute): make Return == OK.
34923 * src/PlayerInterface.cs (ImportWithFileSelector,
34924 OnMenuImportFilesActivate):
34925 * src/Preferences.cs (OnButtonLibraryChangeClicked): Remove
34926 incorrect (but harmless) "gnome-vfs" arg.
34928 * src/SourceView.cs (HighlightPath): select the row. (Fixes so
34929 that right-clicking on an unselected row DTRT now.)
34931 2005-09-01 Hans Petter Jansson <hpj@novell.com>
34933 * libbanshee/xing/gst-xing-encoder.c (xing_mp3_encoder_chain): Fixed
34934 a large memory leak.
34936 2005-09-01 Aaron Bockover <aaron@aaronbock.net>
34938 * libbanshee/gst-misc.c: Use gst_bin_parsev for pipeline validating
34939 * src/PlayerInterface.cs: Only show rip button if in CD view, tooltip for
34941 * src/LibraryTrackInfo.cs: Two new constructors for generating a library
34942 track object off of pure metadata and an existing URI
34943 * src/RipTransaction.cs: Better progress handling, no longer load ripped
34944 track into library using a FileLoadTransaction (causes metadata loss if
34945 encoder does not support tagging), instead load directly into cache
34946 * src/Preferences.cs: Preference page for setting ripping encoder profile
34947 * src/PipelineProfile.cs: GStreamer pipeline profile manager
34948 * src/GstMisc.cs: Bindings for libbanshee/gst-misc.c
34949 * libbanshee/gst-misc.[ch]: Misc. gstreamer functions
34951 * libbanshee/Makefile.am: Build Xing conditionally (--enable-xing)
34952 * configure.ac: Disable Xing by default, --enable-xing to enable
34953 * src/FileNamePattern.cs: Full pattern support for naming, creates
34954 directory structure if not exist
34955 * src/RipTransaction.cs: Bug fixes
34956 * libbanshee/cd-rip.c: Fix some bugs
34957 * mediaengines/gst/GstPlayerEngine.cs: DllImport on libbanshee
34958 * src/GstFileEncoder.cs: DllImport on libbanshee
34959 * mediaengines/gst/*.[ch]: moved to libbanshee
34961 * data/glade/player.glade: Ripping button
34962 * src/PlayerInterface.cs: New button to initiate Ripping, added UI code
34963 to create and register a RipTransaction
34964 * src/Library.cs: Library.sdb is now .banshee.db in new DefaultLibraryPath
34965 * src/Utilities.cs: DefaultLibraryPath now ~/My Music
34966 * src/FileNamePattern.cs: Base template for a file name pattern class to
34967 build file names based on an input pattern and create a directory structure
34968 * src/RipTransaction.cs: Bindings to CD Ripping core, and implementing
34969 LTM Transaction for Ripping/Encoding. Use xingenc bitrate=192, will
34970 make UI for future to pass any gst encoder pipeline
34971 * libbanshee/cd-rip.[ch]: CD Ripping Core
34972 * src/Library.cs: New default library DB path: ~/My Music/.banshee.db
34973 * src/Utilities.cs: New default library location: ~/My Music
34975 2005-08-31 James Willcox <snorp@snorp.net>
34977 * src/SearchEntry.cs: delay a bit before emitting the 'changed'
34978 event, so we don't do spurious searches.
34979 * src/PlayerInterface.cs: guard against a null active track when
34981 * burn-sharp/*: synced up
34983 2005-08-31 Aaron Bockover <aaron@aaronbock.net>
34985 * data/images/source-ipod-{shuffle,photo}.png: New iPod icons
34986 * src/SourceView.cs: Show a photo, regular, or shuffle iPod as an icon
34988 2005-08-31 Dan Winship <danw@novell.com>
34990 * plugincore/IPlayerEngine.cs: fix a comment
34992 * mediaengines/helix/HxPlayer.cs (HxPlayer): Use Marshal.SizeOf
34993 rather than a hardcoded size.
34994 (Dispose): Call GC.SuppressFinalize so
34995 HxUnmanaged.ClientPlayerClose() doesn't get called twice if the
34996 HxPlayer is explicitly disposed.
34998 * src/AboutBox.cs: Make sure the timer always gets cleaned up
34999 properly when the window closes.
35001 * src/Core.cs (FindUserRealName): Use g_get_real_name() from glib
35003 * src/PlayerInterface.cs (OnPlaylistViewMotionNotifyEvent): fix
35004 again so column resizing/rearranging works again
35006 * src/PlaylistView.cs: don't intercept OnColumnClicked. Let the
35007 TreeView handle sorting itself. Also, Set a ColumnDragFunction to
35008 prevent dragging the content columns before the "now playing"
35011 * src/*.cs: Remove GLib.GType stuff which isn't needed. (Probably
35012 copied from another old out-of-date gtk# app)
35014 2005-08-31 James Willcox <snorp@snorp.net>
35017 * add an emacs modeline to all the .cs sources
35018 * src/IpodCore.cs: fix iPod syncing.
35019 * src/PlayerInterface.cs (OnSimpleSearch): fix a null reference that
35020 was causing some crashes.
35022 2005-08-30 Aaron Bockover <aaron@aaronbock.net>
35024 * libbanshee/xing/gst-xing-encoder.[ch]: GStreamer plugin for Xing
35025 * libbanshee/xing: Moved Xing Encoder from mediaengines/xing-encoder
35026 * libbanshee/gst-init.[ch]: GStreamer initialization
35028 2005-08-30 Hans Petter Jansson <hpj@novell.com>
35030 * mediaengines/xing-encoder/xing-mp3-encoder.c
35031 (xing_mp3_encoder_set_property): Guard against too low bitrate being
35034 2005-08-30 Hans Petter Jansson <hpj@novell.com>
35036 * mediaengines/xing-encoder/xing-mp3-encoder.c
35037 (xing_mp3_encoder_get_property)
35038 (xing_mp3_encoder_set_property): Fix bad symbol references.
35040 2005-08-30 Hans Petter Jansson <hpj@novell.com>
35042 * mediaengines/xing-encoder/Makefile.am: Add xing-mp3-encoder.[ch],
35044 * mediaengines/xing-encoder/xing-mp3-encoder.[ch]: Implement Xing MP3
35045 Encoder GST plugin.
35047 2005-08-30 Aaron Bockover <aaron@aaronbock.net>
35049 * src/PlayerInterface.cs, src/SourceView.cs: Good support for CD Audio
35051 * src/AudioCdCore.cs: Complete Audio CD Backend, with CDDB support
35052 * src/CddbClient.cs: CDDB Client
35053 * libbanshee/cd-info.c: DiskID Support
35055 2005-08-30 Dan Winship <danw@novell.com>
35057 * src/PlayerInterface.cs (OnPlaylistViewButtonPressEvent): never
35058 eat control/shift clicks, so GtkTreeView will handle control-click
35060 (OnPlaylistViewMotionNotifyEvent): Ignore drags below the last row
35063 2005-08-30 Dan Winship <danw@novell.com>
35065 * Makefile.am (SUBDIRS): add po/
35067 * mediaengines/gst/GstPlayerEngine.cs:
35068 * mediaengines/gst/gst-encode.c:
35069 * mediaengines/gst/gst-player-engine.c:
35070 * mediaengines/helix/HelixPlayer.cs:
35071 * mediaengines/helix/HxPlayer.cs:
35072 * plugincore/TrackInfo.cs:
35073 * src/*.cs: Use _() / Catalog.GetString()
35075 * plugincore/Makefile.am ($(ASSEMBLY)):
35076 * mediaengines/gst/Makefile.am ($(ASSEMBLY)): add -r:Mono.Posix
35078 * src/Core.cs (UserFirstName): don't add "'s" here, since that has
35079 to be part of the localization of "{0}'s Music Library". (Ignoring
35080 for now the larger issue that the first word of the user's full
35081 name might not be their given name.)
35083 * src/Library.cs (IpodSource.DiskUsageString): property that
35084 returns an internationalized "500 MB of 2 GB (1500 MB Remaining)"
35087 * src/PlayerInterface.cs (OnSimpleSearch): deal with the fact that
35088 the field names are now localized rather than being constant
35091 * src/PlaylistColumns.cs: Add another arg to the constructor
35092 giving the database key name, since that won't be related to the
35093 column name if LANG != en
35095 * src/LibraryTrackInfo.cs (IncrementPlayCount): use the invariant
35096 datetime format for LastPlayed, not the localized one.
35098 2005-08-29 Aaron Bockover <aaron@aaronbock.net>
35100 * banshee: Version 0.9.1
35101 * mediaengines/helix/HelixPlayer.cs: Fixed PCM set to 0 bug (314816)
35102 * libbanshee/cd-info.c: More internals complete/working, cdparanoia
35103 fix in patched gstreamer
35104 * src/DBusIPC.cs: Virtual D-Bus methods for TogglePlaying(), Next(),
35106 * src/Main.cs: Command line option parser, supports --play-pause,
35107 --next, and --previous, translated to method calls on running instance
35109 * src/PlayerInterface.cs: Generic Next()/Previous() methods for D-Bus,
35110 UI Button for Syncing iPod
35111 * src/IpodCore.cs: IpodSyncTransaction for auto-syncing iPod
35112 * src/PlayerInterface.cs, src/Preferences.cs: Disable CD Burning UI
35113 unless BANSHEE_BURN_ENABLE is set (Attn Packagers: DO NOT SET THIS...
35115 * src/TrackProperties.cs: Multi-track metadata editor
35117 2005-08-29 Dan Winship <danw@novell.com>
35119 * src/PlayerInterface.cs (OnPlaylistViewMotionNotifyEvent): Oops,
35120 don't start a song drag if the user is dragging a column. Also,
35121 the drag action should have been Move|Copy, not just Move.
35122 (OnPlaylistViewButtonReleaseEvent): if the user clicks on a single
35123 row of a multi-row selection (without dragging), select just that
35126 2005-08-28 Aaron Bockover <aaron@aaronbock.net>
35128 * banshee: Version 0.9.0
35129 * src/AudioCdCore.cs: Implementing cd-info bindings
35130 * libbanshee/cd-info.c: Disk/Track info objects, GStreamer to detect
35131 sectors, offsets, and track numbers/layouts
35132 * src/Library.cs: New AudioCdSource
35133 * src/SourceView.cs: Listen to AudioCdCore for events to update the
35135 * src/AudioCdCore.cs: Bindings to cd-detect.c, AudioCdCore class provides
35136 a centralized layer for Audio CDs
35137 * libbanshee/cd-detect.c: HAL Audio CD Detection Library
35138 * libbanshee: Core Banshee C code
35139 * src/banshee.exe.config.in: Updated mappings, split up, don't override
35141 * burn-sharp/burn-sharp.dll.config.in, burn-sharp/Makefile.am: DLL config
35142 file for burn-sharp assembly
35143 * src/ipod-sharp.dll.config.in, src/Makefile.am: DLL config file for
35144 ipod-sharp assembly
35146 2005-08-26 Aaron Bockover <aaron@aaronbock.net>
35148 * src/NotificationAreaIcon.cs: Tray icon code no longer depends on
35149 eggtrayicon in egg in libsonance
35150 * libsonance/: Removed
35151 * src/LibraryTrackInfo.cs: Fix canSaveToDatabase = true, fixes append to
35153 * src/PlayerInterface.cs: Window resize/show patch
35154 * data/org.gnome.Banshee.service.in: D-Bus Service File
35155 * data/banshee.schemas.in: GConf Schemas
35156 * configure.ac: Check for sqlite3
35157 * src/Database.cs: Use sqlite3
35159 2005-08-25 Aaron Bockover <aaron@aaronbock.net>
35161 * data/banshee.desktop.in.in: Moved from banshee.desktop.in
35162 * data/Makefile.am: Translate banshee.desktop.in
35163 * configure.ac: Better configure checks, fix sqlite problem, hopefully
35164 * configure.ac, Makefile.am, po/: Set up infrastructure for translations
35165 * mediaengines/xing-encoder/Makefile.am: Fixed so make distcheck works
35166 * mediaengines/xing-encoder: Xing MP3 Encoder from RealNetworks
35167 * mediaengines/gst/Makefile.am, libsonance/Makefile.am,
35168 burn-sharp/Makefile.am: -module -no-version
35169 * mediaengines/gst/gst-player-engine.c: Fixed random return
35170 * configure.ac: Check /usr/lib, /usr/local for SQLITE
35171 * src/SearchEntry.cs: Do not call changed event twice
35172 * src/IpodPropertiesWindow.cs: More properties
35173 * src/PlayerInterface.cs, src/PlaylistModel.cs, src/PlaylistView.cs:
35174 DnD patch by Dan Winship, fixes most DnD issues
35175 * mediaengines/helix/HelixPlayer.cs: ClientPlayerMute to unmute
35177 * entagged: Dropped from tree
35178 * entagged-sharp: Added to tree, updated sync script, updated entagged
35179 * configure.ac, src/Makefile.am: Updated for entagged-sharp
35181 2005-08-21 Aaron Bockover <aaron@aaronbock.net>
35184 * configure.ac: Export ASM_VERSION instead of VERSION, an assembly-friendly
35185 version number string; require ipod-sharp 0.5.11 or better
35186 * src/IpodPropertiesWindow.cs: Display labels instead of entries if
35187 iPod is mounted read-only
35188 * src/PlayerInterface.cs: Only call Device.Save() if iPod is mounted RW
35189 * src/ImageAnimation.cs: Fix animation sync bug
35191 2005-08-20 Aaron Bockover <aaron@aaronbock.net>
35193 * banshee: Version 0.8.7
35194 * configure.ac: Version 0.8.7
35195 * src/PlayerInterface.cs: Better default window size
35196 * src/PlayerInterface.cs: Fixed UI bug that wouldn't show source view
35197 if library at startup was empty
35198 * banshee: Version 0.8.6
35199 * src/PlayerInterface.cs: Search works on the iPod, ejection fixes
35200 * src/PlayerInterface.cs: Don't show the source view until the database
35201 has been loaded into cache
35202 * src/TrackInfoHeader.cs: Don't show Banshee Version
35203 * src/PlayerInterface.cs: Nice iPod properties box, properties context
35204 menu, generic StopPlaying method
35205 * src/IpodPropertiesWindow.cs: Full iPod properties dialog/editor
35206 * configure.ac: Added more potential HELIX_LIBS paths to detector
35208 2005-08-18 Aaron Bockover <aaron@aaronbock.net>
35210 * plugincore/TrackInfo.cs: Abstract TrackInfo class
35211 * src/LibraryTrackInfo.cs: Library TrackInfo, extends TrackInfo
35212 * src/IpodTrackInfo.cs: Ipod TrackInfo, extends TrackInfo
35213 * src/PlayerInterface.cs: Ipod stuff, play from iPod, iPod properties
35214 * src/AboutBox.cs: About box patch from Evan... scrolls credits? Woo?
35215 * src/DBusIPC.cs: Dbus object, registration, session stuff
35216 * src/Main.cs: Instance detection through dbus
35217 * banshee: Probably more stuff I missed, because I suck at updating
35220 2005-08-14 Aaron Bockover <aaron@aaronbock.net>
35222 * banshee: Version 0.8.5
35223 * src/PlaylistModel.cs: NullReferenceException bug fixes
35224 * src/BurnCore.cs: GConf bug fix
35225 * banshee: Various other bug fixes
35227 2005-08-11 Aaron Bockover <aaron@aaronbock.net>
35229 * src/BurnCore.cs: Fixed 313256 (exception thrown if burner was never
35230 configured in preferences... default is now selected)
35232 * banshee: Version 0.8.4
35233 * mediaengines/helix: Helix (hxclientkit) bindings working,
35234 HelixPlayer implementation of IPlayerEngine
35235 * plugincore/IPlayerEngine.cs: Interface updates
35236 * mediaengines/gst/GstPlayerEngine.cs: Updated to implement IPlayerEngine
35238 * src/Preferences.cs: Notify that restart needed after changing Player
35240 * src/PlayerInterface.cs: Update song length if it was previously 0
35241 with stream length from player engine if available
35242 * configure.ac: Detect HELIX_LIBS automatically or set based on configure
35243 --with-helix-libs option
35245 2005-08-08 Aaron Bockover <aaron@aaronbock.net>
35247 * libsonance/Makefile.am: SONANCE_* -> BANSHEE_*
35248 * configure.ac: Cleaned up lots of stuff
35249 * src/PlayerInterface.cs: Minor bug fixes
35250 * mediaengines/gst/GstPlayerEngine.cs: Fixed some error handling bugs,
35252 * mediaengines/gst/gst-player-engine.c: Fixed some error handling bugs
35253 * banshee.{mds,mdp}: Added entagged, plugincore, mediaengines/gst, and
35254 mediaengines/helix Mono Develop projects
35255 * Makefile.am: Removed banshee.{mds,mdp} from EXTRA_DIST. Not distributing
35256 Mono Develop projects with tarball releases
35258 2005-08-07 Aaron Bockover <aaron@aaronbock.net>
35260 * banshee: Version 0.8.3
35261 * banshee: gst-sharp player engine removed
35262 * src/PlayerInterface.cs: Implemented seeking in the UI
35263 * mediaengines/gst/GstPlayerEngine.cs: Bindings implementing IPlayerEngine
35264 for new GStreamer C player engine core
35265 * mediaengines/gst/gst-player-engine.c: New GStreamer C player engine core
35266 * mediaengines/gst/gst-player-engine.h: New GStreamer C player engine core
35268 2005-08-04 Aaron Bockover <aaron@aaronbock.net>
35270 * banshee: Version 0.8.2
35271 * configure.ac: --enable-helix option, HME disabled by default
35272 * mediaengines/helix/Makefile.am: if ENABLE_HELIX.. build only if requested
35273 * banshee: More Sonance->Banshee string changes
35274 * banshee: Namespace renamed from Sonance to Banshee
35275 * banshee: Files/Graphics updated to read Banshee in public/user places
35276 * sonance: Renamed to Banshee
35277 * src/Preferences.cs: Player Engine Chooser, Advanced Tab
35278 * src/PlayerEngineLoader.cs: Uses gconf to select preferred engine
35279 * plugincore/IPlayerEngine.cs: New fields for name, description, author,
35280 etc. for engine implementations. Initializer code moved to Initialize()
35281 function. Added TestInitialize() to interface.
35282 * src/mediaengines/HelixPlayer.cs: More minor fixes, still not working
35284 2005-08-03 Aaron Bockover <aaron@aaronbock.net>
35286 * sonance: Version 0.8.1
35287 * src/PlayerInterface.cs: Rating Menu, Increment Play Count/Date
35288 * src/PlaylistView.cs: Column Sorting, new Last Played Column
35289 * src/PlaylistColumns.cs: CellRenderer argument
35290 * src/TrackInfo.cs: Save count, date, rating
35291 * src/RatingRenderer.cs: CellRenderer for stars as rating
35293 2005-08-01 Aaron Bockover <aaron@aaronbock.net>
35295 * mediaengines/gst/Makefile.am: Fixed rule that removed bundled
35296 gst-sharp.dll on distclean
35297 * src/TrackInfoHeader.cs: Why I had a hard-coded version number is beyond me
35298 * src/PlayerInterface.cs: Fixed Menu->Quit bug not saving settings
35299 * data/images: Two new icons
35300 * src/PlaylistView.cs: Added column for showing arrow of current
35302 * src/PlaylistColumns.cs: Fixed column saving bug
35304 * sonance: Lots and lots of updates, I'm sure I missed lots of things
35307 * mediaengines/helix: Unworking Helix Core (very close to working,
35308 one major bug to figure out)
35310 * plugincore: New library currently containing IPlayerEngine and
35311 ITrackInfo for developing player engine plugins
35312 * src/BurnCore.cs: Core CD Burning Engine
35313 * src/FileEncodeTransaction: LTM Transaction for the FileEncoder
35314 * src/BurnTransaction: LTM Transaction for the CD Burner (not in use ATM)
35315 * src/PlayerEngineLoader.cs: Searches for assemblies that have classes
35316 implementing IPlayerEngine - loads engines at runtime (no more linking)
35317 * src/Core.cs: Use PlayerEngineLoader
35319 2005-07-28 Aaron Bockover <aaron@aaronbock.net>
35321 * sonance: Version 0.8.0
35322 * src/FileEncoder.cs: Abstract engine class for encoding files
35323 * src/GstFileEncoder.cs: GStreamer implementation of FileEncoder class
35324 using mediaengines/gst/gst-encode
35325 * src/NautilusBurnUtil.cs: Utilities for libnautilus-burn-sharp
35327 2005-07-27 Aaron Bockover <aaron@aaronbock.net>
35329 * burn-sharp/: Added libnautilus-burn-sharp source tree
35330 * mediaengines/gst/: Added gst media engine root
35331 * mediaengines/gst/gst-encode.c: GStreamer file encoder engine
35332 * src/Preferences.cs: CD Burning Preferences
35334 2005-07-20 Aaron Bockover <aaron@aaronbock.net>
35336 * src/Makefile.am: Updated install-data-hook and uninstall-data rules to
35337 play nice with make distcheck
35339 2005-07-19 Aaron Bockover <aaron@aaronbock.net>
35341 * hal-sharp/: Added hal-sharp source tree
35342 * src/Makefile.am: Added hal-sharp, added uninstall-hook rule for ipod-sharp
35344 2005-07-18 Aaron Bockover <aaron@aaronbock.net>
35346 * configure.ac: Now requires ipod-sharp
35347 * src/Makefile.am: Cleaned out some of the unused resources, uses ipod-sharp
35348 * src/IpodCore.cs: IpodCore for managing all iPod services
35350 2005-07-12 Aaron Bockover <aaron@aaronbock.net>
35352 * configure.ac: Got rid of AC_PROG_CC
35354 2005-07-09 Aaron Bockover <aaron@aaronbock.net>
35356 * Library.cs: New Playlist.Count property
35357 * SourceView.cs: Updated source cell renderer to show child count
35358 * PlaylistModel.cs: Updated ChangeDirection algorithm, added O(1)
35359 regression history for random playback
35360 * project: Version 0.7.3
35361 * PlayerInterface.cs: Added dynamic playlist context menu item and submenu
35362 to add selection to existing or new playlist
35364 2005-07-08 Aaron Bockover <aaron@aaronbock.net>
35366 * project: removed mm-keys support
35367 * LibraryTransactionManager.cs: small bug fix
35368 * PlayerInterface.cs: Edit menu enhanced with new items, tooltips on
35369 toolbar buttons at the bottom
35370 * PlaylistView.cs: the beginning of column sorting
35372 2005-07-07 Aaron Bockover <aaron@aaronbock.net>
35374 * SqlGenerator.cs: Added Statement.Empty and ParenGroup classes
35375 * LibraryTransactions.cs: Made TrackRemoveTransaction an abstract class
35376 and added LibraryTrackRemoveTransaction and PlaylistTrackRemoveTransaction
35377 that extends TrackRemoveTransaction
35378 * PlayerInterface.cs: Proper removal of music from Playlists
35379 * PlayerInterface.cs: Prompt a confirm dialog to user to ask if they are
35380 sure they want to remove music from their *library*
35381 * Core.cs: Find user's real name
35382 * PlayerInterface.cs: Name of Playlist or User's Library showed at
35383 top of tree view depending on source
35384 * SourceView.cs: Single click/arrow up/down now selects source instead
35385 of double click/row activate
35386 * PlayerInterface.cs: Total Play Duration format updated to include
35387 days of music playback as well as hours, minutes, seconds
35388 * PlayerInterface.cs: Track Count / Total Play Duration updated on
35391 2005-07-06 Aaron Bockover <aaron@aaronbock.net>
35393 * SqlGenerator.cs: More SQL classes (generic OR and AND, updated WHERE)
35394 * PlaylistModel.cs, PlayerInterface.cs: Fixed logic for removing
35395 selected tracks (bug 309608, mtgordon)
35396 * LibraryTransactions.cs: New TrackRemoveTransaction to remove a set
35397 of tracks from the library
35399 2005-07-06 Aaron Bockover <aaron@aaronbock.net>
35401 * Project: 0.7.2 Release, and I updated the ChangeLog...
35402 * PlaylistModel.cs: Added random/shuffle with history
35403 * PlayerInterface.cs: Rename playlist dialog, tool buttons work
35405 2005-06-29 Aaron Bockover <aaron@aaronbock.net>
35407 * Project: dropped Muine Metadata support, using Entagged
35408 * Project: lots of other stuff since last entry, I need to get
35409 better about writing the ChangeLog again :)
35411 2005-06-21 Aaron Bockover <aaron@aaronbock.net>
35413 * PlayerEngine.cs: New abstract class for building modular playback
35414 engines. Updated GstPlayer to extend PlayerEngine.
35416 * PlayerInterface.cs: Various bug fixes, cleanup
35418 * DBusIPC.cs: Added D-Bus dependency for IPC
35420 * Project: Updated build system, depends on dbus-sharp, fixed
35421 Makefile.am to include id3-vfs
35423 2005-06-20 Aaron Bockover <aaron@aaronbock.net>
35425 * Project: First import to GNOME CVS as a Novell-owned project. Heavy
35426 development ahead, starting to manage ChangeLog again.
35429 2005-05-04 Aaron Bockover <aaron@aaronbock.net>
35431 * PlayerInterface.cs: Playlist renaming/delete/append
35433 * Library.cs: Playlist renaming/delete/append
35435 * SourceView.cs: Fixed cell editor for sources
35437 2005-05-03 Aaron Bockover <aaron@aaronbock.net>
35439 * PlaylistView.cs: Reorder via DnD
35441 2005-05-02 Aaron Bockover <aaron@aaronbock.net>
35443 * PlayerInterface.cs: New playlist creation support
35445 * PlaylistView.cs: Multiple row selections supported.
35447 2005-04-28 Aaron Bockover <aaron@aaronbock.net>
35449 * SimpleNotebook.cs: Very simple Notebook widget (without tabs) for the
35450 status header widgets in the top of the main UI.
35452 * SearchEntry.cs: Custom search entry widget with drop down menu for
35455 2005-04-24 Aaron Bockover <aaron@aaronbock.net>
35457 * SqlBuilder.cs: SQL Builder UI for searching/smart playlists.
35459 2005-04-15 Aaron Bockover <aaron@aaronbock.net>
35461 * PlaylistView.cs: Column states saved, dialog to toggle column visibility
35463 * TrackInfo.cs: Support for album information now
35465 * Library.cs: Cache of all Library Tracks
35467 * PlayerInterface.cs: New Interface!
35469 2005-04-11 Aaron Bockover <aaron@aaronbock.net>
35471 * TrackInfo.cs: Fixed playlist loading bug
35473 * Database.cs: SQLite connection managing for threads
35475 2005-04-07 Aaron Bockover <aaron@aaronbock.net>
35477 * LibraryTransactions.cs: Playlist saving
35479 2005-04-03 Aaron Bockover <aaron@aaronbock.net>
35481 * PlayerInterface.cs: Added connecting code to the LibraryTransactionStatus
35483 * LibraryTransactionStatus.cs: Wrote UI for showing statistics in the
35484 LibraryTransactionManager.
35486 * ImageAnimation.cs: Wrote nice Animated Image widget
35488 * LibraryTransactions.cs: Replaced FileLoader with LibraryTransactions
35490 * FileLoader.cs: Removed FileLoader
35492 * LibraryTransactionManager.cs: Wrote LibraryTransactionManager to
35493 manage all Library IO in a safe way
35495 2005-04-01 Aaron Bockover <aaron@aaronbock.net>
35497 * Preferences.cs: Wrote beginning of UI for Mimetype/Decoder handling
35499 2005-03-31 Aaron Bockover <aaron@aaronbock.net>
35501 * Core.cs: Added support for global DecoderRegistry instance.
35503 * GstMetadata.cs: Updated to use core global DecoderRegistry for supported
35504 mimetype checking instead of old Core DB.
35506 * DecoderRegistry.cs: Wrote DecoderRegistry class. This handles the parsing
35507 of the GStreamer plugins registry to build a local decoders registry
35508 for mimetype checking. The decoder registry is saved to XML for quick
35509 loading on next run. Also will allow a UI for users to add/remove
35512 * Database.cs, Core.cs: Removed Core database. All SQL queries are specific
35513 to the Library database.
35515 * Finally, a break from work to really do some hacking on Sonance again :-/
35517 2005-03-10 Aaron Bockover <aaron@aaronbock.net>
35519 * PlayerInterface.cs: Progress bar for track loading/importing
35521 * Preferences.cs: You can save/edit preferences
35523 * Preferences.cs: New preferences dialog.
35525 2005-03-09 Aaron Bockover <aaron@aaronbock.net>
35527 * FileLoader.cs: Support for SQL queries, sends IDataReader to TrackInfo.
35528 Reduces library load times (4000 songs) to 5 seconds! Major optimization!
35530 * TrackInfo.cs: New constructor that handles a raw IDataReader to reduce
35531 the number of SQL queries.
35533 * PlayerInterface.cs: Using new FileChooserDialog instead of old FileSelector
35535 * PlaylistView.cs: Now all playlist additions are done based on a queue
35536 and an interface timeout. This reduces load time by over 250% (vs. a
35537 1:1 loader/UI sync). Uses FileLoader/FileLoaderManager.
35539 * FileLoader.cs: Wrote a managed file/SQL loader. Manages a queue of
35540 load requests, allows the cancellation of all requests. FileLoader
35541 objects recurse directories and load TrackInfo objects, or load
35542 them from the database.
35544 2005-03-01 Aaron Bockover <aaron@aaronbock.net>
35546 * PlaylistRowRenderer.cs: Removed extern constructors... not allowed in
35549 * SourceView.cs: Removed extern constructors... not allowed in latest mcs.
35551 * Library.cs: Removed extern constructors... not allowed in latest mcs.
35553 * All: Changed namespaces to avoid conflicts with mcs 1.1.4. Project
35554 now depends on gtk-sharp-2.0 (1.9.2), and the latest gst-sharp (0.2.4)
35557 2005-02-28 Aaron Bockover <aaron@aaronbock.net>
35559 * Library.cs: Set of Source classes to define how to read data from
35562 * SourceDialog.cs: A window that embeds a SourceView widget, used by
35563 the main interface to show a list of sources.
35565 * SourceView.cs: A new TreeView widget for showing data sources (Library
35566 and a list of Playlists)
35568 * PlayerInterface.cs: Supports MmKeys.
35570 * MmKeys.cs: Wraps mm-keys support in libsonance, adds MM-Keys support
35571 to Sonance. Adapted from Muine.
35573 * SignalUtils.cs: Wraps signal utilities in gobject-2.0. Needed for
35574 MM-Keys. Adapted from Muine.
35576 * NoticationAreaIcon.cs: Calls native egg-tray from libsonance
35578 * Build System: Builds libsonance (C shared library) which includes
35579 egg-tray support and mm-keys support. Dropped egg-sharp.dll.
35581 * libsonance/mm-keys.c: Added to project
35583 * libsonance/eggtrayicon.c: Added to project
35585 * Dialogs.cs: Save playlist dialog
35587 * PlayerInterface.cs: Can save playlist
35589 * PlaylistView.cs: Now saves playlist to DB
35591 * Library.cs: Playlist class saves to Library DB
35593 * Database.cs: More DB utilities
35595 2005-02-26 Aaron Bockover <aaron@aaronbock.net>
35597 * PlaylistView.cs: Fixed bug when removing item from playlist
35599 * TrackInfo.cs: Writes metadata to Library database
35601 * Database.cs: Supports new SQL generator objects as queries
35603 * SqlGenerator.cs: New SQL query generator to easily generate complex and
35606 * PlayerInterface.cs: Lots of code cleanp, and support for interfacing
35607 with NotificationAreaIcon.
35609 * NotificationAreaIcon.cs: Added tray icon support in GNOME through libegg.
35610 Uses the egg-sharp.dll assembly, a wraper for libegg.so.
35612 * Source/Makefile.am: Added libegg.so rule to use gcc to build eggtrayicon.c
35613 for the egg-sharp.dll assembly.
35615 2005-02-24 Aaron Bockover <aaron@aaronbock.net>
35617 * Database.cs: Supports multiple databases (we now have a core and a library
35618 database that are independent of eachother).
35620 * Data/Makefile.am: Included Tables.sql
35622 * Tables.sql: Defined all SQL Table construction in a SQL file, included
35625 * TrackProperties.cs: Updated to reflect new supported metadata. Also only
35626 shows fields that we have data for (instead of showing "Unknown Field").
35628 * TrackInfo.cs: Updated to reflect updated GstMetadata.
35630 * GstMetadata.cs: Updated GStreamer metadata backend. Using a Hashtable to
35633 * CommonTags.cs: Simple class containing GStreamer tag names as constant
35636 * AboutBox.cs: Updated about box with new graphic, a tabbed information
35637 layout, project information, and assembly information. New graphic does
35638 not reference version, and version information is written based on the
35639 main assembly, so no updates need to be made to this code anymore.
35641 2005-02-21 Aaron Bockover <aaron@aaronbock.net>
35643 * Database.cs: Added dynamic mime type support checking based on
35644 a GstDecoders and MimeSynonyms table in the SQL database.
35645 If GstDecoders is empty or non-existant, it is constructed
35646 based on the GStreamer registry.xml file. No hard-coded supported
35647 mime types exist now.
35649 * Database.cs: Added SQLite support. SQLite is now a dependency.
35651 2005-02-18 Aaron Bockover <aaron@aaronbock.net>
35653 * PlayerInterface.cs: Fixed volume loading bug.
35655 2005-02-18 Aaron Bockover <aaron@aaronbock.net>
35657 * Sonance-0.2.1: Minor release for updates below
35659 * PlaylistView.cs: Fixed minor bug in playlist. PlayIter now ScrollToCell
35660 to always keep the active item in view unless user manually scrolls out
35663 * PlayerInterface.cs: Statusbar now shows total number of items and duration
35666 * PlaylistView.cs: Added Update event. Fired whenever the playlist changes
35668 * PlaylistView.cs: Added TotalDuration support to hold the length (time)
35671 2005-02-18 Aaron Bockover <aaron@aaronbock.net>
35673 * Sonance-0.2 - That was fast!?
35675 2005-02-17 Aaron Bockover <aaron@aaronbock.net>
35677 * PlayerInterface.cs: Added a GConf client (/apps/Sonance). Now all interface
35678 states are saved and loaded (Window size/position, volume, shuffle/repeat,
35681 * PlayerInterface.cs: Added a search box, with back/forward features, and
35682 it can be toggled via J or F3 (Similar to Firefox, live searching)
35684 * PlaylistView.cs: Added searching support
35686 * PlayerInterface.cs: Added support for "Add" files through Gtk.FileSelection
35687 dialog. I hate that dialog. I can't wait for gtk-sharp2 to become stable
35688 to use the new Gtk.FileChooser dialog. Mugh.
35690 * PlaylistView.cs: Added directory reading and recursion for additions
35692 * PlaylistView.cs: Added support for shuffle and repeat modes
35694 * PlayerInterface.cs: Many UI enchancements. Interface is now
35695 resizeable and there are shuffle/repeat toggle buttons
35697 * TrackInfo.cs: Implemented a window for viewing selected track properties
35698 (Shows metadata for track)
35700 2005-02-17 Aaron Bockover <aaron@aaronbock.net>
35702 * Sonance-0.1 - First Public Release