lipsync/Boare.Lib.Vsq/VibratoHandle.cs
2024-05-20 00:17:44 +00:00

105 lines
2.8 KiB
C#

/*
* VibratoHandle.cs
* Copyright (c) 2009 kbinani
*
* This file is part of Boare.Lib.Vsq.
*
* Boare.Lib.Vsq is free software; you can redistribute it and/or
* modify it under the terms of the BSD License.
*
* Boare.Lib.Vsq 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.
*/
#if JAVA
package org.kbinani.vsq;
import java.io.*;
#else
using System;
namespace Boare.Lib.Vsq {
#endif
#if JAVA
public class VibratoHandle implements Cloneable, Serializable {
#else
[Serializable]
public class VibratoHandle : ICloneable {
#endif
public int StartDepth;
public VibratoBPList DepthBP;
public int StartRate;
public VibratoBPList RateBP;
public int Index;
public String IconID = "";
public String IDS = "";
public int Original;
public String Caption = "";
public int Length;
public VibratoHandle() {
StartRate = 64;
StartDepth = 64;
RateBP = new VibratoBPList();
DepthBP = new VibratoBPList();
}
public int getLength() {
return Length;
}
public void setLength( int value ) {
Length = value;
}
public String getDisplayString() {
String s = IDS;
if ( !Caption.Equals( "" ) ) {
s += " (" + Caption + ")";
}
return s;
}
#if !JAVA
public object Clone() {
return clone();
}
#endif
public Object clone() {
VibratoHandle result = new VibratoHandle();
result.Index = Index;
result.IconID = IconID;
result.IDS = this.IDS;
result.Original = this.Original;
result.Caption = this.Caption;
result.setLength( Length );
result.StartDepth = this.StartDepth;
result.DepthBP = (VibratoBPList)DepthBP.clone();
result.StartRate = this.StartRate;
result.RateBP = (VibratoBPList)RateBP.clone();
return result;
}
public VsqHandle castToVsqHandle() {
VsqHandle ret = new VsqHandle();
ret.m_type = VsqHandleType.Vibrato;
ret.Index = Index;
ret.IconID = IconID;
ret.IDS = IDS;
ret.Original = Original;
ret.Caption = Caption;
ret.setLength( Length );
ret.StartDepth = StartDepth;
ret.StartRate = StartRate;
ret.DepthBP = (VibratoBPList)DepthBP.clone();
ret.RateBP = (VibratoBPList)RateBP.clone();
return ret;
}
}
#if !JAVA
}
#endif