1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
/*
* DynaffComparisonContext.cs
* Copyright © 2010-2011 kbinani
*
* This file is part of org.kbinani.cadencii.
*
* org.kbinani.cadencii is free software; you can redistribute it and/or
* modify it under the terms of the GPLv3 License.
*
* org.kbinani.cadencii 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.cadencii;
import java.util.*;
import org.kbinani.vsq.*;
#else
using System;
using org.kbinani.vsq;
using org.kbinani.java.util;
namespace org.kbinani.cadencii {
using Integer = System.Int32;
using boolean = System.Boolean;
#endif
/// <summary>
/// 強弱記号を比較するための,比較用コンテキスト
/// </summary>
#if JAVA
public class DynaffComparisonContext implements IComparisonContext {
#else
public class DynaffComparisonContext : IComparisonContext {
#endif
VsqTrack track1 = null;
VsqTrack track2 = null;
Iterator<Integer> it1 = null;
Iterator<Integer> it2 = null;
public DynaffComparisonContext( VsqTrack track1, VsqTrack track2 ) {
this.track1 = track1;
this.track2 = track2;
it1 = this.track1.indexIterator( IndexIteratorKind.DYNAFF );
it2 = this.track2.indexIterator( IndexIteratorKind.DYNAFF );
}
public int getNextIndex1() {
return it1.next();
}
public int getNextIndex2() {
return it2.next();
}
public Object getElementAt1( int index ) {
return track1.getEvent( index );
}
public Object getElementAt2( int index ) {
return track2.getEvent( index );
}
public boolean hasNext1() {
return it1.hasNext();
}
public boolean hasNext2() {
return it2.hasNext();
}
public int getClockFrom( Object obj ) {
if ( obj == null ) {
return 0;
}
if ( obj is VsqEvent ) {
return ((VsqEvent)obj).Clock;
}
return 0;
}
public boolean equals( Object obj1, Object obj2 ) {
if ( obj1 == null || obj2 == null ) {
return false;
}
if ( !(obj1 is VsqEvent) || !(obj2 is VsqEvent) ) {
return false;
}
VsqEvent item1 = (VsqEvent)obj1;
VsqEvent item2 = (VsqEvent)obj2;
return (item1.ID.IconDynamicsHandle.IconID.Equals( item2.ID.IconDynamicsHandle.IconID ));
}
}
#if !JAVA
}
#endif
|