AAX SDK  2.4.1
Avid Audio Extensions Development Kit
AAX_SampleRateUtils.h
Go to the documentation of this file.
1 /*================================================================================================*/
2 /*
3  * Copyright 2009-2015 by Avid Technology, Inc.
4  * All rights reserved.
5  *
6  * CONFIDENTIAL: This document contains confidential information. Do not
7  * read or examine this document unless you are an Avid Technology employee
8  * or have signed a non-disclosure agreement with Avid Technology which protects
9  * the confidentiality of this document. DO NOT DISCLOSE ANY INFORMATION
10  * CONTAINED IN THIS DOCUMENT TO ANY THIRD-PARTY WITHOUT THE PRIOR WRITTEN CONSENT
11  * OF Avid Technology, INC.
12  */
13 
20 /*================================================================================================*/
21 #pragma once
22 
24 {
37 };
38 
39 inline int CoarseSampleRate (int iRate)
40 {
41  const int aCoarseRate =
42 
46  0;
47 
48  if (aCoarseRate == 0)
49  {
50 // throw std::runtime_error ("unrecognized sample rate");
51  }
52  return aCoarseRate;
53 }
54 
55 //Returns 1 for 48k, 2 for 96k, and 4 for 192k gross samples rate.
56 inline int CoarseSampleRateFactor (int iRate)
57 {
58  const int kMinCoarseSampleRate=eSRUtils_48kRangeCoarse;
59 
60  int aCoarseRateFactor = CoarseSampleRate (iRate)/kMinCoarseSampleRate;
61 
62  return aCoarseRateFactor;
63 }
64 
65 //Returns 0 for 48k, 1 for 96k, and 2 for 192k gross samples rate.
66 inline int CoarseSampleRateIndex (int iRate)
67 {
68 // const long kMinGrossSampleRate=eSRUtils_48kRangeCoarse;
69  int aGrossRateIndex = 0;
70 
71  switch ( CoarseSampleRate (iRate) )
72  {
73  default:
75  aGrossRateIndex = 0;
76  break;
78  aGrossRateIndex = 1;
79  break;
81  aGrossRateIndex = 2;
82  break;
83 // default:
84 // throw std::runtime_error ("unrecognized sample rate");
85  }
86 
87  return aGrossRateIndex;
88 }
int CoarseSampleRateIndex(int iRate)
Definition: AAX_SampleRateUtils.h:66
ESRUtils
Definition: AAX_SampleRateUtils.h:24
@ eSRUtils_96kIndex
Definition: AAX_SampleRateUtils.h:35
@ eSRUtils_48kRangeMax
Definition: AAX_SampleRateUtils.h:29
@ eSRUtils_96kRangeCoarse
Definition: AAX_SampleRateUtils.h:26
@ eSRUtils_192kRangeMin
Definition: AAX_SampleRateUtils.h:32
@ eSRUtils_96kRangeMin
Definition: AAX_SampleRateUtils.h:30
@ eSRUtils_48kIndex
Definition: AAX_SampleRateUtils.h:34
@ eSRUtils_192kRangeMax
Definition: AAX_SampleRateUtils.h:33
@ eSRUtils_96kRangeMax
Definition: AAX_SampleRateUtils.h:31
@ eSRUtils_192kRangeCoarse
Definition: AAX_SampleRateUtils.h:27
@ eSRUtils_48kRangeCoarse
Definition: AAX_SampleRateUtils.h:25
@ eSRUtils_48kRangeMin
Definition: AAX_SampleRateUtils.h:28
@ eSRUtils_192kIndex
Definition: AAX_SampleRateUtils.h:36
int CoarseSampleRateFactor(int iRate)
Definition: AAX_SampleRateUtils.h:56
int CoarseSampleRate(int iRate)
Definition: AAX_SampleRateUtils.h:39