public static String getScaleName(Scale scale) {
		// backup old flatSharp resolution
		FlatSharpConflictResolution oldFlatRes = Namer.flatSharpRes;
		// DUR
		if(scale.scaleType.equals(ScaleType.DUR) || scale.scaleType.equals(ScaleType.DUR_HARMONIC) ) {
			if(isSharpDur(scale.midiNum) && isFlatDur(scale.midiNum)) {
				Namer.flatSharpRes = FlatSharpConflictResolution.CHOOSE_FLATS_IFEQ_FLAT;
				List<String> flatScaleTones = getScaleToneNames(scale.midiNum, scale.scaleType);
				
				Namer.flatSharpRes = FlatSharpConflictResolution.CHOOSE_SHARPS_IFEQ_SHARP;
				List<String> sharpScaleTones = getScaleToneNames(scale.midiNum, scale.scaleType);
				
				return flatScaleTones.get(0) + " " + scale.scaleType + "/" + sharpScaleTones.get(0) + " " + scale.scaleType;
			}
		}
		// MOLL
		if(scale.scaleType.equals(ScaleType.MOLL) || scale.scaleType.equals(ScaleType.MOLL_HARMONIC) || scale.scaleType.equals(ScaleType.MOLL_MELODIC) ) {
			if(isSharpMoll(scale.midiNum) && isFlatMoll(scale.midiNum)) {
				Namer.flatSharpRes = FlatSharpConflictResolution.CHOOSE_FLATS_IFEQ_FLAT;
				List<String> flatScaleTones = getScaleToneNames(scale.midiNum, scale.scaleType);
				
				Namer.flatSharpRes = FlatSharpConflictResolution.CHOOSE_SHARPS_IFEQ_SHARP;
				List<String> sharpScaleTones = getScaleToneNames(scale.midiNum, scale.scaleType);
				
				return flatScaleTones.get(0) + " " + scale.scaleType + "/" + sharpScaleTones.get(0) + " " + scale.scaleType;
			}
		}
		
		List<String> scaleTones = getScaleToneNames(scale.midiNum, scale.scaleType);
		
		Namer.flatSharpRes = oldFlatRes;
		return scaleTones.get(0) + " " + scale.scaleType;
	}