Return-Path: Delivered-To: apmail-jakarta-ant-dev-archive@apache.org Received: (qmail 75717 invoked from network); 30 Dec 2001 08:19:31 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 30 Dec 2001 08:19:31 -0000 Received: (qmail 22062 invoked by uid 97); 30 Dec 2001 08:19:39 -0000 Delivered-To: qmlist-jakarta-archive-ant-dev@jakarta.apache.org Received: (qmail 22022 invoked by uid 97); 30 Dec 2001 08:19:38 -0000 Mailing-List: contact ant-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list ant-dev@jakarta.apache.org Received: (qmail 22008 invoked by uid 97); 30 Dec 2001 08:19:37 -0000 Date: 30 Dec 2001 08:19:21 -0000 Message-ID: <20011230081921.56865.qmail@icarus.apache.org> From: donaldp@apache.org To: jakarta-ant-cvs@apache.org Subject: cvs commit: jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sound SoundTask.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N donaldp 01/12/30 00:19:21 Modified: proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sound SoundTask.java Log: Moved BuildAlert from inner class to top-level class. Made AntSoundPlayer a ProjectListener rather than a BuildListener Revision Changes Path 1.9 +48 -117 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sound/SoundTask.java Index: SoundTask.java =================================================================== RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sound/SoundTask.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- SoundTask.java 23 Dec 2001 14:22:48 -0000 1.8 +++ SoundTask.java 30 Dec 2001 08:19:21 -0000 1.9 @@ -24,163 +24,94 @@ * in xml and have Ant play them back * * @author Nick Pellow - * @version $Revision: 1.8 $, $Date: 2001/12/23 14:22:48 $ + * @version $Revision: 1.9 $, $Date: 2001/12/30 08:19:21 $ */ - -public class SoundTask extends Task +public class SoundTask + extends Task { - - private BuildAlert success = null; - private BuildAlert fail = null; - - public SoundTask() - { - } + private BuildAlert m_success; + private BuildAlert m_fail; public BuildAlert createFail() { - fail = new BuildAlert(); - return fail; + m_fail = new BuildAlert(); + return m_fail; } public BuildAlert createSuccess() { - success = new BuildAlert(); - return success; + m_success = new BuildAlert(); + return m_success; } public void execute() { - - AntSoundPlayer soundPlayer = new AntSoundPlayer(); - - if( success == null ) + final AntSoundPlayer soundPlayer = new AntSoundPlayer(); + if( null == m_success ) { getLogger().warn( "No nested success element found." ); } else { - soundPlayer.addBuildSuccessfulSound( success.getSource(), - success.getLoops(), success.getDuration() ); + soundPlayer.addBuildSuccessfulSound( getRandomSource( m_success ), + m_success.getLoops(), m_success.getDuration() ); } - if( fail == null ) + if( null == m_fail ) { getLogger().warn( "No nested failure element found." ); } else { - soundPlayer.addBuildFailedSound( fail.getSource(), - fail.getLoops(), fail.getDuration() ); + soundPlayer.addBuildFailedSound( getRandomSource( m_fail ), + m_fail.getLoops(), m_fail.getDuration() ); } - getProject().addBuildListener( soundPlayer ); - + getProject().addProjectListener( soundPlayer ); } /** - * A class to be extended by any BuildAlert's that require the output of - * sound. + * Gets the location of the file to get the audio. + * + * @return The Source value */ - public class BuildAlert + private File getRandomSource( final BuildAlert alert ) { - private File source = null; - private int loops = 0; - private Long duration = null; - - /** - * Sets the duration in milliseconds the file should be played. - * - * @param duration The new Duration value - */ - public void setDuration( Long duration ) + final File source = alert.getSource(); + // Check if source is a directory + if( source.exists() ) { - this.duration = duration; - } - - /** - * Sets the number of times the source file should be played. - * - * @param loops the number of loops to play the source file - */ - public void setLoops( int loops ) - { - this.loops = loops; - } - - /** - * Sets the location of the file to get the audio. - * - * @param source the name of a sound-file directory or of the audio file - */ - public void setSource( File source ) - { - this.source = source; - } - - /** - * Gets the duration in milliseconds the file should be played. - * - * @return The Duration value - */ - public Long getDuration() - { - return this.duration; - } - - /** - * Sets the number of times the source file should be played. - * - * @return the number of loops to play the source file - */ - public int getLoops() - { - return this.loops; - } - - /** - * Gets the location of the file to get the audio. - * - * @return The Source value - */ - public File getSource() - { - File nofile = null; - // Check if source is a directory - if( source.exists() ) + if( source.isDirectory() ) { - if( source.isDirectory() ) + // get the list of files in the dir + final String[] entries = source.list(); + ArrayList files = new ArrayList(); + for( int i = 0; i < entries.length; i++ ) { - // get the list of files in the dir - String[] entries = source.list(); - ArrayList files = new ArrayList(); - for( int i = 0; i < entries.length; i++ ) - { - File f = new File( source, entries[ i ] ); - if( f.isFile() ) - { - files.add( f ); - } - } - if( files.size() < 1 ) + File f = new File( source, entries[ i ] ); + if( f.isFile() ) { - throw new TaskException( "No files found in directory " + source ); + files.add( f ); } - int numfiles = files.size(); - // get a random number between 0 and the number of files - Random rn = new Random(); - int x = rn.nextInt( numfiles ); - // set the source to the file at that location - this.source = (File)files.get( x ); } + if( files.size() < 1 ) + { + throw new TaskException( "No files found in directory " + source ); + } + final int numfiles = files.size(); + // get a random number between 0 and the number of files + final Random random = new Random(); + final int x = random.nextInt( numfiles ); + // set the source to the file at that location + source = (File)files.get( x ); } - else - { - getLogger().warn( source + ": invalid path." ); - this.source = nofile; - } - return this.source; } + else + { + getLogger().warn( source + ": invalid path." ); + source = null; + } + return source; } } -- To unsubscribe, e-mail: For additional commands, e-mail: