Advertisement
Monni

Add missing tickFromBeat/beatFromTick calculations

Apr 19th, 2015
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.20 KB | None | 0 0
  1. diff --git a/src/QMidiFile.cpp b/src/QMidiFile.cpp
  2. index add2f59..998cae5 100644
  3. --- a/src/QMidiFile.cpp
  4. +++ b/src/QMidiFile.cpp
  5. @@ -543,13 +543,13 @@ float QMidiFile::beatFromTick(qint32 tick)
  6.      case PPQ:
  7.          return (float)(tick) / myResolution;
  8.      case SMPTE24:
  9. -        return -1.0; /* TODO */
  10. +        return (float)(tick) / 24.0;
  11.      case SMPTE25:
  12. -        return -1.0; /* TODO */
  13. +        return (float)(tick) / 25.0;
  14.      case SMPTE30DROP:
  15. -        return -1.0; /* TODO */
  16. +        return (float)(tick) / 29.97;
  17.      case SMPTE30:
  18. -        return -1.0; /* TODO */
  19. +        return (float)(tick) / 30.0;
  20.      default:
  21.          return -1.0;
  22.      }
  23. @@ -561,13 +561,13 @@ qint32 QMidiFile::tickFromBeat(float beat)
  24.      case PPQ:
  25.          return (qint32)(beat * myResolution);
  26.      case SMPTE24:
  27. -        return -1; /* TODO */
  28. +        return (qint32)(beat * 24.0);
  29.      case SMPTE25:
  30. -        return -1; /* TODO */
  31. +        return (qint32)(beat * 25.0);
  32.      case SMPTE30DROP:
  33. -        return -1; /* TODO */
  34. +        return (qint32)(beat * 29.97);
  35.      case SMPTE30:
  36. -        return -1; /* TODO */
  37. +        return (qint32)(beat * 30);
  38.      default:
  39.          return -1;
  40.      }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement