 061991fe60
			
		
	
	
		061991fe60
		
	
	
	
	
		
			
			it appears a one-character typo in the cmake_minimum_required line prevents it from compiling under CMake 4.0. in order to fix that, I had to take this thing out of submodules... it is recommended to do this after you pull; git submodule deinit extern/libsndfile
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Mathematica
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Mathematica
		
	
	
	
	
	
| ## Copyright (C) 2002-2011  Erik de Castro Lopo
 | |
| ##
 | |
| ## This program is free software; you can redistribute it and/or modify
 | |
| ## it under the terms of the GNU General Public License as published by
 | |
| ## the Free Software Foundation; either version 2, or (at your option)
 | |
| ## any later version.
 | |
| ##
 | |
| ## This program is distributed in the hope that it will be useful, but
 | |
| ## WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | |
| ## General Public License for more details.
 | |
| ##
 | |
| ## You should have received a copy of the GNU General Public License
 | |
| ## along with this file.  If not, write to the Free Software Foundation,
 | |
| ## 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 | |
| 
 | |
| ## -*- texinfo -*-
 | |
| ## @deftypefn {Function File} {} sndfile_play (@var{data, fs})
 | |
| ## Play @var{data} at sample rate @var{fs} using the sndfile-play
 | |
| ## program.
 | |
| ## @end deftypefn
 | |
| 
 | |
| ## Author: Erik de Castro Lopo <erikd@mega-nerd.com>
 | |
| ## Description: Play the given data as a sound file
 | |
| 
 | |
| function sndfile_play (data, fs)
 | |
| 
 | |
| if nargin != 2,
 | |
| 	error ("Need two input arguments: data and fs.") ;
 | |
| 	endif
 | |
| 
 | |
| if (max (size (fs)) > 1),
 | |
| 	error ("Second parameter fs must be a single value.") ;
 | |
| 	endif
 | |
| 
 | |
| [nr nc] = size (data) ;
 | |
| 
 | |
| if (nr > nc),
 | |
| 	data = data' ;
 | |
| 	endif
 | |
| 
 | |
| samplerate = fs ;
 | |
| wavedata = data ;
 | |
| 
 | |
| filename = tmpnam () ;
 | |
| 
 | |
| cmd = sprintf ("save -mat-binary %s fs data", filename) ;
 | |
| 
 | |
| eval (cmd) ;
 | |
| 
 | |
| cmd = sprintf ("sndfile-play %s", filename) ;
 | |
| 
 | |
| [output, status] = system (cmd) ;
 | |
| 
 | |
| if (status),
 | |
| 	disp (outout) ;
 | |
| 	endif
 | |
| 
 | |
| endfunction
 |