mirror of
https://github.com/Goldenkrew3000/OSSP_OpenSource.git
synced 2025-12-19 08:14:44 +10:00
General cleanup and license handling
This commit is contained in:
@@ -1,3 +1,10 @@
|
|||||||
|
/*
|
||||||
|
* OpenSubsonicPlayer
|
||||||
|
* Goldenkrew3000 2025
|
||||||
|
* License: GNU General Public License 3.0
|
||||||
|
* Info: Configuration Handler
|
||||||
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -95,6 +102,8 @@ int configHandler_Read(configHandler_config_t** configObj) {
|
|||||||
config_fsize = st.st_size;
|
config_fsize = st.st_size;
|
||||||
} else {
|
} else {
|
||||||
logger_log_error(__func__, "stat() failed (Config file does not exist).");
|
logger_log_error(__func__, "stat() failed (Config file does not exist).");
|
||||||
|
logger_log_error(__func__, "This is most likely because your config file does not exist.");
|
||||||
|
logger_log_error(__func__, "Config file should be located at ~/.config/ossp/config.json");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
/*
|
||||||
|
* OpenSubsonicPlayer
|
||||||
|
* Goldenkrew3000 2025
|
||||||
|
* License: GNU General Public License 3.0
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef _CONFIG_HANDLER_H
|
#ifndef _CONFIG_HANDLER_H
|
||||||
#define _CONFIG_HANDLER_H
|
#define _CONFIG_HANDLER_H
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* OpenSubSonicPlayer
|
* OpenSubSonicPlayer
|
||||||
* Goldenkrew3000 2025
|
* Goldenkrew3000 2025
|
||||||
* GPL-3.0
|
* License: GNU General Public License 3.0
|
||||||
* Discord Local RPC Handler
|
* Discord Local RPC Handler
|
||||||
* Note: This provides server auth creds (encoded) directly to Discord, could use Spotify's API instead??
|
* Note: This provides server auth creds (encoded) directly to Discord, could use Spotify's API instead??
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
/*
|
||||||
|
* OpenSubsonicPlayer
|
||||||
|
* Goldenkrew3000 2025
|
||||||
|
* License: GNU General Public License 3.0
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef _DISCORDRPC_H
|
#ifndef _DISCORDRPC_H
|
||||||
#define _DISCORDRPC_H
|
#define _DISCORDRPC_H
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,10 @@
|
|||||||
|
/*
|
||||||
|
* OpenSubsonicPlayer
|
||||||
|
* Goldenkrew3000 2025
|
||||||
|
* License: GNU General Public License 3.0
|
||||||
|
* Info: Debug / Prototype graphical interface
|
||||||
|
*/
|
||||||
|
|
||||||
#include "../external/imgui/imgui.h"
|
#include "../external/imgui/imgui.h"
|
||||||
#include "../external/imgui/backends/imgui_impl_sdl2.h"
|
#include "../external/imgui/backends/imgui_impl_sdl2.h"
|
||||||
#include "../external/imgui/backends/imgui_impl_opengl2.h"
|
#include "../external/imgui/backends/imgui_impl_opengl2.h"
|
||||||
|
|||||||
@@ -1,3 +1,8 @@
|
|||||||
|
/*
|
||||||
|
* OpenSubsonicPlayer
|
||||||
|
* Goldenkrew3000 2025
|
||||||
|
* License: GNU General Public License 3.0
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef _GUI_ENTRY_HPP
|
#ifndef _GUI_ENTRY_HPP
|
||||||
#define _GUI_ENTRY_HPP
|
#define _GUI_ENTRY_HPP
|
||||||
|
|||||||
@@ -1,9 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* OpenSubsonicPlayer
|
||||||
|
* Goldenkrew3000 2025
|
||||||
|
* License: GNU General Public License 3.0
|
||||||
|
* Info: OSSP Entry Point
|
||||||
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#include "gui/gui_entry.hpp"
|
#include "gui/gui_entry.hpp"
|
||||||
#include "libopensubsonic/logger.h"
|
|
||||||
#include "libopensubsonic/crypto.h"
|
#include "libopensubsonic/crypto.h"
|
||||||
#include "libopensubsonic/httpclient.h"
|
#include "libopensubsonic/httpclient.h"
|
||||||
#include "libopensubsonic/endpoint_ping.h"
|
#include "libopensubsonic/endpoint_ping.h"
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
|
/*
|
||||||
|
* OpenSubsonicPlayer
|
||||||
|
* Goldenkrew3000 2025
|
||||||
|
* License: GNU General Public License 3.0
|
||||||
|
* Info: Gstreamer Queue Handler
|
||||||
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
#include "playQueue.hpp"
|
#include "playQueue.hpp"
|
||||||
|
|
||||||
#include <iostream> // debug
|
|
||||||
|
|
||||||
// NOTE: Acronym is OpenSubsonicPlayerQueue
|
// NOTE: Acronym is OpenSubsonicPlayerQueue
|
||||||
|
|
||||||
std::deque<std::string> OSSPQ_Items;
|
std::deque<std::string> OSSPQ_Items;
|
||||||
|
|
||||||
int internal_OSSPQ_Init() {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
int internal_OSSPQ_AppendToEnd(char* id) {
|
int internal_OSSPQ_AppendToEnd(char* id) {
|
||||||
std::string cpp_id(id);
|
std::string cpp_id(id);
|
||||||
OSSPQ_Items.push_back(cpp_id);
|
OSSPQ_Items.push_back(cpp_id);
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
/*
|
||||||
|
* OpenSubsonicPlayer
|
||||||
|
* Goldenkrew3000 2025
|
||||||
|
* License: GNU General Public License 3.0
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef _PLAYQUEUE_H
|
#ifndef _PLAYQUEUE_H
|
||||||
#define _PLAYQUEUE_H
|
#define _PLAYQUEUE_H
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* OpenSubsonicPlayer
|
* OpenSubsonicPlayer
|
||||||
* Goldenkrew3000 2025
|
* Goldenkrew3000 2025
|
||||||
* License: AGPL-3.0
|
* License: GNU General Public License 3.0
|
||||||
|
* Info: Gstreamer Handler
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -37,16 +38,56 @@ static gboolean gst_bus_call(GstBus* bus, GstMessage* message, gpointer data) {
|
|||||||
gst_element_set_state(pipeline, GST_STATE_NULL);
|
gst_element_set_state(pipeline, GST_STATE_NULL);
|
||||||
isPlaying = false;
|
isPlaying = false;
|
||||||
break;
|
break;
|
||||||
case GST_MESSAGE_BUFFERING:
|
case GST_MESSAGE_BUFFERING: {
|
||||||
gint percent = 0;
|
gint percent = 0;
|
||||||
gst_message_parse_buffering(message, &percent);
|
gst_message_parse_buffering(message, &percent);
|
||||||
printf("Buffering (%d%%)...\n", (int)percent);
|
printf("Buffering (%d%%)...\n", (int)percent);
|
||||||
break;
|
break;
|
||||||
case GST_MESSAGE_ERROR:
|
}
|
||||||
printf("Error\n");
|
case GST_MESSAGE_ERROR: {
|
||||||
|
gchar* debug;
|
||||||
|
GError* error;
|
||||||
|
gst_message_parse_error(message, &error, &debug);
|
||||||
|
printf("Gstreamer Error: %s\n", error);
|
||||||
|
g_error_free(error);
|
||||||
|
g_free(debug);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case GST_MESSAGE_STATE_CHANGED:
|
||||||
|
printf("State changed\n");
|
||||||
|
break;
|
||||||
|
case GST_MESSAGE_NEW_CLOCK:
|
||||||
|
//
|
||||||
|
break;
|
||||||
|
case GST_MESSAGE_LATENCY:
|
||||||
|
//
|
||||||
|
break;
|
||||||
|
case GST_MESSAGE_STREAM_START:
|
||||||
|
//
|
||||||
|
break;
|
||||||
|
case GST_MESSAGE_ELEMENT:
|
||||||
|
//
|
||||||
|
break;
|
||||||
|
case GST_MESSAGE_ASYNC_DONE:
|
||||||
|
//
|
||||||
|
break;
|
||||||
|
case GST_MESSAGE_STREAM_STATUS:
|
||||||
|
//
|
||||||
|
break;
|
||||||
|
case GST_MESSAGE_STREAMS_SELECTED:
|
||||||
|
//
|
||||||
|
break;
|
||||||
|
case GST_MESSAGE_STREAM_COLLECTION:
|
||||||
|
//
|
||||||
|
break;
|
||||||
|
case GST_MESSAGE_DURATION_CHANGED:
|
||||||
|
//
|
||||||
|
break;
|
||||||
|
case GST_MESSAGE_TAG:
|
||||||
|
// Unused
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
printf("Unknown\n");
|
printf("Unknown Message. Type %ld\n", GST_MESSAGE_TYPE(message));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -205,7 +246,7 @@ int OSSPlayer_GstInit() {
|
|||||||
|
|
||||||
// Initialize equalizer
|
// Initialize equalizer
|
||||||
if (configObj->audio_equalizer_enable) {
|
if (configObj->audio_equalizer_enable) {
|
||||||
printf("Initializing equalizer...\n");
|
printf("Initializing %d equalizer bands...\n", configObj->audio_equalizer_graphCount);
|
||||||
|
|
||||||
// Dynamically append settings to the equalizer to match the config file
|
// Dynamically append settings to the equalizer to match the config file
|
||||||
for (int i = 0; i < configObj->audio_equalizer_graphCount; i++) {
|
for (int i = 0; i < configObj->audio_equalizer_graphCount; i++) {
|
||||||
@@ -247,9 +288,11 @@ int OSSPlayer_GstInit() {
|
|||||||
float freq = (float)configObj->audio_equalizer_graph[i].frequency;
|
float freq = (float)configObj->audio_equalizer_graph[i].frequency;
|
||||||
float semitone = (float)configObj->audio_pitch_cents / 100.0;
|
float semitone = (float)configObj->audio_pitch_cents / 100.0;
|
||||||
freq = OSSPlayer_PitchFollow(freq, semitone);
|
freq = OSSPlayer_PitchFollow(freq, semitone);
|
||||||
|
printf("EQ band %d - F: %.2f(Fp) / G: %.2f / Q: 4.36\n", i + 1, freq, gain);
|
||||||
g_object_set(equalizer, fl_name, freq, NULL);
|
g_object_set(equalizer, fl_name, freq, NULL);
|
||||||
g_object_set(equalizer, fr_name, freq, NULL);
|
g_object_set(equalizer, fr_name, freq, NULL);
|
||||||
} else {
|
} else {
|
||||||
|
printf("EQ band %d - F: %.2f / G: %.2f / Q: 4.36\n", i + 1, (float)configObj->audio_equalizer_graph[i].frequency, gain);
|
||||||
g_object_set(equalizer, fl_name, (float)configObj->audio_equalizer_graph[i].frequency, NULL);
|
g_object_set(equalizer, fl_name, (float)configObj->audio_equalizer_graph[i].frequency, NULL);
|
||||||
g_object_set(equalizer, fr_name, (float)configObj->audio_equalizer_graph[i].frequency, NULL);
|
g_object_set(equalizer, fr_name, (float)configObj->audio_equalizer_graph[i].frequency, NULL);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
/*
|
||||||
|
* OpenSubsonicPlayer
|
||||||
|
* Goldenkrew3000 2025
|
||||||
|
* License: GNU General Public License 3.0
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef _PLAYER_H
|
#ifndef _PLAYER_H
|
||||||
#define _PLAYER_H
|
#define _PLAYER_H
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user