コード例 #1
0
int decode_frequency(

  pbs_attribute *patr,
  const char   *name, /* pbs_attribute name */
  const char *rescn, /* resource name, unused here */
  const char    *val, /* pbs_attribute value */
  int            perm)  /* only used for resources */

  {

  patr->at_val.at_frequency.frequency_type = Invalid;
  patr->at_val.at_frequency.mhz = 0;

  if ((val != NULL) && (val[0] != '\0'))
    {
    if (to_frequency(val, &patr->at_val.at_frequency) != 0)
      {
      return(PBSE_BADATVAL);
      }

    patr->at_flags |= ATR_VFLAG_SET | ATR_VFLAG_MODIFY;
    }
  else
    {
    patr->at_flags = (patr->at_flags & ~ATR_VFLAG_SET) | ATR_VFLAG_MODIFY;
    }

  return(0);
  }
コード例 #2
0
ファイル: music_utils.cpp プロジェクト: el2724/note-hashtag
#include "music_utils.hpp"

float to_frequency(int note)
{
    note -= 10;
    return 440.0 * pow(2.0, (double)note / 12.0);
}

std::unordered_map<int, double> scale
{
    { 1, to_frequency(1) },
    { 2, to_frequency(3) },
    { 3, to_frequency(5) },
    { 4, to_frequency(6) },
    { 5, to_frequency(8) },
    { 6, to_frequency(10) },
    { 7, to_frequency(12) },
};