Prepare for having two voice subsystems.

This commit is contained in:
Jonathan Naylor
2020-04-03 15:25:33 +01:00
parent 73270ad7a5
commit 9771b1ff0c
7 changed files with 30 additions and 30 deletions

View File

@@ -29,10 +29,10 @@
#include "PassAllPC.h" #include "PassAllPC.h"
#include "PassAllTG.h" #include "PassAllTG.h"
#include "DMRFullLC.h" #include "DMRFullLC.h"
#include "XLXVoice.h"
#include "Version.h" #include "Version.h"
#include "Thread.h" #include "Thread.h"
#include "DMRLC.h" #include "DMRLC.h"
#include "Voice.h"
#include "Sync.h" #include "Sync.h"
#include "Log.h" #include "Log.h"
#include "GitVersion.h" #include "GitVersion.h"
@@ -409,7 +409,7 @@ int CDMRGateway::run()
unsigned int rfTimeout = m_conf.getRFTimeout(); unsigned int rfTimeout = m_conf.getRFTimeout();
unsigned int netTimeout = m_conf.getNetTimeout(); unsigned int netTimeout = m_conf.getNetTimeout();
CVoice* voice = NULL; CXLXVoice* voice = NULL;
if (m_conf.getVoiceEnabled() && m_xlxNetwork != NULL) { if (m_conf.getVoiceEnabled() && m_xlxNetwork != NULL) {
std::string language = m_conf.getVoiceLanguage(); std::string language = m_conf.getVoiceLanguage();
std::string directory = m_conf.getVoiceDirectory(); std::string directory = m_conf.getVoiceDirectory();
@@ -419,7 +419,7 @@ int CDMRGateway::run()
LogInfo(" Language: %s", language.c_str()); LogInfo(" Language: %s", language.c_str());
LogInfo(" Directory: %s", directory.c_str()); LogInfo(" Directory: %s", directory.c_str());
voice = new CVoice(directory, language, m_repeater->getId(), m_xlxSlot, m_xlxTG); voice = new CXLXVoice(directory, language, m_repeater->getId(), m_xlxSlot, m_xlxTG);
bool ret = voice->open(); bool ret = voice->open();
if (!ret) { if (!ret) {
delete voice; delete voice;

View File

@@ -54,7 +54,7 @@ UserControl=1
# BrandMeister # BrandMeister
[DMR Network 1] [DMR Network 1]
Enabled=0 Enabled=1
Name=BM Name=BM
Address=44.131.4.1 Address=44.131.4.1
Port=62031 Port=62031

View File

@@ -194,7 +194,7 @@
<ClInclude Include="UDPSocket.h" /> <ClInclude Include="UDPSocket.h" />
<ClInclude Include="Utils.h" /> <ClInclude Include="Utils.h" />
<ClInclude Include="Version.h" /> <ClInclude Include="Version.h" />
<ClInclude Include="Voice.h" /> <ClInclude Include="XLXVoice.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="BPTC19696.cpp" /> <ClCompile Include="BPTC19696.cpp" />
@@ -236,7 +236,7 @@
<ClCompile Include="Timer.cpp" /> <ClCompile Include="Timer.cpp" />
<ClCompile Include="UDPSocket.cpp" /> <ClCompile Include="UDPSocket.cpp" />
<ClCompile Include="Utils.cpp" /> <ClCompile Include="Utils.cpp" />
<ClCompile Include="Voice.cpp" /> <ClCompile Include="XLXVoice.cpp" />
</ItemGroup> </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">

View File

@@ -95,9 +95,6 @@
<ClInclude Include="QR1676.h"> <ClInclude Include="QR1676.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Voice.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="RewriteTG.h"> <ClInclude Include="RewriteTG.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
@@ -140,6 +137,9 @@
<ClInclude Include="RewriteDynTGRF.h"> <ClInclude Include="RewriteDynTGRF.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="XLXVoice.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="Conf.cpp"> <ClCompile Include="Conf.cpp">
@@ -217,9 +217,6 @@
<ClCompile Include="QR1676.cpp"> <ClCompile Include="QR1676.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Voice.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="RewriteTG.cpp"> <ClCompile Include="RewriteTG.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
@@ -262,5 +259,8 @@
<ClCompile Include="RewriteDynTGRF.cpp"> <ClCompile Include="RewriteDynTGRF.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="XLXVoice.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@@ -7,7 +7,7 @@ LDFLAGS = -g
OBJECTS = BPTC19696.o Conf.o CRC.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREmbeddedData.o DMREMB.o DMRFullLC.o DMRGateway.o DMRLC.o DMRNetwork.o DMRSlotType.o \ OBJECTS = BPTC19696.o Conf.o CRC.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREmbeddedData.o DMREMB.o DMRFullLC.o DMRGateway.o DMRLC.o DMRNetwork.o DMRSlotType.o \
Golay2087.o Hamming.o Log.o MMDVMNetwork.o PassAllPC.o PassAllTG.o QR1676.o Reflectors.o RepeaterProtocol.o Rewrite.o RewriteDstId.o RewriteDynTGNet.o \ Golay2087.o Hamming.o Log.o MMDVMNetwork.o PassAllPC.o PassAllTG.o QR1676.o Reflectors.o RepeaterProtocol.o Rewrite.o RewriteDstId.o RewriteDynTGNet.o \
RewriteDynTGRF.o RewritePC.o RewriteSrc.o RewriteSrcId.o RewriteTG.o RewriteType.o RS129.o SHA256.o StopWatch.o Sync.o Thread.o Timer.o UDPSocket.o \ RewriteDynTGRF.o RewritePC.o RewriteSrc.o RewriteSrcId.o RewriteTG.o RewriteType.o RS129.o SHA256.o StopWatch.o Sync.o Thread.o Timer.o UDPSocket.o \
Utils.o Voice.o Utils.o XLXVoice.o
all: DMRGateway all: DMRGateway

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017 by Jonathan Naylor G4KLX * Copyright (C) 2017,2020 by Jonathan Naylor G4KLX
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@@ -18,8 +18,8 @@
#include "DMRSlotType.h" #include "DMRSlotType.h"
#include "DMRFullLC.h" #include "DMRFullLC.h"
#include "XLXVoice.h"
#include "DMREMB.h" #include "DMREMB.h"
#include "Voice.h"
#include "Sync.h" #include "Sync.h"
#include "Log.h" #include "Log.h"
@@ -35,7 +35,7 @@ const unsigned char COLOR_CODE = 3U;
const unsigned int SILENCE_LENGTH = 9U; const unsigned int SILENCE_LENGTH = 9U;
const unsigned int AMBE_LENGTH = 9U; const unsigned int AMBE_LENGTH = 9U;
CVoice::CVoice(const std::string& directory, const std::string& language, unsigned int id, unsigned int slot, unsigned int tg) : CXLXVoice::CXLXVoice(const std::string& directory, const std::string& language, unsigned int id, unsigned int slot, unsigned int tg) :
m_indxFile(), m_indxFile(),
m_ambeFile(), m_ambeFile(),
m_slot(slot), m_slot(slot),
@@ -63,7 +63,7 @@ m_it()
#endif #endif
} }
CVoice::~CVoice() CXLXVoice::~CXLXVoice()
{ {
for (std::vector<CDMRData*>::iterator it = m_data.begin(); it != m_data.end(); ++it) for (std::vector<CDMRData*>::iterator it = m_data.begin(); it != m_data.end(); ++it)
delete *it; delete *it;
@@ -77,7 +77,7 @@ CVoice::~CVoice()
delete[] m_ambe; delete[] m_ambe;
} }
bool CVoice::open() bool CXLXVoice::open()
{ {
FILE* fpindx = ::fopen(m_indxFile.c_str(), "rt"); FILE* fpindx = ::fopen(m_indxFile.c_str(), "rt");
if (fpindx == NULL) { if (fpindx == NULL) {
@@ -130,7 +130,7 @@ bool CVoice::open()
return true; return true;
} }
void CVoice::linkedTo(unsigned int number, unsigned int room) void CXLXVoice::linkedTo(unsigned int number, unsigned int room)
{ {
char letters[10U]; char letters[10U];
::sprintf(letters, "%03u", number); ::sprintf(letters, "%03u", number);
@@ -158,7 +158,7 @@ void CVoice::linkedTo(unsigned int number, unsigned int room)
createVoice(words); createVoice(words);
} }
void CVoice::unlinked() void CXLXVoice::unlinked()
{ {
std::vector<std::string> words; std::vector<std::string> words;
words.push_back("notlinked"); words.push_back("notlinked");
@@ -166,7 +166,7 @@ void CVoice::unlinked()
createVoice(words); createVoice(words);
} }
void CVoice::createVoice(const std::vector<std::string>& words) void CXLXVoice::createVoice(const std::vector<std::string>& words)
{ {
unsigned int ambeLength = 0U; unsigned int ambeLength = 0U;
for (std::vector<std::string>::const_iterator it = words.begin(); it != words.end(); ++it) { for (std::vector<std::string>::const_iterator it = words.begin(); it != words.end(); ++it) {
@@ -273,7 +273,7 @@ void CVoice::createVoice(const std::vector<std::string>& words)
m_timer.start(); m_timer.start();
} }
bool CVoice::read(CDMRData& data) bool CXLXVoice::read(CDMRData& data)
{ {
if (m_status != VS_SENDING) if (m_status != VS_SENDING)
return false; return false;
@@ -300,7 +300,7 @@ bool CVoice::read(CDMRData& data)
return false; return false;
} }
void CVoice::clock(unsigned int ms) void CXLXVoice::clock(unsigned int ms)
{ {
m_timer.clock(ms); m_timer.clock(ms);
if (m_timer.isRunning() && m_timer.hasExpired()) { if (m_timer.isRunning() && m_timer.hasExpired()) {
@@ -313,7 +313,7 @@ void CVoice::clock(unsigned int ms)
} }
} }
void CVoice::createHeaderTerminator(unsigned char type) void CXLXVoice::createHeaderTerminator(unsigned char type)
{ {
CDMRData* data = new CDMRData; CDMRData* data = new CDMRData;

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017 by Jonathan Naylor G4KLX * Copyright (C) 2017,2020 by Jonathan Naylor G4KLX
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@@ -16,8 +16,8 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
#if !defined(Voice_H) #if !defined(XLXVoice_H)
#define Voice_H #define XLXVoice_H
#include "DMREmbeddedData.h" #include "DMREmbeddedData.h"
#include "StopWatch.h" #include "StopWatch.h"
@@ -40,10 +40,10 @@ struct CPositions {
unsigned int m_length; unsigned int m_length;
}; };
class CVoice { class CXLXVoice {
public: public:
CVoice(const std::string& directory, const std::string& language, unsigned int id, unsigned int slot, unsigned int tg); CXLXVoice(const std::string& directory, const std::string& language, unsigned int id, unsigned int slot, unsigned int tg);
~CVoice(); ~CXLXVoice();
bool open(); bool open();