mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +00:00
- Fixed Sarkhan Vol and Ajani Goldmane token controllership issues. Also fixed Ajani Goldmane?\127 lifegain after a different player takes control of it. - Memnarch's first ability will put the Artifact type at the beginning of the type text (so "Artifact Planeswalker - Ajani" instead of "Planeswalker - Ajani Artifact"). - Planeswalkers with the same "subtype" should get destroyed correctly now if there are two or more in play, even if one of them got "Memnarched" into an artifact.
218 lines
6.1 KiB
Java
218 lines
6.1 KiB
Java
/*
|
|
* 11/19/04 1.0 moved to LGPL.
|
|
*
|
|
* 29/01/00 Initial version. mdm@techie.com
|
|
*
|
|
* 12/12/99 JavaLayer 0.0.7 mdm@techie.com
|
|
*
|
|
* 14/02/99 MPEG_Args Based Class - E.B
|
|
* Adapted from javalayer and MPEG_Args.
|
|
* Doc'ed and integerated with JL converter. Removed
|
|
* Win32 specifics from original Maplay code.
|
|
*-----------------------------------------------------------------------
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU Library General Public License as published
|
|
* by the Free Software Foundation; either version 2 of the License, 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 Library General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Library General Public
|
|
* License along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*----------------------------------------------------------------------
|
|
*/
|
|
|
|
package javazoom.jl.converter;
|
|
|
|
import java.io.PrintWriter;
|
|
|
|
//import javazoom.jl.decoder.Crc16;
|
|
import javazoom.jl.decoder.JavaLayerException;
|
|
import javazoom.jl.decoder.OutputChannels;
|
|
|
|
/**
|
|
* The <code>jlc</code> class presents the JavaLayer
|
|
* Conversion functionality as a command-line program.
|
|
*
|
|
* @since 0.0.7
|
|
*/
|
|
public class jlc
|
|
{
|
|
|
|
static public void main(String args[])
|
|
{
|
|
String[] argv;
|
|
@SuppressWarnings("unused")
|
|
long start = System.currentTimeMillis();
|
|
int argc = args.length + 1;
|
|
argv = new String[argc];
|
|
argv[0] = "jlc";
|
|
for(int i=0;i<args.length;i++)
|
|
argv[i+1] = args[i];
|
|
|
|
jlcArgs ma = new jlcArgs();
|
|
if (!ma.processArgs(argv))
|
|
System.exit(1);
|
|
|
|
Converter conv = new Converter();
|
|
|
|
int detail = (ma.verbose_mode ?
|
|
ma.verbose_level :
|
|
Converter.PrintWriterProgressListener.NO_DETAIL);
|
|
|
|
Converter.ProgressListener listener =
|
|
new Converter.PrintWriterProgressListener(
|
|
new PrintWriter(System.out, true), detail);
|
|
|
|
try
|
|
{
|
|
conv.convert(ma.filename, ma.output_filename, listener);
|
|
}
|
|
catch (JavaLayerException ex)
|
|
{
|
|
System.err.println("Convertion failure: "+ex);
|
|
}
|
|
|
|
System.exit(0);
|
|
}
|
|
|
|
|
|
/**
|
|
* Class to contain arguments for maplay.
|
|
*/
|
|
static class jlcArgs
|
|
{
|
|
// channel constants moved into OutputChannels class.
|
|
//public static final int both = 0;
|
|
//public static final int left = 1;
|
|
//public static final int right = 2;
|
|
//public static final int downmix = 3;
|
|
|
|
public int which_c;
|
|
public int output_mode;
|
|
public boolean use_own_scalefactor;
|
|
public float scalefactor;
|
|
public String output_filename;
|
|
public String filename;
|
|
//public boolean stdout_mode;
|
|
public boolean verbose_mode;
|
|
public int verbose_level = 3;
|
|
|
|
public jlcArgs()
|
|
{
|
|
which_c = OutputChannels.BOTH_CHANNELS;
|
|
use_own_scalefactor = false;
|
|
scalefactor = (float) 32768.0;
|
|
//stdout_mode = false;
|
|
verbose_mode = false;
|
|
}
|
|
|
|
/**
|
|
* Process user arguments.
|
|
*
|
|
* Returns true if successful.
|
|
*/
|
|
public boolean processArgs(String[] argv)
|
|
{
|
|
filename = null;
|
|
|
|
//Crc16[] crc;
|
|
//crc = new Crc16[1];
|
|
int i;
|
|
int argc = argv.length;
|
|
|
|
//stdout_mode = false;
|
|
verbose_mode = false;
|
|
output_mode = OutputChannels.BOTH_CHANNELS;
|
|
output_filename = "";
|
|
if (argc < 2 || argv[1].equals("-h"))
|
|
return Usage();
|
|
|
|
i = 1;
|
|
while (i < argc)
|
|
{
|
|
/* System.out.println("Option = "+argv[i]);*/
|
|
if (argv[i].charAt(0) == '-')
|
|
{
|
|
if (argv[i].startsWith("-v"))
|
|
{
|
|
verbose_mode = true;
|
|
if (argv[i].length()>2)
|
|
{
|
|
try
|
|
{
|
|
String level = argv[i].substring(2);
|
|
verbose_level = Integer.parseInt(level);
|
|
}
|
|
catch (NumberFormatException ex)
|
|
{
|
|
System.err.println("Invalid verbose level. Using default.");
|
|
}
|
|
}
|
|
System.out.println("Verbose Activated (level "+verbose_level+")");
|
|
}
|
|
/* else if (argv[i].equals("-s"))
|
|
ma.stdout_mode = true; */
|
|
else if (argv[i].equals("-p"))
|
|
{
|
|
if (++i == argc)
|
|
{
|
|
System.out.println("Please specify an output filename after the -p option!");
|
|
System.exit (1);
|
|
}
|
|
//output_mode = O_WAVEFILE;
|
|
output_filename = argv[i];
|
|
}
|
|
/*else if (argv[i].equals("-f"))
|
|
{
|
|
if (++i == argc)
|
|
{
|
|
System.out.println("Please specify a new scalefactor after the -f option!");
|
|
System.exit(1);
|
|
}
|
|
ma.use_own_scalefactor = true;
|
|
// ma.scalefactor = argv[i];
|
|
}*/
|
|
else return Usage();
|
|
}
|
|
else
|
|
{
|
|
filename = argv[i];
|
|
System.out.println("FileName = "+argv[i]);
|
|
if (filename == null) return Usage();
|
|
}
|
|
i++;
|
|
}
|
|
if (filename == null)
|
|
return Usage();
|
|
|
|
return true;
|
|
}
|
|
|
|
|
|
/**
|
|
* Usage of JavaLayer.
|
|
*/
|
|
public boolean Usage()
|
|
{
|
|
System.out.println("JavaLayer Converter :");
|
|
System.out.println(" -v[x] verbose mode. ");
|
|
System.out.println(" default = 2");
|
|
/* System.out.println(" -s write u-law samples at 8 kHz rate to stdout");
|
|
System.out.println(" -l decode only the left channel");
|
|
System.out.println(" -r decode only the right channel");
|
|
System.out.println(" -d downmix mode (layer III only)");
|
|
System.out.println(" -s write pcm samples to stdout");
|
|
System.out.println(" -d downmix mode (layer III only)");*/
|
|
System.out.println(" -p name output as a PCM wave file");
|
|
System.out.println("");
|
|
System.out.println(" More info on http://www.javazoom.net");
|
|
/* System.out.println(" -f ushort use this scalefactor instead of the default value 32768");*/
|
|
return false;
|
|
}
|
|
};
|
|
}; |