Yes folks, its finally happened. I've finally conceded that Ardour might
actually have a role for GStreamer :) I've just finished the work to use Apple's ExtAudioFile API to add support for a number of audio file formats to Ardour on OS X, formats not handled by libsndfile. It has occured to me that we could follow an identical pathway on Linux (and OS X) to add support for files handleable by GStreamer/GstPlugins that are not handled by libsndfile. So this is a chance for some brave soul to unite GStreamer with Ardour (and who knows where it will lead ...) What is needed is relatively simple. Really nothing more than this class: class GstAudioFileSource : public AudioFileSource { public: GstAudioFileSource (const std::string& path); ~GstAudioFileSource (); /* should be obvious */ float sample_rate () const; static int get_soundfile_info (const std::string& path, SoundFileInfo& _info, std::string& error_msg); protected: /* read cnt samples from one channel, in 32 bit float format, starting at start */ nframes_t read_unlocked (float *dst, nframes_t start, nframes_t cnt) const; }; that is: code to initialize the object give a path, a static function to return length, channel count and sample rate info given a path, and a method to read a given number of audio samples from a specified location. Are there existing helper libs for Gst that would make this trivial to implement? Is anyone interested in helping out with this? The result would be: (a) in combination with Fluendo's MP3 support, Ardour could read MP3 files (b) in combination with existing Gstreamer plugins, Ardour could import (and edit) the audio from existing A/V files. --p ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Hi Paul!
Good news! I would definitely be happy to help on this. It shouldn't be too much code writing. I won't have much time before next week, but i will pop in on #ardour then, if no one jumps on it before! Best, Paul On Wed, 2008-02-27 at 08:51 -0500, Paul Davis wrote: > Yes folks, its finally happened. I've finally conceded that Ardour might > actually have a role for GStreamer :) > > I've just finished the work to use Apple's ExtAudioFile API to add > support for a number of audio file formats to Ardour on OS X, formats > not handled by libsndfile. It has occured to me that we could follow an > identical pathway on Linux (and OS X) to add support for files > handleable by GStreamer/GstPlugins that are not handled by libsndfile. > So this is a chance for some brave soul to unite GStreamer with Ardour > (and who knows where it will lead ...) > > What is needed is relatively simple. Really nothing more than this > class: > > class GstAudioFileSource : public AudioFileSource { > public: > GstAudioFileSource (const std::string& path); > ~GstAudioFileSource (); > > /* should be obvious */ > float sample_rate () const; > > static int get_soundfile_info (const std::string& path, > SoundFileInfo& _info, std::string& error_msg); > > protected: > /* read cnt samples from one channel, in 32 bit float format, > starting at start > */ > > nframes_t read_unlocked (float *dst, > nframes_t start, nframes_t cnt) const; > > }; > > that is: code to initialize the object give a path, a static function to > return length, channel count and sample rate info given a path, and a > method to read a given number of audio samples from a specified > location. > > Are there existing helper libs for Gst that would make this trivial to > implement? Is anyone interested in helping out with this? The result > would be: > > (a) in combination with Fluendo's MP3 support, Ardour could read > MP3 files > (b) in combination with existing Gstreamer plugins, Ardour could > import (and edit) the audio from existing A/V files. > > --p > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |