Make some structs nested
[openal-soft.git] / core / devformat.cpp
blobc841b634f729cd969562888dbd07ffb4e2436826
2 #include "config.h"
4 #include "devformat.h"
7 uint BytesFromDevFmt(DevFmtType type) noexcept
9 switch(type)
11 case DevFmtByte: return sizeof(int8_t);
12 case DevFmtUByte: return sizeof(uint8_t);
13 case DevFmtShort: return sizeof(int16_t);
14 case DevFmtUShort: return sizeof(uint16_t);
15 case DevFmtInt: return sizeof(int32_t);
16 case DevFmtUInt: return sizeof(uint32_t);
17 case DevFmtFloat: return sizeof(float);
19 return 0;
21 uint ChannelsFromDevFmt(DevFmtChannels chans, uint ambiorder) noexcept
23 switch(chans)
25 case DevFmtMono: return 1;
26 case DevFmtStereo: return 2;
27 case DevFmtQuad: return 4;
28 case DevFmtX51: return 6;
29 case DevFmtX61: return 7;
30 case DevFmtX71: return 8;
31 case DevFmtAmbi3D: return (ambiorder+1) * (ambiorder+1);
33 return 0;
36 const char *DevFmtTypeString(DevFmtType type) noexcept
38 switch(type)
40 case DevFmtByte: return "Int8";
41 case DevFmtUByte: return "UInt8";
42 case DevFmtShort: return "Int16";
43 case DevFmtUShort: return "UInt16";
44 case DevFmtInt: return "Int32";
45 case DevFmtUInt: return "UInt32";
46 case DevFmtFloat: return "Float32";
48 return "(unknown type)";
50 const char *DevFmtChannelsString(DevFmtChannels chans) noexcept
52 switch(chans)
54 case DevFmtMono: return "Mono";
55 case DevFmtStereo: return "Stereo";
56 case DevFmtQuad: return "Quadraphonic";
57 case DevFmtX51: return "5.1 Surround";
58 case DevFmtX61: return "6.1 Surround";
59 case DevFmtX71: return "7.1 Surround";
60 case DevFmtAmbi3D: return "Ambisonic 3D";
62 return "(unknown channels)";