diff --git a/libobs/obs-nix.c b/libobs/obs-nix.c index 7bb0cb9cb..f12af8bcc 100644 --- a/libobs/obs-nix.c +++ b/libobs/obs-nix.c @@ -22,7 +22,8 @@ #include "util/dstr.h" #include "obs.h" -static inline bool check_path(const char* data, const char *path, struct dstr * output) +static inline bool check_path(const char* data, const char *path, + struct dstr * output) { dstr_copy(output, path); dstr_cat(output, data); @@ -32,7 +33,8 @@ static inline bool check_path(const char* data, const char *path, struct dstr * return access(output->array, R_OK) == 0; } -static inline bool check_lib_path(const char* data, const char *path, struct dstr *output) +static inline bool check_lib_path(const char* data, const char *path, + struct dstr *output) { bool result = false; struct dstr tmp; @@ -59,7 +61,8 @@ char *find_plugin(const char *plugin) if (check_lib_path(plugin, "obs-plugins/", &output)) return output.array; - if (check_lib_path(plugin, OBS_INSTALL_PREFIX "lib/obs-plugins", &output)) + if (check_lib_path(plugin, OBS_INSTALL_PREFIX "lib/obs-plugins", + &output)) return output.array; dstr_free(&output); @@ -78,7 +81,8 @@ char *find_libobs_data_file(const char *file) if (check_path(file, OBS_DATA_PATH "/libobs/", &output)) return output.array; - if (check_path(file, OBS_INSTALL_PREFIX OBS_DATA_PATH "/libobs/", &output)) + if (check_path(file, OBS_INSTALL_PREFIX OBS_DATA_PATH "/libobs/", + &output)) return output.array; dstr_free(&output); @@ -97,7 +101,8 @@ char *obs_find_plugin_file(const char *file) if (check_path(file, OBS_DATA_PATH "/obs-plugins/", &output)) return output.array; - if (check_path(file, OBS_INSTALL_PREFIX OBS_DATA_PATH "/obs-plugins/", &output)) + if (check_path(file, OBS_INSTALL_PREFIX OBS_DATA_PATH "/obs-plugins/", + &output)) return output.array; dstr_free(&output); diff --git a/obs/platform-windows.cpp b/obs/platform-windows.cpp index 6738535dd..0ce0238d1 100644 --- a/obs/platform-windows.cpp +++ b/obs/platform-windows.cpp @@ -27,7 +27,7 @@ using namespace std; bool GetDataFilePath(const char *data, string &output) { stringstream str; - str << OBS_DATA_PATH "/obs-studio/" << data; + str << OBS_DATA_PATH "/obs-studio/" << data; output = str.str(); return os_file_exists(output.c_str()); } @@ -55,4 +55,3 @@ bool InitApplicationBundle() { return true; } - diff --git a/obs/platform-x11.cpp b/obs/platform-x11.cpp index 1166fb6c9..c86299907 100644 --- a/obs/platform-x11.cpp +++ b/obs/platform-x11.cpp @@ -15,9 +15,11 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . ******************************************************************************/ + /* Here we use xinerama to fetch data about monitor geometry * Even if there are not multiple monitors, this should still work. */ + #include #include #include @@ -26,17 +28,20 @@ #include "platform.hpp" using namespace std; -static inline bool check_path(const char* data, const char *path, string &output) +static inline bool check_path(const char* data, const char *path, + string &output) { ostringstream str; str << path << data; output = str.str(); - + printf("Attempted path: %s\n", output.c_str()); - + return (access(output.c_str(), R_OK) == 0); } +#define INSTALL_DATA_PATH OBS_INSTALL_PREFIX "/" OBS_DATA_PATH "/obs-studio/" + bool GetDataFilePath(const char *data, string &output) { char *data_path = getenv("OBS_DATA_PATH"); @@ -44,13 +49,12 @@ bool GetDataFilePath(const char *data, string &output) if (check_path(data, data_path, output)) return true; } - + if (check_path(data, OBS_DATA_PATH "/obs-studio/", output)) return true; - - if (check_path(data, OBS_INSTALL_PREFIX "/" OBS_DATA_PATH "/obs-studio/", output)) + if (check_path(data, INSTALL_DATA_PATH, output)) return true; - + return false; } @@ -60,26 +64,27 @@ void GetMonitors(vector &monitors) XineramaScreenInfo *screens; int event_code = 0, error_code = 0; Display* display = XOpenDisplay(NULL); - + if (!XineramaQueryExtension(display, &event_code, &error_code)) { - printf("Xinerama extension unavailable. We don't handle this yet.\n"); + printf("Xinerama extension unavailable. We don't handle this " + "yet.\n"); return; } - + /* Do I need to make a call to XineramaQueryVersion...? */ - + screens = XineramaQueryScreens(display, &num_screens); - + if (num_screens == 0 || !screens) { printf("Xinerama isn't active on this screen.\n"); return; } - + monitors.clear(); - + do { --num_screens; - + monitors.emplace_back( screens[num_screens].x_org, screens[num_screens].y_org, @@ -87,7 +92,7 @@ void GetMonitors(vector &monitors) screens[num_screens].height ); } while (num_screens > 0); - + XCloseDisplay(display); } @@ -95,4 +100,3 @@ bool InitApplicationBundle() { return true; } - diff --git a/vs/2013/obs-studio/obs-studio.vcxproj b/vs/2013/obs-studio/obs-studio.vcxproj index 7cff35445..ae7b076d8 100644 --- a/vs/2013/obs-studio/obs-studio.vcxproj +++ b/vs/2013/obs-studio/obs-studio.vcxproj @@ -341,15 +341,11 @@ <_ProjectFileVersion>12.0.21005.1 - - $(SolutionDir)$(Platform)\$(Configuration)\ - + $(SolutionDir)$(Platform)\$(Configuration)\ - - $(SolutionDir)$(Platform)\$(Configuration)\ - + $(SolutionDir)$(Platform)\$(Configuration)\