ScorePosition.cpp 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. /* ----------------------------------------------------------------- */
  2. /* The HMM-Based Singing Voice Synthesis System "Sinsy" */
  3. /* developed by Sinsy Working Group */
  4. /* http://sinsy.sourceforge.net/ */
  5. /* ----------------------------------------------------------------- */
  6. /* */
  7. /* Copyright (c) 2009-2015 Nagoya Institute of Technology */
  8. /* Department of Computer Science */
  9. /* */
  10. /* All rights reserved. */
  11. /* */
  12. /* Redistribution and use in source and binary forms, with or */
  13. /* without modification, are permitted provided that the following */
  14. /* conditions are met: */
  15. /* */
  16. /* - Redistributions of source code must retain the above copyright */
  17. /* notice, this list of conditions and the following disclaimer. */
  18. /* - Redistributions in binary form must reproduce the above */
  19. /* copyright notice, this list of conditions and the following */
  20. /* disclaimer in the documentation and/or other materials provided */
  21. /* with the distribution. */
  22. /* - Neither the name of the Sinsy working group nor the names of */
  23. /* its contributors may be used to endorse or promote products */
  24. /* derived from this software without specific prior written */
  25. /* permission. */
  26. /* */
  27. /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
  28. /* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
  29. /* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
  30. /* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */
  31. /* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS */
  32. /* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, */
  33. /* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
  34. /* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */
  35. /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON */
  36. /* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, */
  37. /* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY */
  38. /* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
  39. /* POSSIBILITY OF SUCH DAMAGE. */
  40. /* ----------------------------------------------------------------- */
  41. #include "ScorePosition.h"
  42. namespace sinsy
  43. {
  44. /*!
  45. constructor
  46. */
  47. ScorePosition::ScorePosition() : measure(0), numerator(0), denominator(0)
  48. {
  49. }
  50. /*!
  51. constructor
  52. */
  53. ScorePosition::ScorePosition(size_t m) : measure(m), numerator(0), denominator(0)
  54. {
  55. }
  56. /*!
  57. constructor
  58. */
  59. ScorePosition::ScorePosition(size_t m, size_t n, size_t d) : measure(m), numerator(n), denominator(d)
  60. {
  61. }
  62. /*!
  63. copy constructor
  64. */
  65. ScorePosition::ScorePosition(const ScorePosition& obj) : measure(obj.measure), numerator(obj.numerator), denominator(obj.denominator)
  66. {
  67. }
  68. /*!
  69. destructor
  70. */
  71. ScorePosition::~ScorePosition()
  72. {
  73. }
  74. /*!
  75. assignment operator
  76. */
  77. ScorePosition& ScorePosition::operator=(const ScorePosition & obj)
  78. {
  79. this->measure = obj.measure;
  80. this->numerator = obj.numerator;
  81. this->denominator = obj.denominator;
  82. return *this;
  83. }
  84. /*!
  85. get measure
  86. */
  87. size_t ScorePosition::getMeasure() const
  88. {
  89. return measure;
  90. }
  91. /*!
  92. get numerator
  93. */
  94. size_t ScorePosition::getNumerator() const
  95. {
  96. return numerator;
  97. }
  98. /*!
  99. get denominator
  100. */
  101. size_t ScorePosition::getDenominator() const
  102. {
  103. return denominator;
  104. }
  105. /*!
  106. to stream
  107. */
  108. std::ostream& operator<<(std::ostream& os, const ScorePosition& position)
  109. {
  110. return os << position.getMeasure() << " : " << position.getNumerator() << "/" << position.getDenominator();
  111. }
  112. }; // namespace sinsy