Compare commits

...

5 Commits

Author SHA1 Message Date
f6437fcbe7 make static 2024-07-03 17:52:08 +01:00
fb54c4a492 fixes compiler error 'Incompatible pointer types' 2024-07-03 15:25:16 +01:00
8aeb793a41 fixes compiler error 'Forward declaration of enums' 2024-07-03 15:24:44 +01:00
b6b4b04a8a upd includes 2024-07-03 13:57:58 +01:00
b7fa15d87d log_warn an incorrect -D arg.
log_fatal possible exit points.
2024-07-03 12:58:34 +01:00
7 changed files with 519 additions and 633 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,6 @@
#ifndef __CDLL_H__
#define __CDLL_H__
#include <windows.h>
#include "VoicemeeterRemote.h"
long initialize_dll_interfaces(T_VBVMR_INTERFACE *iVMR);

View File

@ -3,7 +3,7 @@
void remove_name_in_path(char *szPath);
int replace_multiple_space_with_one(char *s, size_t len);
char *kind_as_string(char *s, enum kind kind, int n);
char *kind_as_string(char *s, int kind, int n);
char *version_as_string(char *, long v, int n);
#endif /* __UTIL_H__ */

View File

@ -6,6 +6,7 @@
enum kind
{
UNKNOWN = -1,
BASIC = 1,
BANANA,
POTATO,

View File

@ -1,5 +1,6 @@
#include <stdbool.h>
#include <stdio.h>
#include <windows.h>
#include "cdll.h"
#include "util.h"

View File

@ -70,9 +70,9 @@ int replace_multiple_space_with_one(char *s, size_t len)
* @param n maximum number of characters to be written to the buffer
* @return char* The kind of Voicemeeter as a string
*/
char *kind_as_string(char *s, enum kind kind, int n)
char *kind_as_string(char *s, int kind, int n)
{
char *kinds[] = {
static const char *kinds[] = {
"Basic",
"Banana",
"Potato",

View File

@ -2,6 +2,8 @@
#include <stdlib.h>
#include <stdbool.h>
#include <getopt.h>
#include <string.h>
#include <ctype.h>
#include "cdll.h"
#include "vmr.h"
#include "log.h"
@ -36,7 +38,7 @@ struct result
void help(void);
enum kind set_kind(char *kval);
int init_voicemeeter(T_VBVMR_INTERFACE *vmr, int kind);
int init_voicemeeter(T_VBVMR_INTERFACE *vmr, enum kind kind);
void interactive(T_VBVMR_INTERFACE *vmr);
void parse_input(T_VBVMR_INTERFACE *vmr, char *input, int len);
void parse_command(T_VBVMR_INTERFACE *vmr, char *command);
@ -46,11 +48,10 @@ bool vflag = false;
int main(int argc, char *argv[])
{
bool iflag = false;
bool mflag = false;
bool sflag = false;
bool iflag = false,
mflag = false,
sflag = false;
int opt;
char *kvalue = "";
int dvalue;
enum kind kind = BANANAX64;
@ -70,8 +71,12 @@ int main(int argc, char *argv[])
help();
exit(EXIT_SUCCESS);
case 'k':
kvalue = optarg;
kind = set_kind(kvalue);
kind = set_kind(optarg);
if (kind == UNKNOWN)
{
log_fatal("Unknown Voicemeeter kind '%s'", optarg);
exit(EXIT_FAILURE);
}
break;
case 'm':
mflag = true;
@ -90,7 +95,7 @@ int main(int argc, char *argv[])
}
else
{
log_error(
log_warn(
"-D arg out of range, expected value from 0 up to 5\n"
"Log level will default to LOG_WARN (3).\n");
}
@ -193,8 +198,7 @@ enum kind set_kind(char *kval)
}
else
{
log_error("Unknown Voicemeeter kind '%s'\n", kval);
exit(EXIT_FAILURE);
return UNKNOWN;
}
}
@ -206,18 +210,18 @@ enum kind set_kind(char *kval)
* @param kind
* @return int
*/
int init_voicemeeter(T_VBVMR_INTERFACE *vmr, int kind)
int init_voicemeeter(T_VBVMR_INTERFACE *vmr, enum kind kind)
{
int rep = initialize_dll_interfaces(vmr);
if (rep < 0)
{
if (rep == -100)
{
log_error("Voicemeeter is not installed");
log_fatal("Voicemeeter is not installed");
}
else
{
log_error("Error loading Voicemeeter dll with code %d\n", rep);
log_fatal("Error loading Voicemeeter dll with code %d\n", rep);
}
return rep;
}
@ -225,7 +229,7 @@ int init_voicemeeter(T_VBVMR_INTERFACE *vmr, int kind)
rep = login(vmr, kind);
if (rep != 0)
{
log_error("Error logging into Voicemeeter");
log_fatal("Error logging into Voicemeeter");
return rep;
}