# HG changeset patch # User Chris Cannam # Date 1367078988 -3600 # Node ID cb5ab186f1468b3aee4c11bd4319fe6cdf295b38 # Parent 3ffd7e25e3df71c8d96a880b9a0a703d7bded627 Cleaner to throw exception on file-open failure rather than unwind errors through return values here diff -r 3ffd7e25e3df -r cb5ab186f146 yetilab/feature/features.yeti --- a/yetilab/feature/features.yeti Sat Apr 27 14:12:15 2013 +0100 +++ b/yetilab/feature/features.yeti Sat Apr 27 17:09:48 2013 +0100 @@ -20,12 +20,8 @@ featuresOf (emptyFrameFor frames) frames); featuresOfFile featureFunc file = - case fr.frequencyDomainFramesOfFile { framesize = 1024, hop = 512 } file of - Frames ff: - Features (features featureFunc ff); - Error e: - Error e; - esac; + features featureFunc + (fr.frequencyDomainFramesOfFile { framesize = 1024, hop = 512 } file); { specdiff, diff -r 3ffd7e25e3df -r cb5ab186f146 yetilab/stream/audiofile.yeti --- a/yetilab/stream/audiofile.yeti Sat Apr 27 14:12:15 2013 +0100 +++ b/yetilab/stream/audiofile.yeti Sat Apr 27 17:09:48 2013 +0100 @@ -91,27 +91,23 @@ stream#close(); open name is string -> 'a = - try - f = new File(name); - stream = AudioSystem#getAudioInputStream(f); - format = stream#getFormat(); - len = available' { format, stream }; // at start of stream - Stream (str.stream { - stream, - format, - len, - rate = format#getSampleRate(), - channels = format#getChannels(), - get position () = len - available' { stream, format }, - get available () = available' { stream, format }, - read = read' { stream, format }, - readInterleaved = readInterleaved' { stream, format }, - readMono = readMono' { stream, format }, - close () = close' { stream }, - }); - catch Exception e: - Error "Failed to open audio file \"\(name)\": \(e)"; - yrt; + (f = new File(name); + stream = AudioSystem#getAudioInputStream(f); + format = stream#getFormat(); + len = available' { format, stream }; // at start of stream + str.stream { + stream, + format, + len, + rate = format#getSampleRate(), + channels = format#getChannels(), + get position () = len - available' { stream, format }, + get available () = available' { stream, format }, + read = read' { stream, format }, + readInterleaved = readInterleaved' { stream, format }, + readMono = readMono' { stream, format }, + close () = close' { stream }, + }); { open diff -r 3ffd7e25e3df -r cb5ab186f146 yetilab/stream/framer.yeti --- a/yetilab/stream/framer.yeti Sat Apr 27 14:12:15 2013 +0100 +++ b/yetilab/stream/framer.yeti Sat Apr 27 17:09:48 2013 +0100 @@ -63,21 +63,12 @@ frequencyDomainFrames, framesOfFile parameters filename = - case af.open filename of - Stream s: Frames (frames parameters s); - Error e: Error e; - esac, + frames parameters (af.open filename), windowedFramesOfFile parameters filename = - case af.open filename of - Stream s: Frames (windowedFrames parameters s); - Error e: Error e; - esac, + windowedFrames parameters (af.open filename), frequencyDomainFramesOfFile parameters filename = - case af.open filename of - Stream s: Frames (frequencyDomainFrames parameters s); - Error e: Error e; - esac, + frequencyDomainFrames parameters (af.open filename), } diff -r 3ffd7e25e3df -r cb5ab186f146 yetilab/stream/playback.yeti --- a/yetilab/stream/playback.yeti Sat Apr 27 14:12:15 2013 +0100 +++ b/yetilab/stream/playback.yeti Sat Apr 27 17:09:48 2013 +0100 @@ -48,10 +48,7 @@ stream.close()); playFile filename = - case af.open filename of - Stream str: playStream str; - Error e: failWith e - esac; + playStream (af.open filename); { open, play, playStream, playFile, diff -r 3ffd7e25e3df -r cb5ab186f146 yetilab/vamp/vamp.yeti --- a/yetilab/vamp/vamp.yeti Sat Apr 27 14:12:15 2013 +0100 +++ b/yetilab/vamp/vamp.yeti Sat Apr 27 17:09:48 2013 +0100 @@ -307,10 +307,7 @@ esac; processFile key output filename = - case af.open filename of - Stream s: processStream key output s; - Error e: failWith e; - esac; + processStream key output (af.open filename); processStreamStructured key output filename = vamppost.postprocess (processStream key output filename);