Commit Graph

420 Commits (5b6dacd29c8f720d9ad071371210b9612a35bb4a)

Author SHA1 Message Date
Chris Moeller 63fba5930e Implemented support for multiple decoders per file name extension, with a floating point priority control per interface. In the event that more than one input is registered to a given extension, and we match that extension, it will be passed off to an instance of the multi-decoder wrapper, which will try opening the file with all of the decoders in order of priority, until either one of them accepts it, or all of them have failed. This paves the way for adding a VGMSTREAM input, so I can give it a very low priority, since it has several formats that are verified by file name extension only. All current inputs have been given a priority of 1.0, except for CoreAudio, which was given a priority of 0.5, because it contains an MP3 and AC3 decoders that I'd rather not use if I don't have to. 2013-10-21 10:54:11 -07:00
Chris Moeller 755147b48a Through a bit of ugliness and interface exposure, the InputNode will now pause the OutputNode while it is making the decoder seek, which prevents cases of the output continuing to run for seconds at a time during a slow seek operation by decoders such as HighlyComplete 2013-10-20 22:04:09 -07:00
Chris Moeller 5b13ee3f97 Fixed Ogg chained streams which I broke with the previous commit 2013-10-18 05:56:41 -07:00
Chris Moeller 8c80981827 Minor changes that may or may not have any impact on gaplessness 2013-10-18 05:33:38 -07:00
Chris Moeller b9ce8462c4 Corrected gaplessness with my new converter setup 2013-10-18 05:33:20 -07:00
Chris Moeller 39f4c60f19 Enabled DEBUG=1 macro in debug builds of several older projects 2013-10-17 23:39:26 -07:00
Chris Moeller 70e571fed9 Now handling a race condition where the buffer is emptied between where it is read and where it is told how much has been read from it 2013-10-13 05:59:19 -07:00
Chris Moeller a52c54a12c Initialize some pointers properly, and redesign to reallocate the converter buffer instead of freeing it every time 2013-10-13 05:14:57 -07:00
Chris Moeller b9a014ab16 Upgraded a couple of projects, raised the minimum OS version to 10.7, and removed libstdc++ setting from any projects that needed it 2013-10-12 19:18:46 -07:00
Chris Moeller 759aeab4fb Implemented pause on startup 2013-10-12 19:16:47 -07:00
Chris Moeller 26cf87a62e Oops, ChainQueue items should not be removed twice 2013-10-12 16:03:59 -07:00
Chris Moeller c088011fd5 mamburu: Some more fixes 2013-10-12 14:01:21 -07:00
Chris Moeller 1b818bcaa7 mamburu: Fixed InputNode's thread not being stopped at all 2013-10-12 13:59:34 -07:00
Chris Moeller 56848daad6 mamburu: Fixed crashes when seeking near the end of stream 2013-10-12 13:52:58 -07:00
Chris Moeller e5a648578b mamburu: Logging improved, no more excessive logging in release builds 2013-10-11 05:03:55 -07:00
Chris Moeller c29583ec42 Fixed ConverterNode listener 2013-10-10 20:02:02 -07:00
Chris Moeller dda7bf994d Whoops, forgot to enable generating debugging symbols for the release targets in those projects 2013-10-10 04:52:15 -07:00
Chris Moeller 0ca7c2ee2f Enabled DWARF with dSYM for release target on all projects 2013-10-10 04:41:25 -07:00
Chris Moeller 5ade3931d3 Corrected bundle identifiers 2013-10-10 04:28:04 -07:00
Chris Moeller 3e057adf56 Replaced every instance of NSEnumerator with for/in loops 2013-10-10 01:44:45 -07:00
Chris Moeller bbb5549873 Added MPEG Audio support to FFMPEG plugin, which also supports proper seeking in VBR files; Fixed decoding of files which contain multiple streams 2013-10-08 23:57:58 -07:00
Chris Moeller 1123dc6b91 Whoops, forgot to remove the volume scaling option observer when cleaning up ConverterNode 2013-10-07 20:21:34 -07:00
Chris Moeller cdafef8a9c Fixed handling ReplayGain info on automatic track changes 2013-10-07 13:03:34 -07:00
Chris Moeller 2837b12d32 Fix unsigned reporting, and can't match unsigned type declaration exactly 2013-10-07 11:26:23 -07:00
Chris Moeller 15c545b10d Fixed input to float conversion and made it mandatory, so I could move volume scaling to the converter node 2013-10-07 03:59:04 -07:00
Chris Moeller 8aa01894ee Added downmixing of surround for stereo output devices 2013-10-07 00:24:26 -07:00
Chris Moeller 167524b6f2 Added basic output device channel mapping support 2013-10-07 00:24:00 -07:00
Chris Moeller 74b6188772 Implemented floating point sample format support into CogAudio and all relevant plug-ins 2013-10-05 14:15:09 -07:00
Chris Moeller 52c947db10 Changed all sub-component projects to skip install, since copy steps bundle them all into the target app 2013-10-04 13:11:32 -07:00
Chris Moeller ec0e45381e Cleaned up most of the warnings, eliminated use of deprecated APIs, and fixed the hotkeys crashing. 2013-10-03 01:00:58 -07:00
Chris Moeller 5a4a450dea Changed all projects to use latest SDK and build 32/64 bit Universal, and target for deployment on 10.6 2013-10-02 14:59:22 -07:00
Chris Moeller 4c0cf34250 More ReplayGain support, now with metadata handling, but only if the metadata is already loaded 2013-10-02 02:30:04 -07:00
Chris Moeller 6ea103b1c3 Implemented ReplayGain support, so far only in the HighlyComplete component. 2013-10-01 23:00:16 -07:00
Chris Moeller fa6b5d4290 Changed debug target to 32-bit so I can debug with the 10.6 SDK target 2013-09-29 17:25:22 -07:00
Chris Moeller 17682d4397 Updated DUMB 2013-09-27 20:24:23 -07:00
vspader 288c5cbee5 Misc leaks fixes. 2009-09-01 21:14:07 -07:00
vspader a531e31d42 Force stereo output. Ugly hack, but it's unlikely non-stereo was working properly anyways. 2009-06-28 11:57:48 -07:00
vspader 170c8cb2f3 Fixed bug where audio device was set after the format. 2009-06-28 10:51:30 -07:00
vspader bf7b2c0a2b Added timeout and chillout logic to the HTTP source so it doesn't freak out when there's no data available. 2009-03-06 21:58:50 -08:00
vspader 4bd8f6142c Moved growl/scrobbler notifications into PlaybackEventController. 2009-03-05 09:03:30 -08:00
vspader 87c0109773 Corrected logic for resetting streams. 2009-02-28 22:02:26 -08:00
vspader d7ddda160e Modified plugin logic so one class can be multiple plugin types. 2009-02-28 20:12:47 -08:00
vspader b5b5b45eda Fixed thread leak when next streams are reset. 2009-02-28 19:14:52 -08:00
vspader 1fcf3bb2ff Fixed up fading logic. 2009-02-28 13:19:26 -08:00
vspader 384911beb6 Playback continues as expected when you moved a song that was at the end of the playlist. 2009-02-28 11:11:22 -08:00
vspader 85630c836a Fixed bug when you changed the playlist without having a next song queued up. 2009-02-28 11:01:49 -08:00
vspader fda5d50712 If you change the playlist near the end of a song, it should now play the correct song. 2009-02-28 10:57:21 -08:00
vspader c9e542f570 Added better tooltip feedback. 2009-02-09 05:53:38 +00:00
lmsilva 6c4f9c7745 2008-12-15 10:34:45 +00:00
lmsilva dda74d0608 fixed seek slider from becoming active & disabling it when STOP occurs 2008-11-21 15:14:23 +00:00
vspader c78a553532 Bug fix for cue sheet changes. 2008-05-01 23:34:23 +00:00
vspader dd89208ee0 Removed singleton nonsense. 2008-03-03 02:18:27 +00:00
matthewleon a0cdf1a03e Fixed CogAudio bool bug. 2008-03-01 15:32:28 +00:00
matthewleon 6b35fee9e3 Cleaning CogAudio code. 2008-03-01 15:28:17 +00:00
matthewleon 666d803897 Code cleanup. 2008-03-01 15:04:46 +00:00
vspader 3ab720427e Made stop update synchronous since there were issues when moving on to the next song. 2008-02-22 03:46:04 +00:00
vspader c6dc1fd141 Fixed #70. 2008-02-22 03:09:03 +00:00
areff 567711e85e Fixed Trac bug 65: Doesn't show correct position after 203:50 mins - caused by an unsigned long overflow. 2008-02-18 11:37:33 +00:00
areff 1b83061c49 Moved volume controls into AudioPlayer, logarithmic helper functions now have their own file, fixed broken seekbar resize 2008-02-17 18:44:11 +00:00
areff 5228709d0f Fixed fadeout code so it sounds a bit better (timer fires faster, steady drop in volume rather than incremental) 2008-02-16 15:28:39 +00:00
vspader 03b0abb92f Fixed memory leak in previous commit caused by anal retentive retention. 2008-02-16 02:52:49 +00:00
vspader a4eb42eab0 Fixed crash, and in doing so introduced a huge memory leak!
Added patch from Eric Hanneken that improves shuffle.
2008-02-16 02:46:19 +00:00
areff f64ebf597f Added incremental seeking with remote, volumeUp/Down now take an amount argument, seekForward/Backward now take an amount argument, fixed incremental fadeout that will not register more than one timer, added status kCogStatusFading 2008-02-13 18:03:06 +00:00
vspader 010f7de448 Added [audioPlayer volume].
Tweaked the volume control a little.
2008-02-13 01:50:39 +00:00
areff a39ce34ee9 Added fade to pause, key shift-cmd-p, changed volume controls around a bit, still needs fixing 2008-02-12 22:12:27 +00:00
vspader 5715522470 Moved to frame-based reading/seeking instead of byte/second based. Some formats have still not been updated and are broken.
Added icons for other formats.
2007-11-24 20:16:27 +00:00
vspader 678d406879 Bug fix for flac files. 2007-11-04 03:08:41 +00:00
vspader 9a344922da Fixed the way plugin controller was setup and loaded.
Updated cuesheet to search for alternate types if wav is not there.
2007-10-20 15:53:52 +00:00
vspader cc806285e0 Updated plugin architecture. No more plugin classes! Now loads classes based on protocol alone. 2007-10-20 15:46:39 +00:00
vspader 5ff84158cc Made playlist/cuesheet encoding a little more robust (Vasfed). 2007-10-20 15:08:06 +00:00
vspader 2e44b9833e Fixed some synchronization problems. 2007-10-20 03:24:27 +00:00
vspader d82fdcbf62 Bug fixes from 0.07 branch. 2007-10-19 02:23:10 +00:00
vspader 5084b555cb Removed nonexistent framework search paths. 2007-10-14 19:18:20 +00:00
vspader 535e0e802f Updated mime-types. 2007-10-14 18:56:23 +00:00
vspader f1b9141f4b Added mime type support. 2007-10-14 18:12:15 +00:00
vspader c536ea06a5 Removed useless PropertiesReader classes.
PluginController now uses the decoder if a properties reader class is not found.
PropertiesReaders should still be created if performance can be improved if code is only reading properties.
2007-10-14 17:31:20 +00:00
vspader fca5ddc8d0 Fixed bug that was causing play/pause button not to work with a lot of short tracks. 2007-10-13 08:50:40 +00:00
vspader c76c95529a Fixed end of playlist crash. 2007-10-13 08:25:44 +00:00
vspader fc9069d7c7 Fixed unguarded critical sections. 2007-10-13 08:14:05 +00:00
vspader 97a278a143 Cleaned up memory leaks. 2007-10-13 07:09:46 +00:00
vspader b51d8aedb5 Added metadata reading to cue sheets. 2007-10-13 01:07:19 +00:00
vspader 139bab5e0e Fixed up streaming a bit.
Removed debugging code for http source. Was that in 0.06? Whoops.
2007-10-12 02:55:59 +00:00
vspader ad844b1df3 Finished comment. 2007-10-11 11:31:36 +00:00
vspader b57bcc121c Added support for gapless multitrack files.
Modified cue sheet plugin to use it.
2007-10-11 02:08:29 +00:00
vspader 50395e6e72 Basic cue sheet support working. Bug city. 2007-10-10 01:59:25 +00:00
vspader 88aecc7de2 Added AudioContainer plugin and made pls and m3u loaders that use it. 2007-10-09 01:20:46 +00:00
vspader 0e2da5efc7 Cleaned up converter. Added Media Keys support for apple's new multimedia keyboard (has not been tested). 2007-10-03 22:26:39 +00:00
vspader 5fd24bd88b Fixed ConverterNode.m file. 2007-10-03 20:24:14 +00:00
vspader 5ad2728d3c Moved converter to a seperate node again. 2007-10-03 20:23:14 +00:00
vspader daba91b462 Removed debugging messages. 2007-07-11 01:20:32 +00:00
vspader a2b9db5f58 Fixed bug where dialogs would lose focus when the dock icon is clicked.
Fixed bug where playback would not resume when seeking to the end of a file.
Fixed bug where seek bar is enabled on launch.
2007-07-05 23:08:10 +00:00
vspader 3c81795044 Fixed paths for xcode dependency handling. 2007-07-04 15:26:11 +00:00
vspader 96ed93e5eb Fixed some problems with non-lowercase file extensions.
Added automatic filetype finding for quicktime plugin. Note that the files it adds are rather generous (txt, swf, and other file types that are not neccessarily audio)
2007-06-10 22:05:49 +00:00
vspader bf67dbb5d1 Fixed play/pause button when pausing/seeking. 2007-06-03 17:04:23 +00:00
vspader 78a908274b Fixed bug where unseekable songs still allowed the user to move the slider and updated the time. 2007-05-27 15:11:30 +00:00
vspader 88d26d3461 Fixed some seeking bugs. 2007-05-26 22:13:11 +00:00
vspader b653133695 Added debug message for when output buffer runs dry. 2007-05-26 12:44:01 +00:00
vspader 0f7f8f2750 A fix to try to stop the buffer from running dry when seeking. 2007-05-26 12:42:00 +00:00
vspader 5f7215e5e7 Fixed overflow error. 2007-05-22 23:37:22 +00:00
vspader 086acdc849 Fixed crash when encountering nonexistent file. 2007-05-22 23:15:07 +00:00
vspader 4e1f598ac4 Fix for short audio files. 2007-05-16 23:07:00 +00:00
vspader 1eda6c0e7d Removed debugging messages. 2007-05-16 01:31:04 +00:00
vspader a18ab13d58 Fixed up shorten decoder. 2007-05-16 01:30:28 +00:00
vspader 79934e0607 Fix for some playback issues (low frequency files). 2007-05-16 01:06:23 +00:00
svenforkbeard 8fd4ca4d50 Removed the French localization. 2007-05-15 05:19:33 +00:00
vspader bbba06e4b2 Fixed bug that caused problems when doing sample rate conversion. 2007-05-10 23:19:56 +00:00
vspader 77c7819dd6 Added some error messages that should hopefully fix some initial stuttering issues. 2007-03-19 00:19:47 +00:00
vspader 15f1aa2ebd Cleaned up code. Added PlaylistLoader class properly, with support for m3u and pls formats. Changed default playlist to m3u. Added bugs GALORE! 2007-03-09 01:16:06 +00:00
vspader ce08d6d4da Doubled the buffer size. Since the converter and input are now merged, a larger buffer is a good thing (tm). 2007-03-04 16:00:26 +00:00
vspader eb96a75a1f Modified CoreAudioDecoder to use new source based system. It just ignores the source and uses its own, since the ExtAudioFile API is absolutely hopeless when it comes to streaming. 2007-03-04 04:36:10 +00:00
vspader d5c777f7e8 Fix crash when input errors. 2007-03-04 00:59:40 +00:00
vspader c810d2f492 Muleiple vorbis bitstreams in one file for streaming. Bitstreams can be different formats. (!) 2007-03-03 22:55:26 +00:00
vspader aafb021a80 Gapless playback fixes. 2007-03-03 21:13:25 +00:00
vspader 1e16835c8c Fixed up converter/inputnode relationship. 2007-03-03 18:25:10 +00:00
vspader 1aead1bf0d Merged decoder and converter threads to facilitate midstream format changing. 2007-03-03 17:19:37 +00:00
vspader 116e78c3ed Removed SourceNode, since its dumb. 2007-03-03 00:41:19 +00:00
vspader 934840ace5 Added source plugin support. Things are incredibly broken. Besides Ogg Vorbis. That should still work. 2007-03-02 01:36:52 +00:00
vspader 47fa30dc58 Reworked preferences a little to make it easier for simple panes.
Added Growl notifications for when a song is played, or when the song changes.
2007-02-28 00:35:27 +00:00
vspader 656be855ce Removed decoders folder. 2007-02-28 00:03:38 +00:00
vspader 927b65a4a5 Merged with cog-audio-framework branch. Cog now uses plugins. 2007-02-24 20:36:27 +00:00