Skip to content

Commit 339c7de

Browse files
committed
Add : Assist functions, Fix : the function can't be used
1 parent 569c554 commit 339c7de

File tree

7 files changed

+110
-36
lines changed

7 files changed

+110
-36
lines changed

WaveFileManagerCPP/AssistFunc.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#pragma once
2+
3+
#include "DefineClass.h"
4+
5+
#define _USE_MATH_DEFINES
6+
#include<math.h>
7+
8+
// Return sounds data (length : samplesPerSec * 2)
9+
void GenerateSoundMonaural16bits(Int16* sound, double herth, int samplesPerSec = 44100)
10+
{
11+
for (int i = 0; i < samplesPerSec * 2; i++)
12+
{
13+
sound[i] = ((short)(sin(i / (double)samplesPerSec * 2 * M_PI * herth) * 30000));
14+
}
15+
}

WaveFileManagerCPP/CreateInstance.h

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#pragma once
2+
3+
#include "DefineClass.h"
4+
5+
MusicPropertyMonaural16bit GenerateMonaural16bits(Int16* data, UInt32 length)
6+
{
7+
MusicPropertyMonaural16bit w;
8+
9+
w.m_FileSize = 36 + (sizeof(Int16) * length);
10+
w.m_PCMWAVEFORMAT_Size = 16;
11+
WAVEFORMATEX waveformat;
12+
w.m_WaveFormatEx = waveformat.GetMonaural16bitsDefault();
13+
MusicDataMonaural16bit data16bit;
14+
data16bit.m_DataSize = (sizeof(Int16) * length);
15+
std::vector<Int16> v;
16+
v.assign(data, data + length);
17+
data16bit.m_Data = v;
18+
w.m_MusicData = data16bit;
19+
20+
return w;
21+
}
22+
23+
MusicPropertyMonaural8bit GenerateMonaural8bits(Int8* data, UInt32 length)
24+
{
25+
MusicPropertyMonaural8bit w;
26+
27+
w.m_FileSize = 36 + (sizeof(Int8) * length);
28+
w.m_PCMWAVEFORMAT_Size = 16;
29+
WAVEFORMATEX waveformat;
30+
w.m_WaveFormatEx = waveformat.GetMonaural8bitsDefault();
31+
MusicDataMonaural8bit data8bit;
32+
data8bit.m_DataSize = (sizeof(Int8) * length);
33+
std::vector<Int8> v;
34+
v.assign(data, data + length);
35+
data8bit.m_Data = v;
36+
w.m_MusicData = data8bit;
37+
38+
return w;
39+
}

WaveFileManagerCPP/DefineClass.h

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -11,40 +11,6 @@ typedef char Int8;
1111
typedef unsigned int UInt32;
1212
typedef unsigned short UInt16;
1313

14-
class MusicProperty
15-
{
16-
public:
17-
Int32 m_FileSize;
18-
Int32 m_PCMWAVEFORMAT_Size;
19-
WAVEFORMATEX m_WaveFormatEx;
20-
};
21-
22-
class MusicPropertyMonaural16bit : public MusicProperty
23-
{
24-
public:
25-
MusicDataMonaural16bit m_MusicData;
26-
};
27-
28-
class MusicPropertyMonaural8bit : public MusicProperty
29-
{
30-
public:
31-
MusicDataMonaural8bit m_MusicData;
32-
};
33-
34-
struct MusicDataMonaural16bit
35-
{
36-
public:
37-
Int32 m_DataSize;
38-
vector<Int16> m_Data;
39-
};
40-
41-
struct MusicDataMonaural8bit
42-
{
43-
public:
44-
Int32 m_DataSize;
45-
vector<Int8> m_Data;
46-
};
47-
4814
class WAVEFORMATEX
4915
{
5016
public:
@@ -94,8 +60,43 @@ WAVEFORMATEX WAVEFORMATEX::GetMonaural8bitsDefault()
9460

9561
#pragma endregion
9662

63+
struct MusicDataMonaural16bit
64+
{
65+
public:
66+
Int32 m_DataSize;
67+
vector<Int16> m_Data;
68+
};
69+
70+
struct MusicDataMonaural8bit
71+
{
72+
public:
73+
Int32 m_DataSize;
74+
vector<Int8> m_Data;
75+
};
76+
77+
class MusicProperty
78+
{
79+
public:
80+
Int32 m_FileSize;
81+
Int32 m_PCMWAVEFORMAT_Size;
82+
WAVEFORMATEX m_WaveFormatEx;
83+
};
84+
85+
class MusicPropertyMonaural16bit : public MusicProperty
86+
{
87+
public:
88+
MusicDataMonaural16bit m_MusicData;
89+
};
90+
91+
class MusicPropertyMonaural8bit : public MusicProperty
92+
{
93+
public:
94+
MusicDataMonaural8bit m_MusicData;
95+
};
96+
9797
class WaveFileManager
9898
{
99+
public:
99100
MusicPropertyMonaural16bit LoadFileMonaural16bits(string path);
100101

101102
void CreateFile(string path, MusicPropertyMonaural16bit prop);

WaveFileManagerCPP/LoadWaveFile.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ MusicPropertyMonaural16bit WaveFileManager::LoadFileMonaural16bits(string path)
7777
#pragma endregion
7878

7979
WAVEFORMATEX format;
80-
format = format.GetMonaural16bitsDefault;
80+
format = format.GetMonaural16bitsDefault();
8181

8282
#pragma region フォーマットタグ
8383

@@ -214,11 +214,14 @@ void WaveFileManager::CreateFile(string path, MusicPropertyMonaural16bit prop)
214214
ConvertToLittleEndian(int8array, musicData.m_DataSize);
215215
fs.write(int8array, sizeof(Int32));
216216

217+
#pragma warning(push)
218+
#pragma warning(disable:4018)
217219
for (int i = 0; i < musicData.m_Data.size(); i++)
218220
{
219221
ConvertToLittleEndian(int8array, musicData.m_Data[i]);
220222
fs.write(int8array, sizeof(Int16));
221223
}
224+
#pragma warning(pop)
222225
}
223226

224227
//閉じる
@@ -248,11 +251,14 @@ void WaveFileManager::CreateFile(string path, MusicPropertyMonaural8bit prop)
248251
ConvertToLittleEndian(int8array, musicData.m_DataSize);
249252
fs.write(int8array, 4);
250253

254+
#pragma warning(push)
255+
#pragma warning(disable:4018)
251256
for (int i = 0; i < musicData.m_Data.size(); i++)
252257
{
253258
ConvertToLittleEndian(int8array, musicData.m_Data[i]);
254259
fs.write(int8array, sizeof(Int8));
255260
}
261+
#pragma warning(pop)
256262
}
257263

258264
//閉じる

WaveFileManagerCPP/WaveFileManager.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
#pragma once
22

3-
#include"LoadWaveFile.h"
3+
#include"LoadWaveFile.h"
4+
5+
#if !NO_ASSIST_WAVEFILEMANAGER
6+
#include"AssistFunc.h"
7+
#include"CreateInstance.h"
8+
#endif

WaveFileManagerCPP/WaveFileManagerCPP.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@
115115
</Link>
116116
</ItemDefinitionGroup>
117117
<ItemGroup>
118+
<ClInclude Include="AssistFunc.h" />
119+
<ClInclude Include="CreateInstance.h" />
118120
<ClInclude Include="DefineClass.h" />
119121
<ClInclude Include="LoadWaveFile.h" />
120122
<ClInclude Include="WaveFileManager.h" />

WaveFileManagerCPP/WaveFileManagerCPP.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,11 @@
2424
<ClInclude Include="DefineClass.h">
2525
<Filter>ヘッダー ファイル</Filter>
2626
</ClInclude>
27+
<ClInclude Include="CreateInstance.h">
28+
<Filter>ヘッダー ファイル</Filter>
29+
</ClInclude>
30+
<ClInclude Include="AssistFunc.h">
31+
<Filter>ヘッダー ファイル</Filter>
32+
</ClInclude>
2733
</ItemGroup>
2834
</Project>

0 commit comments

Comments
 (0)