mirror of
https://github.com/Tha14/toxic.git
synced 2024-11-23 05:43:03 +01:00
Merge pull request #193 from Ansa89/makefile-fix
Makefile: little refactoring
This commit is contained in:
commit
50fca4cddf
@ -29,16 +29,14 @@ OBJ = chat.o chat_commands.o configdir.o dns.o execute.o file_senders.o notify.o
|
|||||||
OBJ += friendlist.o global_commands.o groupchat.o line_info.o input.o help.o autocomplete.o
|
OBJ += friendlist.o global_commands.o groupchat.o line_info.o input.o help.o autocomplete.o
|
||||||
OBJ += log.o misc_tools.o prompt.o settings.o toxic.o toxic_strings.o windows.o
|
OBJ += log.o misc_tools.o prompt.o settings.o toxic.o toxic_strings.o windows.o
|
||||||
|
|
||||||
# Variables for audio support
|
# Variables for audio call support
|
||||||
AUDIO_LIBS = libtoxav openal
|
AUDIO_LIBS = libtoxav openal
|
||||||
AUDIO_CFLAGS = -D_AUDIO
|
AUDIO_CFLAGS = -D_AUDIO
|
||||||
AUDIO_OBJ = device.o audio_call.o
|
AUDIO_OBJ = audio_call.o
|
||||||
AV_LOADED = 0
|
|
||||||
|
|
||||||
# Variables for sound notify support
|
# Variables for sound notify support
|
||||||
SND_NOTIFY_LIBS = openal freealut
|
SND_NOTIFY_LIBS = openal freealut
|
||||||
SND_NOTIFY_CFLAGS = -D_SOUND_NOTIFY
|
SND_NOTIFY_CFLAGS = -D_SOUND_NOTIFY
|
||||||
SND_NOTIFY_OBJ =
|
|
||||||
|
|
||||||
# Check on wich system we are running
|
# Check on wich system we are running
|
||||||
UNAME_S = $(shell uname -s)
|
UNAME_S = $(shell uname -s)
|
||||||
@ -81,7 +79,7 @@ ifneq ($(CHECK_AUDIO_LIBS), error)
|
|||||||
LIBS += $(AUDIO_LIBS)
|
LIBS += $(AUDIO_LIBS)
|
||||||
CFLAGS += $(AUDIO_CFLAGS)
|
CFLAGS += $(AUDIO_CFLAGS)
|
||||||
OBJ += $(AUDIO_OBJ)
|
OBJ += $(AUDIO_OBJ)
|
||||||
AV_LOADED = 1
|
NEED_AV = 1
|
||||||
else
|
else
|
||||||
ifneq ($(MAKECMDGOALS), clean)
|
ifneq ($(MAKECMDGOALS), clean)
|
||||||
MISSING_AUDIO_LIBS = $(shell for lib in $(AUDIO_LIBS) ; do if ! pkg-config $$lib ; then echo $$lib ; fi ; done)
|
MISSING_AUDIO_LIBS = $(shell for lib in $(AUDIO_LIBS) ; do if ! pkg-config $$lib ; then echo $$lib ; fi ; done)
|
||||||
@ -98,12 +96,7 @@ CHECK_NOTIFY_LIBS = $(shell pkg-config $(SND_NOTIFY_LIBS) || echo -n "error")
|
|||||||
ifneq ($(CHECK_NOTIFY_LIBS), error)
|
ifneq ($(CHECK_NOTIFY_LIBS), error)
|
||||||
LIBS += $(SND_NOTIFY_LIBS)
|
LIBS += $(SND_NOTIFY_LIBS)
|
||||||
CFLAGS += $(SND_NOTIFY_CFLAGS)
|
CFLAGS += $(SND_NOTIFY_CFLAGS)
|
||||||
|
NEED_AV = 1
|
||||||
# device.o is needed for both audio calls and notifications but should only be loaded once
|
|
||||||
ifneq ($(AV_LOADED), 1)
|
|
||||||
SND_NOTIFY_OBJ += device.o
|
|
||||||
endif
|
|
||||||
OBJ += $(SND_NOTIFY_OBJ)
|
|
||||||
|
|
||||||
else
|
else
|
||||||
ifneq ($(MAKECMDGOALS), clean)
|
ifneq ($(MAKECMDGOALS), clean)
|
||||||
@ -115,6 +108,11 @@ endif
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# device.o is needed for both audio calls and notifications but should only be loaded once
|
||||||
|
ifeq ($(NEED_AV), 1)
|
||||||
|
OBJ += device.o
|
||||||
|
endif
|
||||||
|
|
||||||
# Check if we can build Toxic
|
# Check if we can build Toxic
|
||||||
CHECK_LIBS = $(shell pkg-config $(LIBS) || echo -n "error")
|
CHECK_LIBS = $(shell pkg-config $(LIBS) || echo -n "error")
|
||||||
ifneq ($(CHECK_LIBS), error)
|
ifneq ($(CHECK_LIBS), error)
|
||||||
|
249
doc/toxic.conf.5
249
doc/toxic.conf.5
@ -8,38 +8,62 @@ file is the main configuration file for
|
|||||||
.BR toxic (1)
|
.BR toxic (1)
|
||||||
client.
|
client.
|
||||||
.SH SYNTAX
|
.SH SYNTAX
|
||||||
.IB <KEY> : <VALUE> ;
|
.I <SECTION>
|
||||||
|
.B = {
|
||||||
.PP
|
.PP
|
||||||
Lines starting with "#" are comments and will be ignored.
|
.IB <KEY1> : <BOOL_VALUE> ;
|
||||||
|
.br
|
||||||
|
.IB <KEY2> = <NOT_BOOL_VALUE> ;
|
||||||
|
.br
|
||||||
|
...
|
||||||
|
.PP
|
||||||
|
.B };
|
||||||
|
.PP
|
||||||
|
Uses syntax accepted by libconfig.
|
||||||
|
.br
|
||||||
|
Lines starting with "//" are comments and will be ignored.
|
||||||
|
.PP
|
||||||
|
Sections:
|
||||||
|
.PP
|
||||||
|
.B ui
|
||||||
|
.RS
|
||||||
|
Configurations related to user interface.
|
||||||
.PP
|
.PP
|
||||||
Keys:
|
Keys:
|
||||||
.PP
|
|
||||||
.B time
|
|
||||||
.RS
|
|
||||||
Select between 24 and 12 hour time.
|
|
||||||
.br
|
.br
|
||||||
Values: 24, 12
|
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
.B timestamps
|
.B timestamps
|
||||||
.RS
|
.RS
|
||||||
Enable or disable timestamps.
|
Enable or disable timestamps.
|
||||||
.br
|
.br
|
||||||
Values: 1 to enable, 0 to disable
|
Values: 'true' to enable, 'false' to disable
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
.B autolog
|
|
||||||
.RS
|
|
||||||
Enable or disable autologging.
|
|
||||||
.br
|
|
||||||
Values: 1 to enable, 0 to disable
|
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
.B alerts
|
.B alerts
|
||||||
.RS
|
.RS
|
||||||
Enable or disable terminal alerts on events.
|
Enable or disable terminal alerts on events.
|
||||||
.br
|
.br
|
||||||
Values: 1 to enable, 0 to disable
|
Values: 'true' to enable, 'false' to disable
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
.B native_colors
|
||||||
|
.RS
|
||||||
|
Select between native terminal colors and toxic color theme.
|
||||||
|
.br
|
||||||
|
Values: 'true' for terminal colours, 'false' for toxic colours
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
.B autolog
|
||||||
|
.RS
|
||||||
|
Enable or disable autologging.
|
||||||
|
.br
|
||||||
|
Values: 'true' to enable, 'false' to disable
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
.B time_format
|
||||||
|
.RS
|
||||||
|
Select between 24 and 12 hour time.
|
||||||
|
.br
|
||||||
|
Values: 24, 12
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
.B history_size
|
.B history_size
|
||||||
@ -48,54 +72,209 @@ Maximum lines for chat window history.
|
|||||||
.br
|
.br
|
||||||
Values: <INTEGER> (for example: 700)
|
Values: <INTEGER> (for example: 700)
|
||||||
.RE
|
.RE
|
||||||
.PP
|
|
||||||
.B colour_theme
|
|
||||||
.RS
|
|
||||||
Select between toxic colour theme and native terminal colours.
|
|
||||||
.br
|
|
||||||
Values: 0 for toxic colours, 1 for terminal colours
|
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
.B audio_in_dev
|
.B audio
|
||||||
|
.RS
|
||||||
|
Configurations related to audio devices.
|
||||||
|
.PP
|
||||||
|
Keys:
|
||||||
|
.br
|
||||||
|
.B input_device
|
||||||
.RS
|
.RS
|
||||||
Audio input device.
|
Audio input device.
|
||||||
.br
|
.br
|
||||||
Values: <INTEGER> (number correspond to "/lsdev in")
|
Values: <INTEGER> (number correspond to "/lsdev in")
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
.B audio_out_dev
|
.B output_device
|
||||||
.RS
|
.RS
|
||||||
Audio output device.
|
Audio output device.
|
||||||
.br
|
.br
|
||||||
Values: <INTEGER> (number correspond to "/lsdev out")
|
Values: <INTEGER> (number correspond to "/lsdev out")
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
|
.B VAD_treshold
|
||||||
|
.RS
|
||||||
|
Voice Activity Detection treshold.
|
||||||
|
.br
|
||||||
|
Values: <FLOAT> (recommended values are around 40.0)
|
||||||
|
.RE
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
.B tox
|
||||||
|
.RS
|
||||||
|
Configurations related to file transfer.
|
||||||
|
.PP
|
||||||
|
Keys:
|
||||||
|
.br
|
||||||
.B download_path
|
.B download_path
|
||||||
.RS
|
.RS
|
||||||
Default path for downloads.
|
Default path for downloads.
|
||||||
.br
|
.br
|
||||||
Values: <STRING> (absolute path where to store downloaded files)
|
Values: <STRING> (absolute path where to store downloaded files)
|
||||||
.RE
|
.RE
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
.B sounds
|
||||||
|
.RS
|
||||||
|
Configurations related to notification sounds.
|
||||||
|
.PP
|
||||||
|
Keys:
|
||||||
|
.br
|
||||||
|
.B error
|
||||||
|
.RS
|
||||||
|
Sound to play when an error occurs.
|
||||||
|
.br
|
||||||
|
Values: <STRING> (sound file absolute path)
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
.B self_log_in
|
||||||
|
.RS
|
||||||
|
Sound to play when you log in.
|
||||||
|
.br
|
||||||
|
Values: <STRING> (sound file absolute path)
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
.B self_log_out
|
||||||
|
.RS
|
||||||
|
Sound to play when you log out.
|
||||||
|
.br
|
||||||
|
Values: <STRING> (sound file absolute path)
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
.B user_log_in
|
||||||
|
.RS
|
||||||
|
Sound to play when a contact become online.
|
||||||
|
.br
|
||||||
|
Values: <STRING> (sound file absolute path)
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
.B user_log_out
|
||||||
|
.RS
|
||||||
|
Sound to play when a contact become offline.
|
||||||
|
.br
|
||||||
|
Values: <STRING> (sound file absolute path)
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
.B call_incoming
|
||||||
|
.RS
|
||||||
|
Sound to play when you receive an incoming call.
|
||||||
|
.br
|
||||||
|
Values: <STRING> (sound file absolute path)
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
.B call_outgoing
|
||||||
|
.RS
|
||||||
|
Sound to play when you start a call.
|
||||||
|
.br
|
||||||
|
Values: <STRING> (sound file absolute path)
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
.B generic_message
|
||||||
|
.RS
|
||||||
|
Sound to play when an event occurs.
|
||||||
|
.br
|
||||||
|
Values: <STRING> (sound file absolute path)
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
.B transfer_pending
|
||||||
|
.RS
|
||||||
|
Sound to play when you receive a file transfer request.
|
||||||
|
.br
|
||||||
|
Values: <STRING> (sound file absolute path)
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
.B transfer_completed
|
||||||
|
.RS
|
||||||
|
Sound to play when a file transfer is completed.
|
||||||
|
.br
|
||||||
|
Values: <STRING> (sound file absolute path)
|
||||||
|
.RE
|
||||||
|
.RE
|
||||||
.SH EXAMPLES
|
.SH EXAMPLES
|
||||||
Default settings from __DATADIR__/toxic.conf.exmaple:
|
Default settings from __DATADIR__/toxic.conf.exmaple:
|
||||||
.PP
|
.PP
|
||||||
time:24;
|
// SAMPLE TOXIC CONFIGURATION
|
||||||
.br
|
.br
|
||||||
timestamps:1;
|
// USES LIBCONFIG-ACCEPTED SYNTAX
|
||||||
.br
|
.br
|
||||||
autolog:0;
|
ui = {
|
||||||
.br
|
.br
|
||||||
alerts:1;
|
// true to enable timestamps, false to disable
|
||||||
.br
|
.br
|
||||||
history_size:700;
|
timestamps:true;
|
||||||
.br
|
.br
|
||||||
colour_theme:0;
|
|
||||||
.br
|
.br
|
||||||
audio_in_dev:0;
|
// true to enable terminal alerts on messages, false to disable
|
||||||
.br
|
.br
|
||||||
audio_out_dev:0;
|
alerts:true;
|
||||||
.br
|
.br
|
||||||
download_path:/home/USERNAME/Downloads/;
|
// true to use native terminal colours, false to use toxic default colour theme
|
||||||
|
.br
|
||||||
|
native_colors:false;
|
||||||
|
.br
|
||||||
|
// true to enable autologging, false to disable
|
||||||
|
.br
|
||||||
|
autolog:false;
|
||||||
|
.br
|
||||||
|
// 24 or 12 hour time
|
||||||
|
.br
|
||||||
|
time_format=24;
|
||||||
|
.br
|
||||||
|
// maximum lines for chat window history
|
||||||
|
.br
|
||||||
|
history_size=700;
|
||||||
|
.br
|
||||||
|
};
|
||||||
|
.br
|
||||||
|
audio = {
|
||||||
|
.br
|
||||||
|
// preferred audio input device; numbers correspond to /lsdev in
|
||||||
|
.br
|
||||||
|
input_device=2;
|
||||||
|
.br
|
||||||
|
// preferred audio output device; numbers correspond to /lsdev out
|
||||||
|
.br
|
||||||
|
output_device=0;
|
||||||
|
.br
|
||||||
|
// default VAD treshold; float (recommended values are around 40)
|
||||||
|
.br
|
||||||
|
VAD_treshold=40.0;
|
||||||
|
.br
|
||||||
|
};
|
||||||
|
.br
|
||||||
|
tox = {
|
||||||
|
.br
|
||||||
|
// where to store received files
|
||||||
|
.br
|
||||||
|
// download_path="/home/USERNAME/Downloads/";
|
||||||
|
.br
|
||||||
|
};
|
||||||
|
.br
|
||||||
|
sounds = {
|
||||||
|
.br
|
||||||
|
error="__DATADIR__/sounds/Error.wav";
|
||||||
|
.br
|
||||||
|
self_log_in="__DATADIR__/sounds/LogIn.wav";
|
||||||
|
.br
|
||||||
|
self_log_out="__DATADIR__/sounds/LogOut.wav";
|
||||||
|
.br
|
||||||
|
user_log_in="__DATADIR__/sounds/ContactLogsIn.wav";
|
||||||
|
.br
|
||||||
|
user_log_out="__DATADIR__/sounds/ContactLogsOut.wav";
|
||||||
|
.br
|
||||||
|
call_incoming="__DATADIR__/sounds/IncomingCall.wav";
|
||||||
|
.br
|
||||||
|
call_outgoing="__DATADIR__/sounds/OutgoingCall.wav";
|
||||||
|
.br
|
||||||
|
generic_message="__DATADIR__/sounds/NewMessage.wav";
|
||||||
|
.br
|
||||||
|
transfer_pending="__DATADIR__/sounds/TransferPending.wav";
|
||||||
|
.br
|
||||||
|
transfer_completed="__DATADIR__/sounds/TransferComplete.wav";
|
||||||
|
.br
|
||||||
|
};
|
||||||
.SH FILES
|
.SH FILES
|
||||||
.IP ~/.config/tox/toxic.conf
|
.IP ~/.config/tox/toxic.conf
|
||||||
Main configuration file.
|
Main configuration file.
|
||||||
|
11
src/notify.c
11
src/notify.c
@ -191,6 +191,7 @@ int play_source(uint32_t source, uint32_t buffer, _Bool looping)
|
|||||||
int init_notify(int login_cooldown)
|
int init_notify(int login_cooldown)
|
||||||
{
|
{
|
||||||
#ifdef _SOUND_NOTIFY
|
#ifdef _SOUND_NOTIFY
|
||||||
|
alutInitWithoutContext(NULL, NULL);
|
||||||
if (open_primary_device(output, &Control.device_idx, 48000, 20) != de_None)
|
if (open_primary_device(output, &Control.device_idx, 48000, 20) != de_None)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
@ -226,6 +227,7 @@ void terminate_notify()
|
|||||||
|
|
||||||
graceful_clear();
|
graceful_clear();
|
||||||
close_device(output, Control.device_idx);
|
close_device(output, Control.device_idx);
|
||||||
|
alutExit();
|
||||||
#endif /* _SOUND_NOTIFY */
|
#endif /* _SOUND_NOTIFY */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -241,21 +243,14 @@ void set_sound(Notification sound, const char* value)
|
|||||||
|
|
||||||
int play_sound_internal(Notification what, _Bool loop)
|
int play_sound_internal(Notification what, _Bool loop)
|
||||||
{
|
{
|
||||||
char* data;
|
|
||||||
int format;
|
|
||||||
int clockrate;
|
|
||||||
int buffer_size;
|
|
||||||
char loop_;
|
|
||||||
uint32_t source;
|
uint32_t source;
|
||||||
uint32_t buffer;
|
uint32_t buffer;
|
||||||
|
|
||||||
alutLoadWAVFile((signed char*)Control.sounds[what], &format, (void**)&data, &buffer_size, &clockrate, &loop_);
|
|
||||||
alGenSources(1, &source);
|
alGenSources(1, &source);
|
||||||
alGenBuffers(1, &buffer);
|
alGenBuffers(1, &buffer);
|
||||||
alBufferData(buffer, format, data, buffer_size, clockrate);
|
buffer = alutCreateBufferFromFile((const char*)Control.sounds[what]);
|
||||||
alSourcei(source, AL_BUFFER, buffer);
|
alSourcei(source, AL_BUFFER, buffer);
|
||||||
alSourcei(source, AL_LOOPING, loop);
|
alSourcei(source, AL_LOOPING, loop);
|
||||||
alutUnloadWAV(format, data, buffer_size, clockrate);
|
|
||||||
|
|
||||||
int rc = play_source(source, buffer, loop);
|
int rc = play_source(source, buffer, loop);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user