mirror of
https://github.com/Tha14/toxic.git
synced 2024-11-13 02:23:01 +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 += 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_CFLAGS = -D_AUDIO
|
||||
AUDIO_OBJ = device.o audio_call.o
|
||||
AV_LOADED = 0
|
||||
AUDIO_OBJ = audio_call.o
|
||||
|
||||
# Variables for sound notify support
|
||||
SND_NOTIFY_LIBS = openal freealut
|
||||
SND_NOTIFY_CFLAGS = -D_SOUND_NOTIFY
|
||||
SND_NOTIFY_OBJ =
|
||||
|
||||
# Check on wich system we are running
|
||||
UNAME_S = $(shell uname -s)
|
||||
@ -81,7 +79,7 @@ ifneq ($(CHECK_AUDIO_LIBS), error)
|
||||
LIBS += $(AUDIO_LIBS)
|
||||
CFLAGS += $(AUDIO_CFLAGS)
|
||||
OBJ += $(AUDIO_OBJ)
|
||||
AV_LOADED = 1
|
||||
NEED_AV = 1
|
||||
else
|
||||
ifneq ($(MAKECMDGOALS), clean)
|
||||
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)
|
||||
LIBS += $(SND_NOTIFY_LIBS)
|
||||
CFLAGS += $(SND_NOTIFY_CFLAGS)
|
||||
|
||||
# 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)
|
||||
NEED_AV = 1
|
||||
|
||||
else
|
||||
ifneq ($(MAKECMDGOALS), clean)
|
||||
@ -115,6 +108,11 @@ 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_LIBS = $(shell pkg-config $(LIBS) || echo -n "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)
|
||||
client.
|
||||
.SH SYNTAX
|
||||
.IB <KEY> : <VALUE> ;
|
||||
.I <SECTION>
|
||||
.B = {
|
||||
.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
|
||||
Keys:
|
||||
.PP
|
||||
.B time
|
||||
.RS
|
||||
Select between 24 and 12 hour time.
|
||||
.br
|
||||
Values: 24, 12
|
||||
.RE
|
||||
.PP
|
||||
.B timestamps
|
||||
.RS
|
||||
Enable or disable timestamps.
|
||||
.br
|
||||
Values: 1 to enable, 0 to disable
|
||||
.RE
|
||||
.PP
|
||||
.B autolog
|
||||
.RS
|
||||
Enable or disable autologging.
|
||||
.br
|
||||
Values: 1 to enable, 0 to disable
|
||||
Values: 'true' to enable, 'false' to disable
|
||||
.RE
|
||||
.PP
|
||||
.B alerts
|
||||
.RS
|
||||
Enable or disable terminal alerts on events.
|
||||
.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
|
||||
.PP
|
||||
.B history_size
|
||||
@ -48,54 +72,209 @@ Maximum lines for chat window history.
|
||||
.br
|
||||
Values: <INTEGER> (for example: 700)
|
||||
.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
|
||||
.PP
|
||||
.B audio_in_dev
|
||||
.B audio
|
||||
.RS
|
||||
Configurations related to audio devices.
|
||||
.PP
|
||||
Keys:
|
||||
.br
|
||||
.B input_device
|
||||
.RS
|
||||
Audio input device.
|
||||
.br
|
||||
Values: <INTEGER> (number correspond to "/lsdev in")
|
||||
.RE
|
||||
.PP
|
||||
.B audio_out_dev
|
||||
.B output_device
|
||||
.RS
|
||||
Audio output device.
|
||||
.br
|
||||
Values: <INTEGER> (number correspond to "/lsdev out")
|
||||
.RE
|
||||
.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
|
||||
.RS
|
||||
Default path for downloads.
|
||||
.br
|
||||
Values: <STRING> (absolute path where to store downloaded files)
|
||||
.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
|
||||
Default settings from __DATADIR__/toxic.conf.exmaple:
|
||||
.PP
|
||||
time:24;
|
||||
// SAMPLE TOXIC CONFIGURATION
|
||||
.br
|
||||
timestamps:1;
|
||||
// USES LIBCONFIG-ACCEPTED SYNTAX
|
||||
.br
|
||||
autolog:0;
|
||||
ui = {
|
||||
.br
|
||||
alerts:1;
|
||||
// true to enable timestamps, false to disable
|
||||
.br
|
||||
history_size:700;
|
||||
timestamps:true;
|
||||
.br
|
||||
colour_theme:0;
|
||||
.br
|
||||
audio_in_dev:0;
|
||||
// true to enable terminal alerts on messages, false to disable
|
||||
.br
|
||||
audio_out_dev:0;
|
||||
alerts:true;
|
||||
.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
|
||||
.IP ~/.config/tox/toxic.conf
|
||||
Main configuration file.
|
||||
|
13
src/notify.c
13
src/notify.c
@ -191,6 +191,7 @@ int play_source(uint32_t source, uint32_t buffer, _Bool looping)
|
||||
int init_notify(int login_cooldown)
|
||||
{
|
||||
#ifdef _SOUND_NOTIFY
|
||||
alutInitWithoutContext(NULL, NULL);
|
||||
if (open_primary_device(output, &Control.device_idx, 48000, 20) != de_None)
|
||||
return -1;
|
||||
|
||||
@ -226,6 +227,7 @@ void terminate_notify()
|
||||
|
||||
graceful_clear();
|
||||
close_device(output, Control.device_idx);
|
||||
alutExit();
|
||||
#endif /* _SOUND_NOTIFY */
|
||||
}
|
||||
|
||||
@ -241,21 +243,14 @@ void set_sound(Notification sound, const char* value)
|
||||
|
||||
int play_sound_internal(Notification what, _Bool loop)
|
||||
{
|
||||
char* data;
|
||||
int format;
|
||||
int clockrate;
|
||||
int buffer_size;
|
||||
char loop_;
|
||||
uint32_t source;
|
||||
uint32_t buffer;
|
||||
|
||||
alutLoadWAVFile((signed char*)Control.sounds[what], &format, (void**)&data, &buffer_size, &clockrate, &loop_);
|
||||
alGenSources(1, &source);
|
||||
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_LOOPING, loop);
|
||||
alutUnloadWAV(format, data, buffer_size, clockrate);
|
||||
|
||||
int rc = play_source(source, buffer, loop);
|
||||
if (rc < 0) {
|
||||
@ -333,4 +328,4 @@ int notify(ToxWindow* self, Notification notif, uint64_t flags)
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user