Main Page | Alphabetical List | Class List | Directories | File List | Class Members | File Members

netmusic_sender.cpp File Reference


Detailed Description

Sender program code.

Author:
Hoermann Klaus

www.netmusic.at.tt

Version:
0.1
Date:
18.03.2005

last modified 31.05.2005

Definition in file netmusic_sender.cpp.

#include <sys/time.h>
#include <netdb.h>
#include <pthread.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/msg.h>
#include <sys/ipc.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <queue.h>
#include "include/Netmusic.hh"
#include "include/Mini.hh"

Include dependency graph for netmusic_sender.cpp:

Go to the source code of this file.

Functions

void handler (int signal)
 Signal handler for STRG-C.
void * midi_function (void *ptr)
void * mini_on_function (void *ptr)
void * mini_off_function (void *ptr)
void * sync_function (void *ptr)
int main (int argc, char **argv)
 main function

Variables

snd_seq_t * senderSeqHandler = NULL
int npfd
pollfd * pfd
int sdMini
sockaddr_in remoteReceiverAddrMini
queue< int > miniOnQueue
queue< int > miniOffQueue
int mini = 1
int syncPort = 29998
int midiPort = 29999
int miniPort = 30000
int startKey = 36
char * receiverIp = new char[15]
int threshold = 200
pthread_t miniOnThread
pthread_t miniOffThread
pthread_t midiThread
pthread_t syncThread
pthread_mutex_t mutexOn = PTHREAD_MUTEX_INITIALIZER
pthread_mutex_t mutexOff = PTHREAD_MUTEX_INITIALIZER
pthread_mutex_t mutexMini = PTHREAD_MUTEX_INITIALIZER


Function Documentation

void handler int  signal  ) 
 

Signal handler for STRG-C.

Parameters:
signal value for the given signal

Definition at line 123 of file netmusic_sender.cpp.

Referenced by main().

int main int  argc,
char **  argv
 

main function

Parameters:
argc Number of given arguments.
argv[] Array of arguments.
Main function handles the thread operations, as well as the parameter settings.

Definition at line 481 of file netmusic_sender.cpp.

References Netmusic::check_error(), handler(), midi_function(), midiPort, midiThread, mini, mini_off_function(), mini_on_function(), miniOffThread, miniOnThread, miniPort, npfd, pfd, receiverIp, remoteReceiverAddrMini, sdMini, Netmusic::sender_check_args(), Netmusic::sender_open_seq(), Netmusic::sender_print_param(), Netmusic::sender_print_welcome_msg(), senderSeqHandler, startKey, sync_function(), syncPort, syncThread, and threshold.

Here is the call graph for this function:

void* midi_function void *  ptr  ) 
 

Definition at line 140 of file netmusic_sender.cpp.

References Netmusic::check_error(), midiPort, mini, miniOffQueue, miniOnQueue, mutexOff, mutexOn, npfd, pfd, Netmusic::print_read_data(), receiverIp, and senderSeqHandler.

Referenced by main().

Here is the call graph for this function:

void* mini_off_function void *  ptr  ) 
 

Definition at line 338 of file netmusic_sender.cpp.

References Netmusic::check_error(), DELIMITER, Mini::get_size_mem_mpz(), Mini::ksub_rank(), miniOffQueue, Mini::mpz_2_bin(), mutexMini, mutexOff, Mini::print_array(), Mini::print_mem(), remoteReceiverAddrMini, sdMini, Mini::sort_array(), startKey, and threshold.

Referenced by main().

Here is the call graph for this function:

void* mini_on_function void *  ptr  ) 
 

Definition at line 246 of file netmusic_sender.cpp.

References Netmusic::check_error(), DELIMITER, Mini::get_size_mem_mpz(), Mini::ksub_rank(), miniOnQueue, Mini::mpz_2_bin(), mutexMini, mutexOn, Mini::print_array(), Mini::print_mem(), remoteReceiverAddrMini, sdMini, Mini::sort_array(), startKey, and threshold.

Referenced by main().

Here is the call graph for this function:

void* sync_function void *  ptr  ) 
 

Definition at line 426 of file netmusic_sender.cpp.

References Netmusic::check_error(), DELIMITER, midiPort, mini, miniPort, receiverIp, startKey, and syncPort.

Referenced by main().

Here is the call graph for this function:


Variable Documentation

int midiPort = 29999
 

Parameter midi port (default 3001)

Definition at line 83 of file netmusic_sender.cpp.

Referenced by main(), midi_function(), and sync_function().

pthread_t midiThread
 

Used threads: MiniOn, MiniOff, Midi, Sync

Definition at line 103 of file netmusic_sender.cpp.

Referenced by main().

int mini = 1
 

Parameter mini (default 1)

Definition at line 75 of file netmusic_sender.cpp.

Referenced by main(), midi_function(), and sync_function().

queue<int> miniOffQueue
 

The Mini Off queue holding Midi Off note values

Definition at line 71 of file netmusic_sender.cpp.

Referenced by midi_function(), and mini_off_function().

pthread_t miniOffThread
 

Used threads: MiniOn, MiniOff, Midi, Sync

Definition at line 103 of file netmusic_sender.cpp.

Referenced by main().

queue<int> miniOnQueue
 

The Mini On queue holding Midi On note values

Definition at line 67 of file netmusic_sender.cpp.

Referenced by midi_function(), and mini_on_function().

pthread_t miniOnThread
 

Used threads: MiniOn, MiniOff, Midi, Sync

Definition at line 103 of file netmusic_sender.cpp.

Referenced by main().

int miniPort = 30000
 

Parameter mini port (default 3002)

Definition at line 87 of file netmusic_sender.cpp.

Referenced by main(), mini_function(), and sync_function().

pthread_mutex_t mutexMini = PTHREAD_MUTEX_INITIALIZER
 

Mutex variable to lock the socket for Mini com

Definition at line 115 of file netmusic_sender.cpp.

Referenced by mini_off_function(), and mini_on_function().

pthread_mutex_t mutexOff = PTHREAD_MUTEX_INITIALIZER
 

Mutex variable to lock the miniOffQueue

Definition at line 111 of file netmusic_sender.cpp.

Referenced by midi_function(), and mini_off_function().

pthread_mutex_t mutexOn = PTHREAD_MUTEX_INITIALIZER
 

Mutex variable to lock the miniOnQueue

Definition at line 107 of file netmusic_sender.cpp.

Referenced by midi_function(), and mini_on_function().

int npfd
 

Max connections for poll function

Definition at line 51 of file netmusic_sender.cpp.

Referenced by main(), and midi_function().

struct pollfd* pfd
 

Structure for poll descriptor

Definition at line 55 of file netmusic_sender.cpp.

Referenced by main(), and midi_function().

char* receiverIp = new char[15]
 

The IP address of the receiving computer

Definition at line 95 of file netmusic_sender.cpp.

Referenced by main(), midi_function(), and sync_function().

struct sockaddr_in remoteReceiverAddrMini
 

The remote Machine Socketaddress.

Definition at line 63 of file netmusic_sender.cpp.

Referenced by main(), mini_off_function(), and mini_on_function().

int sdMini
 

Socket descriptor for Mini connections

Definition at line 59 of file netmusic_sender.cpp.

Referenced by main(), mini_off_function(), and mini_on_function().

snd_seq_t* senderSeqHandler = NULL
 

ALSA Sound Sequencer handler

Definition at line 47 of file netmusic_sender.cpp.

Referenced by main(), and midi_function().

int startKey = 36
 

Parameter start key (default 48)

Definition at line 91 of file netmusic_sender.cpp.

Referenced by main(), mini_function(), mini_off_function(), mini_on_function(), and sync_function().

int syncPort = 29998
 

Parameter synchronization port (default 3000)

Definition at line 79 of file netmusic_sender.cpp.

Referenced by main(), and sync_function().

pthread_t syncThread
 

Used threads: MiniOn, MiniOff, Midi, Sync

Definition at line 103 of file netmusic_sender.cpp.

Referenced by main().

int threshold = 200
 

Time interval in which the mini on and mini off queue get emptied.

Definition at line 99 of file netmusic_sender.cpp.

Referenced by main(), mini_off_function(), and mini_on_function().


Generated on Mon Jun 13 22:06:59 2005 for Netmusic by  doxygen 1.4.3