Exemplo n.º 1
0
void conversion(caracter){
	char op,op1,op2;
	int i;
		switch(op){
			case +:
				op1 = sacarS();
				op2 = sacarS();
				meterS(atoi(op1) + atoi(op2));
				break;
			case -:
				op1 = sacarS();
				op2 = sacarS();
				meterS(atoi(op1) - atoi(op2));
				break;
			case *:
				op1 = sacarS();
				op2 = sacarS();
				meterS(atoi(op1) * atoi(op2));
				break;
			case /:
				op1 = sacarS();
				op2 = sacarS();
				meterS(atoi(op1) / atoi(op2));
				break;
			case ^:
				op1 = sacarS();
				op2 = sacarS();
				meterS(atoi(op1) ^ atoi(op2));
				break;
			default:
				meterS(op);
				break;
		}
}
Exemplo n.º 2
0
void CGuidoCreator::empty(int numerator, int denominator,int dots)
{
	clefS();
	keyS();
	meterS();
	fprintf(file,"empty");
	if(  (numerator!=lastNoteNumerator) || (denominator!=lastNoteDenominator) || (dots!=lastNoteDots) ){
		fprintf(file,"*%i/%i",numerator,denominator);
		lastNoteDenominator=denominator;
		lastNoteNumerator=numerator;
		lastNoteDots=dots;
	}
	for(int i=0;i<dots;i++){fprintf(file,".");}
	fprintf(file," ");
}
Exemplo n.º 3
0
void CGuidoCreator::note(char pitch, int chromatic, int octave, int durNumerator, int durDenominator, int dispNumerator, int dispDenominator, int dispDots)
{
	clefS();
	keyS();
	meterS();
	//calculate durations
	float realDuration= (float(durNumerator))/(float(durDenominator));
	float dispDuration= (float(dispNumerator))/(float(dispDenominator));
	if(dispDots==1){dispDuration*=1.5;}
	if(dispDots==2){dispDuration*=1.75;}

	//now we can decide, how the note tag is created
	if(realDuration==dispDuration){
		//the printed duration is the real duration:
		note(pitch,chromatic,octave,dispNumerator,dispDenominator,dispDots);
	} else {
		//the printed duration differs from the real duratioon
		fprintf(file,"\\dispDur<%i,%i,%i>( ",dispNumerator,dispDenominator,dispDots);
		note(pitch,chromatic,octave,durNumerator,durDenominator,0);
		fprintf(file,") ");
	}
}//note
Exemplo n.º 4
0
void CGuidoCreator::note(char pitch, int chromatic, int octave, int numerator, int denominator, int dots)
{
	clefS();
	keyS();
	meterS();
	if(inChord){
		notesInChord++;
		if(notesInChord>1){
			fprintf(file,",");
		}
	}

	if(pitch=='_'){
		fprintf(file,"_");
	} else {
		fprintf(file,"%c",pitch);
		switch(chromatic){
		case -2:fprintf(file,"&&");break;
		case -1:fprintf(file,"&"); break;
		case  1:fprintf(file,"#"); break;
		case  2:fprintf(file,"##");break;
		}
		if(lastNoteOctave!=octave){
			fprintf(file,"%i",octave);
			lastNoteOctave=octave;
		}
	}
	if(  (numerator!=lastNoteNumerator) || (denominator!=lastNoteDenominator) || (dots!=lastNoteDots) ){
		fprintf(file,"*%i/%i",numerator,denominator);
		lastNoteDenominator=denominator;
		lastNoteNumerator=numerator;
		lastNoteDots=dots;
	}
	for(int i=0;i<dots;i++){fprintf(file,".");}
	fprintf(file," ");
}//note