stephensworld wrote:I did the following steps
you need to install some development packages:
- Code: Select all
apt-get install build-essential pkg-config qt4-dev-tools libqt4-dev libspeex1 \
libspeex-dev libboost-dev libasound2-dev libssl-dev g++ \
libspeechd-dev libzeroc-ice-dev ice-slice libpulse-dev slice2cpp \
libcap-dev libspeexdsp-dev libprotobuf-dev protobuf-compiler \
libogg-dev libavahi-compat-libdnssd-dev libsndfile1-dev \
libg15daemon-client-dev libxi-dev
for more information please see http://wiki.mumble.info/wiki/BuildingLinux
- Code: Select all
git clone https://github.com/mumble-voip/mumble.git
you have to edit the source files as shown above.
on the raspberry 2 I compiled with the following commands
- Code: Select all
qmake -recursive main.pro CONFIG+="qt4-legacy-compat no-g15 no-server"
make
If you have any further questions don't hesitate to contact me.
The solution is great. We have many users on the repeater with mumble. Our next step is to connect two or more repeater.
QTimer *gpioPollingTimer = new QTimer(this);
connect(gpioPollingTimer, SIGNAL(timeout()), this, SLOT(onGpioPoll()));
gpioPollingTimer->start(100); // 100ms polling Intervall
void MainWindow::setupGui() {
updateWindowTitle();
setCentralWidget(qtvUsers);
setAcceptDrops(true);
QTimer *gpioPollingTimer = new QTimer(this);
connect(gpioPollingTimer, SIGNAL(timeout()), this, SLOT(onGpioPoll()));
gpioPollingTimer->start(100); // 100ms polling Intervall
void MainWindow::destroyUserInformation() {
UserInformation *ui = static_cast<UserInformation *>(sender());
QMap<unsigned int, UserInformation *>::iterator i;
for (i=qmUserInformations.begin(); i != qmUserInformations.end(); ++i) {
if (i.value() == ui) {
qmUserInformations.erase(i);
return;
}
}
}
void MainWindow::onGpioPoll() {
static bool pttGpioPrevState = false;
static bool pttGpioState = false;
QList<ClientUser *> talkingUsers = ClientUser::getTalking();
// For someone else to be talking we have to be connected to the
//server and there must be at least one person talking that isn't ourselves
static bool pttPrev = false;
const bool someoneElseTalking = g.sh && !(talkingUsers.empty() ||
(talkingUsers.size() == 1 && g.uiSession ==
talkingUsers.first()->uiSession));
if (someoneElseTalking) {
if(!pttPrev){
system("echo 1 > /tty/pttctrl");
pttPrev=true;
}
}
if(!someoneElseTalking){
if (pttPrev){
system("echo 0 > /tty/pttctrl");
pttPrev=false;
}
}
}
Users browsing this forum: No registered users and 3 guests