#include "debug.hh"
#include "main.hh"
+int
+compare (Array<Musical_pitch>* left, Array<Musical_pitch>* right)
+{
+ assert (left);
+ assert (right);
+
+ if (left->size () == right->size ())
+ {
+ for (int i = 0; i < left->size (); i++)
+ {
+ int r = Musical_pitch::compare ((*left)[i], (*right)[i]);
+ if (r)
+ return r;
+ }
+ }
+ else
+ return 1;
+
+ return 0;
+}
+
SCM
-to_scm (Musical_pitch p)
+Musical_pitch::to_scm ()const
{
- return gh_list (gh_int2scm (p.notename_i_),
- gh_int2scm (p.accidental_i_),
- gh_int2scm (p.octave_i_),
+ return gh_list (gh_int2scm (octave_i_),
+ gh_int2scm (notename_i_),
+ gh_int2scm (accidental_i_),
SCM_UNDEFINED);
}
-/*
- TODO: check -- is_pitch () ?
- */
-Musical_pitch
-scm_to (SCM s, Musical_pitch* )
+
+Musical_pitch::Musical_pitch (SCM s)
{
- return Musical_pitch (gh_scm2int (gh_car (s)),
- gh_scm2int (gh_cadr (s)),
- gh_scm2int (gh_caddr (s)));
+ octave_i_ = gh_scm2int (gh_car (s));
+ notename_i_ = gh_scm2int (gh_cadr (s));
+ accidental_i_ = gh_scm2int (gh_caddr (s));
}
Musical_pitch::Musical_pitch (int n, int a, int o)
octave_i_ = o;
}
-void
-Musical_pitch::print () const
-{
-#ifndef NPRINT
- DEBUG_OUT << str ();
-#endif
-}
int
Musical_pitch::compare (Musical_pitch const &m1, Musical_pitch const &m2)