12013-12-10: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 2 * RandomPlaylistFeed.m 3 * GNUmakefile.preamble 4 * GNUmakefile 5 * Documentation/Install 6 bump version to 1.5.1 7 add built fix for systems that don't have arc4random in libc 8 92013-12-02: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 10 * CollectionBrowser.m 11 get rid of -windowDidResize: method to fix weirdo resizing issues 12 get rid of DoubleClick action thingies 13 remove extraneous ) 14 * MPDConInfo.plist, GNUMakefile, MPDCon.pcproj 15 update version to 1.5 16 * PlaylistController.m 17 make the removal of selected songs from playlist work 18 192013-11-23: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 20 * CollectionBrowser.m 21 * remove some NSLog entries 222013-11-23: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 23 * AppController.m 24 * CollectionBrowser.m 25 * CollectionController.m 26 * MPDController.m 27 * restructuring about notifications sent on collection updates 28 * Resources/CollectionBrowser.gorm 29 * re-add missing connection from NSOwner to -browser 30 * CollectionBrowser.m 31 * make the update and add buttons work as expected 32 * CollectionController.m 33 * AppController.m 34 * MPDController.m 35 * remove some NSLog 36 * CollectionBrowser.m 37 * reload browser columns when collection change notification 38 are received 39 * Documentation/Install 40 mention the need for libbsd(-dev) on Linux 41 422013-11-22: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 43 * Resources/CollectionBrowser.gorm 44 * add an update and add button 45 462013-11-14: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 47 * AppController.m 48 * CollectionBrowser.m 49 * CollectionController.m 50 * LyricsInspector.m 51 * PlayView.m 52 * PlaylistController.m 53 * PlaylistInspector.m 54 * PlaylistItem.m 55 * PlaylistsManagerController.m 56 * RandomPlaylistFeed.m 57 * SQLiteAdaptor.m 58 * SongInspector.m 59 * fix a couple of format strings, potential memory leaks, 60 uses of uninitialized pointers, and others found by 61 clang static analyzer 62 632013-02-09: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 64 * SQLiteAdaptor.m 65 fix compilation with clang 66 * PlaylistsManagerController.[h|m] 67 * CollectionController.[h|m] 68 (unsigned) int -> NS(U)Integer transitions 69 702012-01-06: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 71 * MPDController.[h|m], CollectionBrowser.[h|m], 72 Resources/CollectionBrowser.gorm, AppController.m, 73 Resources/Player.gorm 74 * add a Music Collection filesystem browser 75 * PlaylistItem.m, do not try to retrieve the lyrics 76 for unknow artists or songs 77 * PlaylistController.m after playlistChanged, update the 78 highlight the current song 79 802012-12-20: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 81 * MPDController.m fix double frees and crashers in 82 the collection controller 83 * Update release version to 1.4 842012-12-15: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 85 * RandomPlaylistFeed.[h|m] honour the IncludeUnratedSongs 86 default, and optimize algorithm a bit. 87 * PlaylistInspector.[h|m] new outlets for the 88 IncludeUnratedSongs default, and grey out other text 89 when it is disabled 90 * Resources/PlaylistInspector.gorm 91 new outlets for some text in order to disable them, 92 and checkbox to include unrated songs 93 * SQLiteAdaptor.m little fix 94 952012-12-12: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 96 * PlaylistItem.[m|h] make the rating an Integer, not 97 unsigned integer 98 * SQLiteAdaptor.[h|m] same as above, and use the quoteString 99 from libSQLite correcly 100 * RandomPlaylistFeed, make the feed based on rating work 101 1022012-12-11: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 103 * nearly any .m file: get rid of GNUstep macros 104 1052012-12-10: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 106 * Strings.h add new string for Notification for the random 107 playlist feed 108 * GNUmakefile, PC.project, add RandomPlaylistFeed.[h|m] 109 * Implement a random Playlist Feed 110 * PlaylistInspector.[h|m] move out the threading, and 111 put it in the RandomPlaylistFeed class 112 * MPDController.[h|m] parameterize getAllTracksWithMetadata: 113 * CollectionController.m use the new method 114 * AppController.[h|m] initialize the RandomPlaylistFeed 115 1162012-12-02: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 117 * SongInspector.h 118 add method to shut up gcc from whining it may not be available 119 * PlaylistItem.[h|m], LyricsInspector.[h|m] 120 Move the lyrics retriveal from web from the LyricsInspector 121 to the PlaylistItem. There is a better place for it. 122 While there, shut up gcc from whining, save as for the 123 SongInspector 124 1252012-11-25: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 126 * SQLiteAdaptor.[h|m] 127 restructuring, to also save retrieved lyrics from the 128 web in the SQLite database 129 * PlaylistItem.[h|m] 130 restructuring, and adding methods to retrieve, save 131 song lyrics 132 * LyricsInspector.m 133 try to lookup lyrics in DB before consulting the web 134 and save found lyrics from web to DB 135 1362012-11-11: Sebastian Reitenbach <sebastia@l00-buggdead-prods.de> 137 * GNUmakefile.preamble, MPDCon.pcproj/PC.project 138 * link against -lSQLClient, the SongRatings will be saved 139 in a sqlite3 database 140 * PlaylistInspector.[h|m], Resources/PlaylistInspector.gorm 141 make it kind of work 142 * PlaylistItem.[h|m], get rid of the Private category, 143 and use SQLiteAdaptor to store the SongRatings 144 * GNUMakefile, MPDCon.pcproject/PC.project 145 Add SQLiteAdaptor.[h|m] 146 * CollectionController.[h|m] new method: getAllTracks 147 1482012-11-10: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 149 * MPDController.[h|m] 150 * Add - (void) removeSongRange: (NSRange)songRange; 151 needed for the PlaylistInspector 152 * PlaylistController.[h|m] 153 * expose a - (NSString *) playlistLength, which gives back 154 the length of the playlist as timestamp, needed 155 by the PlaylistInspector 156 * move the loading of the playlist to the init method 157 1582012-10-31: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 159 * PlaylistController.m int -> NSInteger conversions 160 * PlaylistInspector.[h|m], AppController.[h|m], 161 GNUmakefile, Resources/PlaylistInspector.gorm, 162 Resources/Player.gorm MPDCon.pcproj/PC.projec 163 * Add PlaylistInspector, empty so far 164 1652012-10-29: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 166 * GNUmakefile 167 * PlaylistController.h 168 * PlaylistController.m 169 * PlaylistItem.h 170 * PlaylistItem.m 171 * SongRatingCell.h 172 * SongRatingCell.m 173 * MPDCon.pcproj/PC.project 174 * Resources/Star.tiff 175 * Add Rating of songs in the PlaylistViewer, still 176 with some NSLog output, and still not 100% 177 * while there, some int -> NS(U)Integer conversions 178 * Add helper method to PlalistItem: _playlistItemPathToRatingKey 179 stolen from RSSKit, and delete keys from the Ratings database 180 when Rating gets set to 0 181 * Now that it seems to work as expected, remove NSLogs 182 from SongRatingCell.m PlaylistItem.m 183 1842012-10-19: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 185 * LyricsInspector.m When the server is not reachable 186 tell the user about it in the inspector. 187 * GNUmakefile 188 * GNUmakefile.preamble 189 * MPDConInfo.plist 190 * MPDCon.pcproj/PC.project 191 * Version 1.3 192 1932012-09-25: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 194 * grant a little bit more space for the title in 195 the lyrics inspector 196 * Make the buttons in the PlaylistViewer wider to show 197 all the button text 198 1992012-09-25: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 200 * Resources/Player.gorm 201 * Resources/SongInspector.gorm 202 * SongInspector.[h|m] 203 * AppController.[h|m] 204 * GNUMakefile 205 * PlaylistItem.[h|m] 206 * MPDController.m 207 * Add an Inspector to see all details about the currently 208 played song. PlaylistItem had to be enhanced to handle 209 all available MPD tags. MPDController had to be enhanced 210 to also set the new parameters of a PlaylistItem. 211 2122012-09-02: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 213 * Resources/Player.gorm 214 * Resources/LyricsInspector.gorm 215 * LyricsInspector.[h|m] 216 * AppController.[h|m] 217 * GNUmakefile 218 * Add an Inspector to retrieve lyrics from lyrics.wikia.com, 219 based on the artist and title of the song. The API only 220 gives back about 1/7 of the full lyrics if found, due to 221 fair use and such. Additionally it gives a URL, where 222 the full Lyrics can be found. Therefore the Inspector 223 got a button to open the URL using NSWorkSpace openURL. 224 2252012-06-09: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 226 * Documentation/Install update 227 * GNUmakefile.preamble, use pkg-config to figure out 228 how to link against libmpdclient 229 2302012-06-08: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 231 * MPDConInfo.plist 232 * MPDCon.pcproj/PC.project 233 * Add Project URL 234 * remove obsolete Resources/Info-gnustep.plist 235 * GNUmakefile 236 * MPDCon.pcproj/PC.project 237 * remove reference to non-existent Resources/TODO.txt 238 * remove reference to obsolete and removed Resources/Info-gnustep.plist 239 2402012-04-29: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 241 * Fix version in objects 242 * Resources/Collection.gorm/objects.gorm 243 * Resources/Player.gorm/objects.gorm 244 * Resources/PlaylistViewer.gorm/objects.gorm 245 * Resources/Preferences.gorm/objects.gorm 246 * Resources/StatisticsViewer.gorm/objects.gorm 247 * Fix bogus version in Gorm files, due to OpenBSD bogusness 248 initially created 249 2502012-04-14: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 251 * MPDCon/MPDConInfo.plist 252 * MPDCon/MPDCon.pcproj/PC.project 253 Make the version 1.2, and update Authors, Copyright... 254 2552012-03-25: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 256 * PlaylistController.m fix warning: suggest parentheses 257 around assignment used as truth value 258 * MPDController.m: fix warnings about potentially uninitialized 259 used of variables 260 * CollectionController.m: warning: suggest parentheses 261 around assignment used as truth value 262 2632012-02-23: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 264 * PreferencesController.m: fix handling of the password field 265 2662012-02-17 Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 267 * AppController.m, CollectionController.m, MPDController.h, MPDController.m 268 After updating the Collection, update the Collection Interface 269 * track the state of the collection (overall nr of artists/albums) 270 in the MPDController, and add a method to check whether it changed. 271 * let the CollectionController listen for a notification, in case 272 the AppController detects a change. 273 * PlaylistManagerController.m do not try to remove playlists that 274 don't exist when saving playlists 275 2762012-02-16 Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> 277 278 * Update to newer ProjectCenter project 279 * get rid of BSD licensed libmpdclient.[h|m] 280 * AppController.m new default mpdTimeout, and cleanups 281 * Bold/MormalFormatter.m code cleanups 282 * PreferencesController.[h|m] new preference mpdTimeout, and add some 283 sane default values for it, and for mpdHost and mpdPort 284 * CollectionController.[h|m] fix some warnings and code cleanup 285 * Info-gnustep.plist general bumps from PC 286 * MPDController.[h|m]: update to new libmpdclient API 287 * PlaylistController.[h|m] code cleanups and now show Genre, and allow 288 filter for Genre 289 * PlaylistItem.[h|m] code cleanups and now show Genre, and allow 290 filter for Genre 291 * improvements to the Interfaces, new mpdTimeout in the Preferences, 292 show Genre in PlaylistViewer and other minor nits 293 * MPDConInfo.plist new file from PC 294 2952004-06-14 Daniel Luederwald <flip@Confusion.CabalOfEntropy.local> 296 297 * OwnTableView.m, FindController.m: Code Reformatting 298 299 * CrossfadeController.m, CollectionController.m, AppController.m: 300 Reformatted Code 301 3022004-06-13 Daniel Luederwald <flip@Confusion.CabalOfEntropy.local> 303 304 * FindController.m, CollectionController.m, CollectionController.h: 305 *** empty log message *** 306 307 * AppController.m, AppController.h: Implemented getAlbums service 308 309 * FindController.m, FindController.h, CrossfadeController.m, CrossfadeController.h, CollectionController.m, CollectionController.h, MPDController.m, MPDController.h: 310 Refactoring 311 312 * PlaylistController.m, PlaylistController.h: More Refactoring 313 314 * PlayView.m, PlayView.h: Refactoring 315 316 * AppController.h: *** empty log message *** 317 318 * AppController.h, AppController.m: More Refactoring 319 3202004-06-12 Daniel Luederwald <flip@Confusion.CabalOfEntropy.local> 321 322 * OwnPanel.h, OwnPanel.m: *** empty log message *** 323 324 * OwnPanel.h, OwnPanel.m: New file. 325 3262004-06-04 Daniel Luederwald <flip@Confusion.CabalOfEntropy.local> 327 328 * FindController.m, FindController.h, AppController.m: Bugfix 329 330 * AppController.m: *** empty log message *** 331 332 * PlaylistsManagerController.m: Begin of localization 333 334 * PlaylistController.m: *** empty log message *** 335 336 * PlayView.m, MPDController.m, FindController.m, AppController.m: 337 Begin of localization 338 339 * Strings.h: New file. 340 341 * StatisticsController.h, PreferencesController.h, PlaylistsManagerController.h, PlaylistController.h, PlayView.h, OwnTableView.h, MPDController.h, FindController.h, CrossfadeController.h, CollectionController.h: 342 *** empty log message *** 343 344 * AppController.h: Service Method 345 346 * StatisticsController.m, PreferencesController.m, PlaylistsManagerController.m, PlaylistController.m, PlayView.m, MPDController.m, FindController.m: 347 *** empty log message *** 348 349 * CollectionController.m: Find Capability 350 351 * AppController.m: Service Method 352 3532004-06-02 Daniel Luederwald <flip@Confusion.CabalOfEntropy.local> 354 355 * AppController.m, FindController.m: *** empty log message *** 356 357 * FindController.h, AppController.h, FindController.m, AppController.m: 358 Refactoring 359 360 * CollectionController.m, FindController.m, FindController.h, AppController.m, CollectionController.h, PlaylistController.h: 361 *** empty log message *** 362 363 * CollectionController.h, PlaylistController.m: Find Capability 364 365 * CollectionController.m: Find Capabilities 366 367 * FindController.h, FindController.m: *** empty log message *** 368 3692004-06-01 Daniel Luederwald <flip@Confusion.CabalOfEntropy.local> 370 371 * CollectionController.m: *** empty log message *** 372 373 * CollectionController.m, PlaylistController.m, CollectionController.h: 374 Implemented Find Capabilities 375 376 * PlaylistController.h: *** empty log message *** 377 378 * PlaylistController.h: Implemented Find Capabilities 379 380 * FindController.h: *** empty log message *** 381 382 * AppController.h, AppController.m: Added Find Capabilities 383 384 * FindController.m, FindController.h: New file. 385 3862004-05-30 Daniel Luederwald <flip@Confusion.CabalOfEntropy.local> 387 388 * PlaylistController.m: Highlight moved Song 389 390 * OwnTableView.h: Bugfix 391 392 * OwnTableView.h, OwnTableView.m: New file. 393 3942004-05-27 Daniel Luederwald <flip@Confusion.CabalOfEntropy.local> 395 396 * PlaylistController.m: *** empty log message *** 397 398 * PreferencesController.h: Minor Bugfix 399 400 * MPDController.m: More Refactoring 401 4022004-05-26 Daniel Luederwald <flip@Confusion.CabalOfEntropy.local> 403 404 * MPDController.m: Bugfix 405 406 * MPDController.h, MPDController.m, PlaylistController.m, PlaylistController.h, PlayView.m, PlayView.h, AppController.m: 407 Refactoring 408 409 * AppController.h, PreferencesController.h: *** empty log message *** 410 411 * PreferencesController.m: Refactoring 412 413 * PlaylistItem.h: *** empty log message *** 414 415 * PlaylistItem.m: Refactoring 416 417 * CollectionController.h: *** empty log message *** 418 419 * CollectionController.m, PlaylistsManagerController.h, PlaylistsManagerController.m: 420 Refactoring 421 422 * StatisticsController.h: *** empty log message *** 423 424 * StatisticsController.m: Refactoring 425 426 * StatisticsItem.h: *** empty log message *** 427 428 * StatisticsItem.m: Refactoring 429 430 * CrossfadeController.h: *** empty log message *** 431 432 * CrossfadeController.m, AppController.m: Refactoring 433 4342004-05-22 Daniel Luederwald <flip@Confusion.CabalOfEntropy.local> 435 436 * MPDController.h, MPDController.m: 437 Refactoring + Handling of missing Tags 438 439 * CrossfadeController.m: *** empty log message *** 440 441 * PreferencesController.m: Bugfix 442 443 * AppController.m: *** empty log message *** 444 4452004-05-21 Daniel Luederwald <flip@Confusion.CabalOfEntropy.local> 446 447 * AppController.m, AppController.h: *** empty log message *** 448 449 * AppController.m, AppController.h: 450 Remember PlayerWindow screen-location 451 452 * PlayView.h, PlayView.m: More Refactoring + Bugfix 453 4542004-05-20 Daniel Luederwald <flip@Confusion.CabalOfEntropy.local> 455 456 * PlayView.m: Modified Scrolling 457 458 * AppController.m, AppController.h, CrossfadeController.h, StatisticsItem.h: 459 Refactoring 460 461 * StatisticsController.h: *** empty log message *** 462 463 * StatisticsController.m, StatisticsController.h: Refactoring 464 465 * PlaylistsManagerController.m, PlaylistsManagerController.h, CollectionController.m, CollectionController.h: 466 *** empty log message *** 467 468 * PlaylistsManagerController.m: Refactoring 469 470 * PlaylistsManagerController.h: *** empty log message *** 471 472 * PlaylistsManagerController.h: Refactoring 473 4742004-05-19 Daniel Luederwald <flip@Confusion.CabalOfEntropy.local> 475 476 * CollectionController.m, CollectionController.h, PlaylistItem.h, PlayView.h, PlayView.m: 477 Refactoring 478 479 * PreferencesController.m: Refactoring + Bugfix 480 481 * PreferencesController.h: Bugfix 482 483 * PreferencesController.h, PlaylistController.m, PlaylistController.h, MPDController.h, MPDController.m: 484 Refactoring 485 486 * CrossfadeController.h: New file. 487 488 * MPDController.h, AppController.h, AppController.m, MPDController.m: 489 Implemented Crossfade 490 491 * CrossfadeController.m: New file. 492 493 * AppController.h, AppController.m: *** empty log message *** 494 495 * MPDController.h: Passwords for MPD implemented 496 Error Handling 497 498 * AppController.h: *** empty log message *** 499 500 * PreferencesController.h: Passwords for MPD implemented 501 502 * StatisticsController.m, CollectionController.m: 503 *** empty log message *** 504 505 * MPDController.m: Passwords for MPD implemented 506 Error Handling 507 508 * PreferencesController.m, AppController.m: 509 Passwords for MPD implemented 510 5112004-05-18 Daniel Luederwald <flip@Confusion.CabalOfEntropy.local> 512 513 * MPDController.h, PlaylistController.m, PlaylistController.h: 514 Implemented ShuffleList 515 516 * PreferencesController.m: *** empty log message *** 517 518 * AppController.m, AppController.h: 519 Try to connect to Server if Preferences changed. 520 521 * MPDController.m: Fixed Server-Errors 522 523 * PreferencesController.m: *** empty log message *** 524 525 * AppController.m, AppController.h: Fixed Server-Errors 526 527 * StatisticsItem.h, StatisticsController.h: New file. 528 529 * MPDController.h, AppController.h: Added Server-Statistics 530 5312004-05-17 Daniel Luederwald <flip@Confusion.CabalOfEntropy.local> 532 533 * StatisticsItem.m, StatisticsController.m: New file. 534 535 * MPDController.m, AppController.m: Added Server-Statistics 536 537 * AppController.m: *** empty log message *** 538 539 * PlaylistsManagerController.h, CollectionController.h, PlaylistItem.h, MPDController.h, PlaylistController.h, libmpdclient.h, PlayView.h, PreferencesController.h, AppController.h, PlaylistsManagerController.m, CollectionController.m, MPDController.m, PlaylistItem.m, PlaylistController.m, PlayView.m, PreferencesController.m, AppController.m: 540 New file. 541 542