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

90 lines
2.2 KiB
C#

/*
* TimeSigTableEntry.cs
* Copyright (c) 2008-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;
using bocoree;
namespace Boare.Lib.Vsq {
#endif
#if JAVA
public class TimeSigTableEntry implements Comparable<TimeSigTableEntry>, Cloneable, Serializable {
#else
[Serializable]
public class TimeSigTableEntry : IComparable<TimeSigTableEntry>, ICloneable {
#endif
/// <summary>
/// クロック数
/// </summary>
public int Clock;
/// <summary>
/// 拍子の分子
/// </summary>
public int Numerator;
/// <summary>
/// 拍子の分母
/// </summary>
public int Denominator;
/// <summary>
/// 何小節目か
/// </summary>
public int BarCount;
public TimeSigTableEntry(
int clock,
int numerator,
int denominator,
int bar_count ) {
Clock = clock;
Numerator = numerator;
Denominator = denominator;
BarCount = bar_count;
}
public TimeSigTableEntry() {
}
public override String ToString() {
return "{Clock=" + Clock + ", Numerator=" + Numerator + ", Denominator=" + Denominator + ", BarCount=" + BarCount + "}";
}
public Object clone() {
return new TimeSigTableEntry( Clock, Numerator, Denominator, BarCount );
}
#if !JAVA
public object Clone() {
return clone();
}
#endif
public int compareTo( TimeSigTableEntry item ) {
return this.BarCount - item.BarCount;
}
#if !JAVA
public int CompareTo( TimeSigTableEntry item ) {
return compareTo( item );
}
#endif
}
#if !JAVA
}
#endif