diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 81e2d0a3..747d210c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,53 +1,52 @@ -# This is a basic workflow to help you get started with Actions - name: CI -# Controls when the action will run. Triggers the workflow on push or pull request -# events but only for the master branch on: push: - branches: [ master, dev ] + branches: [ master ] pull_request: - branches: [ master, dev ] + branches: [ master ] -# A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: build_linux: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: - submodules: 'true' + submodules: true - - name: Install deps - run: sudo apt-get install libsdl2-dev + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y libsdl2-dev libgtk-3-dev libgl1-mesa-dev - - name: Install Tundra - run: git clone --recursive https://github.com/deplinenoise/tundra.git && cd tundra && make -j4 && sudo make install && cd .. + - name: Configure + run: cmake -B build -S . -DCMAKE_BUILD_TYPE=Release - - name: Build Code - run: | - tundra2 --verbose linux-gcc-release + - name: Build + run: cmake --build build --parallel -# Build macOS - build_macOS: - runs-on: macOS-latest + build_macos: + runs-on: macos-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: - submodules: 'true' - - name: Build Code - run: | - bin/macos/tundra2 --verbose macosx-clang-release + submodules: true + + - name: Configure + run: cmake -B build -S . -DCMAKE_BUILD_TYPE=Release + + - name: Build + run: cmake --build build --parallel -# Build Windows build_windows: - runs-on: windows-2019 + runs-on: windows-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: - submodules: 'true' - - name: Build Code - shell: cmd - run: | - bin\win32\tundra2.exe --verbose --unprotected win32-msvc-release + submodules: true + + - name: Configure + run: cmake -B build -S . -DCMAKE_BUILD_TYPE=Release + + - name: Build + run: cmake --build build --config Release --parallel diff --git a/CMakeLists.txt b/CMakeLists.txt index a055cb48..37b2d81b 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -78,7 +78,11 @@ if (APPLE) elseif (UNIX) set(RKT_PROJECT_LIBS ${RKT_PROJECT_LIBS} ${CMAKE_SOURCE_DIR}/external/bass/linux/libbass.so) elseif (MSVC) - set(RKT_PROJECT_LIBS ${RKT_PROJECT_LIBS} ${CMAKE_SOURCE_DIR}/external/bass/win32/bass.lib) + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(RKT_PROJECT_LIBS ${RKT_PROJECT_LIBS} ${CMAKE_SOURCE_DIR}/external/bass/win64/bass.lib) + else() + set(RKT_PROJECT_LIBS ${RKT_PROJECT_LIBS} ${CMAKE_SOURCE_DIR}/external/bass/win32/bass.lib) + endif() endif () ############################################################################## @@ -92,11 +96,13 @@ target_include_directories(rkt_emgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/emgui/sr if (APPLE) target_compile_definitions(rkt_emgui PUBLIC -DEMGUI_MACOSX) target_compile_options(rkt_emgui PUBLIC -Werror -pedantic-errors -Wall -Wno-format-security) + set_source_files_properties(emgui/src/External/stb_image.c PROPERTIES COMPILE_FLAGS "-Wno-unused-but-set-variable") + set_source_files_properties(emgui/src/External/stb_typetype.c PROPERTIES COMPILE_FLAGS "-Wno-unused-but-set-variable") elseif (UNIX) target_compile_definitions(rkt_emgui PUBLIC -DEMGUI_UNIX) target_compile_options(rkt_emgui PUBLIC -Werror -pedantic-errors -Wall -Wno-format-security) set_source_files_properties(emgui/src/External/stb_image.c PROPERTIES COMPILE_FLAGS "-Wno-misleading-indentation -Wno-unused-but-set-variable") - set_source_files_properties(emgui/src/External/stb_typetype.c PROPERTIES COMPILE_FLAGS -Wno-unused-but-set-variable) + set_source_files_properties(emgui/src/External/stb_typetype.c PROPERTIES COMPILE_FLAGS "-Wno-unused-but-set-variable -Wno-maybe-uninitialized") elseif (MSVC) target_compile_definitions(rkt_emgui PUBLIC -DEMGUI_WINDOWS) set_target_properties(rkt_emgui PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS") diff --git a/basic_example/basic_example.c b/basic_example/basic_example.c index a3c2f30e..ecede896 100644 --- a/basic_example/basic_example.c +++ b/basic_example/basic_example.c @@ -98,7 +98,7 @@ int rocket_init(const char* prefix) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static int rocket_update() { +static int rocket_update(void) { int row = 0; if (audio_is_playing) @@ -124,7 +124,7 @@ static const struct sync_track* s_tracks[sizeof_array(s_trackNames)]; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -int main() { +int main(void) { int i; if (!rocket_init("data/sync")) diff --git a/emgui/include/emgui/Emgui.h b/emgui/include/emgui/Emgui.h index 04f0ac87..9ada87a9 100644 --- a/emgui/include/emgui/Emgui.h +++ b/emgui/include/emgui/Emgui.h @@ -80,21 +80,21 @@ static EMGUI_INLINE uint32_t Emgui_color32_getB(uint32_t color) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Creation and state changes the application needs to call -bool Emgui_create(); -void Emgui_destroy(); +bool Emgui_create(void); +void Emgui_destroy(void); void Emgui_setMousePos(int posX, int posY); void Emgui_setMouseLmb(int state); -void Emgui_begin(); -void Emgui_end(); +void Emgui_begin(void); +void Emgui_end(void); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void Emgui_beginVerticalPanelXY(int x, int y); void Emgui_beginHorizontalPanelXY(int x, int y); -void Emgui_beginVerticalPanel(); -void Emgui_beginHorizontalPanel(); +void Emgui_beginVerticalPanel(void); +void Emgui_beginHorizontalPanel(void); void Emgui_setLayer(int layer); void Emgui_setScissor(int x, int y, int w, int h); @@ -103,7 +103,7 @@ void Emgui_setScissor(int x, int y, int w, int h); // Font functions void Emgui_setFont(uint32_t fontId); -void Emgui_setDefaultFont(); +void Emgui_setDefaultFont(void); bool Emgui_setFontByName(const char* ttfFontname); int Emgui_loadFontTTF(const char* ttfFontname, float fontHeight); @@ -143,8 +143,8 @@ bool Emgui_buttonCoordsImage(const char* text, int x, int y); bool Emgui_button(const char* text); bool Emgui_buttonImage(const char* filename); -void Emgui_setFirstControlFocus(); -bool Emgui_hasKeyboardFocus(); +void Emgui_setFirstControlFocus(void); +bool Emgui_hasKeyboardFocus(void); void Emgui_radioButtonImage(void* image0, int size0, void* image1, int size1, enum EmguiMemoryLocation location, uint32_t color, int x, int y, bool* stateIn); diff --git a/emgui/include/emgui/GFXBackend.h b/emgui/include/emgui/GFXBackend.h index 0f0d8c97..e8bececa 100644 --- a/emgui/include/emgui/GFXBackend.h +++ b/emgui/include/emgui/GFXBackend.h @@ -3,10 +3,10 @@ #include "Types.h" -bool EMGFXBackend_create(); -bool EMGFXBackend_destroy(); +bool EMGFXBackend_create(void); +bool EMGFXBackend_destroy(void); void EMGFXBackend_updateViewPort(int width, int height); -void EMGFXBackend_render(); +void EMGFXBackend_render(void); uint64_t EMGFXBackend_createFontTexture(void* imageBuffer, int w, int h); uint64_t EMGFXBackend_createTexture(void* imageBuffer, int w, int h, int comp); diff --git a/emgui/src/Emgui.c b/emgui/src/Emgui.c index 4461fd0b..2440c00b 100644 --- a/emgui/src/Emgui.c +++ b/emgui/src/Emgui.c @@ -190,7 +190,7 @@ uint64_t loadImage(int* width, int* height, void* image, int length, enum EmguiM /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void createDefaultFont() { +static void createDefaultFont(void) { struct LoadedFont* loadedFont = &g_loadedFonts[0]; uint8_t* tempColorData; uint8_t* colorData = tempColorData = (uint8_t*)malloc(128 * 128); @@ -219,7 +219,7 @@ void createDefaultFont() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void createStipplePattern() { +static void createStipplePattern(void) { static unsigned char pattern[32 * 34]; static unsigned char tempData[32 * 34] = {0}; int x, y, i, startX = 8, width = 16, t = 0; @@ -340,7 +340,7 @@ uint32_t Emgui_getTextSize(const char* text) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -bool Emgui_create() { +bool Emgui_create(void) { const uint32_t size = 10 * 1024 * 1024; /* FIXME: refactor LinearAllocator to be growable */ LinearAllocator_create(&s_allocator, malloc(size), size); createDefaultFont(); @@ -351,7 +351,7 @@ bool Emgui_create() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Emgui_begin() { +void Emgui_begin(void) { g_controlId = 1; g_controls[0].type = EMGUI_DRAWTYPE_NONE; @@ -390,7 +390,7 @@ static bool Emgui_regionHit(const EmguiControlInfo* control) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Emgui_reset() { +void Emgui_reset(void) { g_emguiGuiState.mouse.x = -1; g_emguiGuiState.mouse.y = -1; } @@ -743,7 +743,7 @@ void Emgui_setFont(uint32_t fontId) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Emgui_setDefaultFont() { +void Emgui_setDefaultFont(void) { Emgui_setFont(0); } @@ -919,7 +919,7 @@ void Emgui_radioButtonImage(void* image0, int size0, void* image1, int size1, en /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Emgui_end() { +void Emgui_end(void) { if (g_emguiGuiState.mouse.down == 0) { g_emguiGuiState.activeItem = 0; } else { @@ -1056,20 +1056,20 @@ void Emgui_setMouseLmb(int state) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -bool Emgui_hasKeyboardFocus() { +bool Emgui_hasKeyboardFocus(void) { return g_emguiGuiState.kbdItem != -1; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Emgui_setFirstControlFocus() { +void Emgui_setFirstControlFocus(void) { g_emguiGuiState.kbdItem = 1; g_emguiGuiState.keyCode = 0; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Emgui_resetFocus() { +void Emgui_resetFocus(void) { g_emguiGuiState.kbdItem = -1; g_emguiGuiState.keyCode = 0; } diff --git a/emgui/src/Emgui.h b/emgui/src/Emgui.h index 35d97e42..5e81281f 100644 --- a/emgui/src/Emgui.h +++ b/emgui/src/Emgui.h @@ -86,21 +86,21 @@ static EMGUI_INLINE uint32_t Emgui_color32_getB(uint32_t color) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Creation and state changes the application needs to call -bool Emgui_create(); -void Emgui_destroy(); +bool Emgui_create(void); +void Emgui_destroy(void); void Emgui_setMousePos(int posX, int posY); void Emgui_setMouseLmb(int state); -void Emgui_begin(); -void Emgui_end(); +void Emgui_begin(void); +void Emgui_end(void); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void Emgui_beginVerticalPanelXY(int x, int y); void Emgui_beginHorizontalPanelXY(int x, int y); -void Emgui_beginVerticalPanel(); -void Emgui_beginHorizontalPanel(); +void Emgui_beginVerticalPanel(void); +void Emgui_beginHorizontalPanel(void); void Emgui_setLayer(int layer); void Emgui_setScissor(int x, int y, int w, int h); @@ -110,7 +110,7 @@ void Emgui_setStipple(int enabled); // Font functions void Emgui_setFont(uint32_t fontId); -void Emgui_setDefaultFont(); +void Emgui_setDefaultFont(void); bool Emgui_setFontByName(const char* ttfFontname); int Emgui_loadFontTTF(const char* ttfFontname, float fontHeight); @@ -149,8 +149,8 @@ bool Emgui_buttonCoordsImage(const char* text, int x, int y); bool Emgui_button(const char* text); bool Emgui_buttonImage(const char* filename); -void Emgui_setFirstControlFocus(); -bool Emgui_hasKeyboardFocus(); +void Emgui_setFirstControlFocus(void); +bool Emgui_hasKeyboardFocus(void); void Emgui_radioButtonImage(void* image0, int size0, void* image1, int size1, enum EmguiMemoryLocation location, uint32_t color, int x, int y, bool* stateIn); diff --git a/emgui/src/GFXBackend.h b/emgui/src/GFXBackend.h index af45c6bc..b15cade1 100644 --- a/emgui/src/GFXBackend.h +++ b/emgui/src/GFXBackend.h @@ -3,10 +3,10 @@ #include "Types.h" -bool EMGFXBackend_create(); -bool EMGFXBackend_destroy(); +bool EMGFXBackend_create(void); +bool EMGFXBackend_destroy(void); void EMGFXBackend_updateViewPort(int width, int height); -void EMGFXBackend_render(); +void EMGFXBackend_render(void); uint64_t EMGFXBackend_createFontTexture(void* imageBuffer, int w, int h); uint64_t EMGFXBackend_createTexture(void* imageBuffer, int w, int h, int comp); diff --git a/emgui/src/GFXBackends/OpenGLBackend.c b/emgui/src/GFXBackends/OpenGLBackend.c index 9236356a..67e9b99a 100644 --- a/emgui/src/GFXBackends/OpenGLBackend.c +++ b/emgui/src/GFXBackends/OpenGLBackend.c @@ -40,7 +40,7 @@ static void setColor(uint32_t color) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -bool EMGFXBackend_create() +bool EMGFXBackend_create(void) { // set the background colour glClearColor(0.0, 0.0, 0.0, 1.0); @@ -52,7 +52,7 @@ bool EMGFXBackend_create() /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -bool EMGFXBackend_destroy() +bool EMGFXBackend_destroy(void) { return true; } @@ -386,11 +386,11 @@ static void drawImage(struct DrawImageCommand* command) } extern struct RenderData s_renderData; -extern void swapBuffers(); +extern void swapBuffers(void); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void EMGFXBackend_render() +void EMGFXBackend_render(void) { int i = 0, layerIter = 0; diff --git a/emgui/src/memory/LinearAllocator.c b/emgui/src/memory/LinearAllocator.c index ded838fb..6250d673 100644 --- a/emgui/src/memory/LinearAllocator.c +++ b/emgui/src/memory/LinearAllocator.c @@ -48,7 +48,7 @@ void LinearAllocator_setScratchPad(void* data, uint32_t size) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -LinearAllocator* LinearAllocator_getScratchPad() +LinearAllocator* LinearAllocator_getScratchPad(void) { return &g_scratchPad; } diff --git a/emgui/src/memory/LinearAllocator.h b/emgui/src/memory/LinearAllocator.h index c7f7bd2d..9c512384 100644 --- a/emgui/src/memory/LinearAllocator.h +++ b/emgui/src/memory/LinearAllocator.h @@ -79,7 +79,7 @@ static EMGUI_INLINE ptrdiff_t LinearAllocator_getCursor(const LinearAllocator* a // \brief Gets a "scratch" pad that the user can use to allocate temporary memory. Notice that its up to the user // to rewind the allocator back \linkLinearAllocator_getRewindPoint\endlink and \linkLinearAllocator_rewind\endlink -LinearAllocator* LinearAllocator_getScratchPad(); +LinearAllocator* LinearAllocator_getScratchPad(void); void LinearAllocator_setScratchPad(void* data, uint32_t size); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/Commands.c b/src/Commands.c index d3fc7bd2..19fa304e 100644 --- a/src/Commands.c +++ b/src/Commands.c @@ -74,7 +74,7 @@ static int countEntriesInList(CommandList* list) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -int Commands_undoCount() { +int Commands_undoCount(void) { return countEntriesInList(&s_undoStack); } @@ -121,7 +121,7 @@ void Commands_beginMulti(const char* name) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Commands_endMulti() { +void Commands_endMulti(void) { Command* command; // Check if any command was added during multi command @@ -586,7 +586,7 @@ void Commands_toggleMute(struct Track* track, struct sync_track* syncTrack, int /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Commands_undo() { +void Commands_undo(void) { Command* command; if (CommandList_isEmpty(&s_undoStack)) { @@ -606,7 +606,7 @@ void Commands_undo() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Commands_redo() { +void Commands_redo(void) { Command* command; if (CommandList_isEmpty(&s_redoStack)) diff --git a/src/Commands.h b/src/Commands.h index 6d6cc584..43b8b7ae 100644 --- a/src/Commands.h +++ b/src/Commands.h @@ -13,10 +13,10 @@ void Commands_init(struct sync_track** syncTracks, struct TrackData* trackData); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -int Commands_needsSave(); +int Commands_needsSave(void); -void Commands_undo(); -void Commands_redo(); +void Commands_undo(void); +void Commands_redo(void); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -31,7 +31,7 @@ void Commands_clearLoopmarks(struct TrackData* trackData); void Commands_updateKey(int track, struct track_key* key); void Commands_setSelection(struct TrackViewInfo* viewInfo, int startTrack, int endTrack, int startRow, int endRow); void Commands_beginMulti(const char* name); // Used (for example) when changing many value at the same time -void Commands_endMulti(); -int Commands_undoCount(); +void Commands_endMulti(void); +int Commands_undoCount(void); #endif diff --git a/src/Editor.c b/src/Editor.c index 7acb6173..1265edad 100644 --- a/src/Editor.c +++ b/src/Editor.c @@ -1,5 +1,12 @@ #include "Editor.h" +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wstrict-prototypes" +#endif #include +#ifdef __clang__ +#pragma clang diagnostic pop +#endif #include #include #include @@ -34,7 +41,7 @@ enum { SET_KEY = 0, DELETE_KEY = 1, GET_TRACK = 2, SET_ROW = 3, PAUSE = 4, SAVE_ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void updateNeedsSaving(); +static void updateNeedsSaving(void); static bool doEditing(int key); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -81,13 +88,13 @@ static text_t* s_recentFiles[] = { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -text_t** Editor_getRecentFiles() { +text_t** Editor_getRecentFiles(void) { return (text_t**)s_recentFiles; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -const text_t* getMostRecentFile() { +static const text_t* getMostRecentFile(void) { return s_recentFiles[0]; } @@ -141,19 +148,19 @@ void setMostRecentFile(const text_t* filename) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static inline struct sync_track** getTracks() { +static inline struct sync_track** getTracks(void) { return s_editorData.trackData.syncTracks; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static inline TrackViewInfo* getTrackViewInfo() { +static inline TrackViewInfo* getTrackViewInfo(void) { return &s_editorData.trackViewInfo; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static inline TrackData* getTrackData() { +static inline TrackData* getTrackData(void) { return &s_editorData.trackData; } @@ -165,25 +172,25 @@ static inline void setActiveTrack(int track) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static inline int getActiveTrack() { +static inline int getActiveTrack(void) { return s_editorData.trackData.activeTrack; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static inline int getTrackCount() { +static inline int getTrackCount(void) { return (int)s_editorData.trackData.num_syncTracks; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static inline int getRowPos() { +static inline int getRowPos(void) { return s_editorData.trackViewInfo.rowPos; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static bool canEditCurrentTrack() { +static bool canEditCurrentTrack(void) { return !getTrackData()->tracks[getActiveTrack()].disabled; } @@ -196,7 +203,7 @@ static inline void setRowPos(int pos) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static int getNextTrack() { +static int getNextTrack(void) { Group* group; TrackData* trackData = getTrackData(); int groupIndex = 0; @@ -229,7 +236,7 @@ static int getNextTrack() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static int getPrevTrack() { +static int getPrevTrack(void) { Group* group; TrackData* trackData = getTrackData(); int trackIndex = 0; @@ -263,7 +270,7 @@ static int getPrevTrack() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Editor_create() { +void Editor_create(void) { int id; Emgui_create(); id = Emgui_loadFontBitmap((char*)g_minecraftiaFont, g_minecraftiaFontSize, EMGUI_LOCATION_MEMORY, 32, 128, @@ -306,7 +313,7 @@ void Editor_setWindowSize(int x, int y) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Editor_init() { +void Editor_init(void) { } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -409,7 +416,7 @@ static int drawNameValue(char* name, int posX, int sizeY, int* value, int low, i /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void drawStatus() { +static void drawStatus(void) { int size = 0; const int sizeY = s_editorData.trackViewInfo.windowSizeY; const int sizeX = s_editorData.trackViewInfo.windowSizeX + s_editorData.waveViewSize; @@ -436,7 +443,7 @@ static void drawStatus() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Editor_updateTrackScroll() { +void Editor_updateTrackScroll(void) { int track_start_offset, sel_track, total_track_width = 0; int track_start_pixel = s_editorData.trackViewInfo.startPixel; TrackData* track_data = getTrackData(); @@ -458,7 +465,7 @@ void Editor_updateTrackScroll() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void drawHorizonalSlider() { +static void drawHorizonalSlider(void) { int large_val; TrackViewInfo* info = getTrackViewInfo(); const int old_start = s_editorData.trackViewInfo.startPixel; @@ -475,7 +482,7 @@ static void drawHorizonalSlider() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void drawVerticalSlider() { +static void drawVerticalSlider(void) { int start_row = 0, end_row = 10000, width, large_val; TrackData* trackData = getTrackData(); TrackViewInfo* info = getTrackViewInfo(); @@ -500,7 +507,7 @@ static void drawVerticalSlider() { // In some cases we need an extra update in case some controls has been re-arranged in such fashion so // the trackview will report back if that is needed (usually happens if tracks gets resized) -static bool internalUpdate() { +static bool internalUpdate(void) { int refresh; Emgui_begin(); @@ -524,7 +531,7 @@ static bool internalUpdate() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Editor_update() { +void Editor_update(void) { TrackData* trackData = getTrackData(); bool need_update = internalUpdate(); @@ -748,7 +755,7 @@ static void doEditRaw(int track, int row_pos, float value, unsigned char type) { updateNeedsSaving(); } -static void endEditing() { +static void endEditing(void) { if (!is_editing || !getTracks()) return; @@ -761,7 +768,7 @@ static void endEditing() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void cancelEditing() { +static void cancelEditing(void) { is_editing = false; s_editorData.trackData.editText = 0; } @@ -802,7 +809,7 @@ void Editor_scroll(float deltaX, float deltaY, int flags) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void updateTrackStatus() { +static void updateTrackStatus(void) { int i, track_count = getTrackCount(); if (RemoteConnection_connected(s_demo_connection)) @@ -839,7 +846,7 @@ static void setWindowTitle(const text_t* path, bool needsSave) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void updateNeedsSaving() { +void updateNeedsSaving(void) { int undoCount; if (!s_loadedFilename) @@ -855,7 +862,7 @@ void updateNeedsSaving() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -bool Editor_needsSave() { +bool Editor_needsSave(void) { return s_undoLevel != Commands_undoCount(); } @@ -908,7 +915,7 @@ void Editor_loadRecentFile(int id) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onOpen() { +static void onOpen(void) { text_t currentFile[2048]; memset(currentFile, 0, sizeof(currentFile)); @@ -918,7 +925,7 @@ static void onOpen() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onLoadMusic() { +static void onLoadMusic(void) { text_t path[2048]; // printf("onLoadMusic\n"); @@ -937,7 +944,7 @@ static void onLoadMusic() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static bool onSaveAs() { +static bool onSaveAs(void) { text_t path[2048]; int ret; @@ -955,7 +962,7 @@ static bool onSaveAs() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onSave() { +static void onSave(void) { if (!s_loadedFilename) onSaveAs(); else @@ -967,7 +974,7 @@ static void onSave() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -bool Editor_saveBeforeExit() { +bool Editor_saveBeforeExit(void) { if (s_loadedFilename) { onSave(); return true; @@ -978,21 +985,21 @@ bool Editor_saveBeforeExit() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onUndo() { +static void onUndo(void) { Commands_undo(); updateNeedsSaving(); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onRedo() { +static void onRedo(void) { Commands_undo(); updateNeedsSaving(); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onCancelEdit() { +static void onCancelEdit(void) { cancelEditing(); } @@ -1015,7 +1022,7 @@ static void onCutAndCopy(bool cut, bool externalMulti) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onDeleteKey() { +static void onDeleteKey(void) { TrackViewInfo* viewInfo = getTrackViewInfo(); const int selectLeft = mini(viewInfo->selectStartTrack, viewInfo->selectStopTrack); const int selectRight = maxi(viewInfo->selectStartTrack, viewInfo->selectStopTrack); @@ -1214,7 +1221,7 @@ static void onOffsetTrack(int nCount) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onSelectTrack() { +static void onSelectTrack(void) { int activeTrack = getActiveTrack(); TrackViewInfo* viewInfo = getTrackViewInfo(); struct sync_track** tracks; @@ -1236,7 +1243,7 @@ static void onSelectTrack() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onInterpolation() { +static void onInterpolation(void) { int idx; struct track_key newKey; struct sync_track* track; @@ -1263,7 +1270,7 @@ static void onInterpolation() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onInvertSelection() { +static void onInvertSelection(void) { int track, row, rowCount; CopyEntry* entries; TrackViewInfo* viewInfo = getTrackViewInfo(); @@ -1356,7 +1363,7 @@ static void enterCurrentValue(struct sync_track* track, int activeTrack, int row /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onEnterCurrentValue() { +static void onEnterCurrentValue(void) { int i; struct sync_track** tracks = getTracks(); TrackViewInfo* viewInfo = getTrackViewInfo(); @@ -1383,7 +1390,7 @@ static void onEnterCurrentValue() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onMuteToggle() { +static void onMuteToggle(void) { struct sync_track** tracks = getTracks(); const int activeTrack = getActiveTrack(); TrackData* trackData = getTrackData(); @@ -1400,7 +1407,7 @@ static void onMuteToggle() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onPlay() { +static void onPlay(void) { RemoteConnections_sendPauseCommand(!RemoteConnections_isPaused()); getTrackData()->isPlaying = !RemoteConnections_isPaused(); getTrackData()->isLooping = false; @@ -1408,7 +1415,7 @@ static void onPlay() { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onPlayLoop() { +static void onPlayLoop(void) { TrackData* trackData = getTrackData(); const int rowPos = getRowPos(); const int endLoop = TrackData_getNextLoopmark(trackData, rowPos); @@ -1610,35 +1617,35 @@ static void onFoldGroup(bool fold) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onToggleBookmark() { +static void onToggleBookmark(void) { Commands_toggleBookmark(getTrackData(), getRowPos()); updateNeedsSaving(); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onClearBookmarks() { +static void onClearBookmarks(void) { Commands_clearBookmarks(getTrackData()); updateNeedsSaving(); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onToggleLoopmark() { +static void onToggleLoopmark(void) { Commands_toggleLoopmark(getTrackData(), getRowPos()); updateNeedsSaving(); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onClearLoopmarks() { +static void onClearLoopmarks(void) { Commands_clearLoopmarks(getTrackData()); updateNeedsSaving(); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -static void onTab() { +static void onTab(void) { Emgui_setFirstControlFocus(); } @@ -1921,7 +1928,7 @@ void Editor_menuEvent(int menuItem) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Editor_destroy() { +void Editor_destroy(void) { } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -2171,7 +2178,7 @@ static int processCommands(RemoteConnection *conn) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Editor_timedUpdate() { +void Editor_timedUpdate(void) { int processed_commands = s_editorData.trackData.musicData.percentDone != 0; RemoteConnection *conn; diff --git a/src/Editor.h b/src/Editor.h index b7e8ab97..82271e18 100644 --- a/src/Editor.h +++ b/src/Editor.h @@ -4,22 +4,22 @@ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Editor_create(); -void Editor_destroy(); -void Editor_init(); -void Editor_update(); -void Editor_timedUpdate(); +void Editor_create(void); +void Editor_destroy(void); +void Editor_init(void); +void Editor_update(void); +void Editor_timedUpdate(void); bool Editor_keyDown(int key, int keyCode, int mod); -void Editor_keyUp(); +void Editor_keyUp(void); void Editor_setWindowSize(int x, int y); void Editor_menuEvent(int menuItem); void Editor_scroll(float deltaX, float deltaY, int flags); -void Editor_updateTrackScroll(); +void Editor_updateTrackScroll(void); void Editor_loadRecentFile(int file); -bool Editor_saveBeforeExit(); -bool Editor_needsSave(); +bool Editor_saveBeforeExit(void); +bool Editor_needsSave(void); -text_t** Editor_getRecentFiles(); +text_t** Editor_getRecentFiles(void); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/Music.h b/src/Music.h index 4d679d60..3e10edc1 100644 --- a/src/Music.h +++ b/src/Music.h @@ -5,8 +5,8 @@ struct MusicData; -void Music_init(); -void Music_deinit(); +void Music_init(void); +void Music_deinit(void); int Music_decode(text_t* path, struct MusicData* data); diff --git a/src/MusicDecode.c b/src/MusicDecode.c index 27b57156..185497fe 100644 --- a/src/MusicDecode.c +++ b/src/MusicDecode.c @@ -1,4 +1,11 @@ +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wstrict-prototypes" +#endif #include +#ifdef __clang__ +#pragma clang diagnostic pop +#endif #include #include #include @@ -223,6 +230,6 @@ int Music_decode(text_t* path, MusicData* data) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Music_init() { +void Music_init(void) { mtx_init(&s_mutex, mtx_plain); } diff --git a/src/RemoteConnection.c b/src/RemoteConnection.c index 5a595397..9027b433 100644 --- a/src/RemoteConnection.c +++ b/src/RemoteConnection.c @@ -153,7 +153,7 @@ void RemoteConnections_mapTrackName(const char* name) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -bool RemoteConnections_createListner() { +bool RemoteConnections_createListner(void) { struct sockaddr_in sin; int yes = 1, i; @@ -302,7 +302,7 @@ bool RemoteConnection_connected(RemoteConnection *conn) { return !!(conn && INVALID_SOCKET != conn->s_socket); } -bool RemoteConnections_connected() { +bool RemoteConnections_connected(void) { int i; for (i = 0; i < MAX_CONNECTIONS; i++) { @@ -340,7 +340,7 @@ void RemoteConnection_disconnect(RemoteConnection *conn) { s_num_connections--; } -void RemoteConnections_disconnect() { +void RemoteConnections_disconnect(void) { int i; rlog(R_INFO, "disconnect everyone!\n"); @@ -553,7 +553,7 @@ void RemoteConnection_sendSaveCommand(RemoteConnection *conn) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -bool RemoteConnections_isPaused() { +bool RemoteConnections_isPaused(void) { return s_paused; } @@ -590,7 +590,7 @@ void RemoteConnection_sendKeyFrames(RemoteConnection *conn, const char* name, st /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void RemoteConnections_close() { +void RemoteConnections_close(void) { RemoteConnections_disconnect(); // rlog(R_INFO, "closing socket %d\n", s_serverSocket); diff --git a/src/RemoteConnection.h b/src/RemoteConnection.h index 3868d56f..be96e010 100644 --- a/src/RemoteConnection.h +++ b/src/RemoteConnection.h @@ -9,15 +9,15 @@ typedef struct RemoteConnection RemoteConnection; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Listen for incoming connections -bool RemoteConnections_createListner(); +bool RemoteConnections_createListner(void); void RemoteConnections_updateListner(int currentRow); -void RemoteConnections_close(); +void RemoteConnections_close(void); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Talk with _all_ the remote connections -bool RemoteConnections_isPaused(); -bool RemoteConnections_connected(); -void RemoteConnections_disconnect(); +bool RemoteConnections_isPaused(void); +bool RemoteConnections_connected(void); +void RemoteConnections_disconnect(void); bool RemoteConnections_send(const char* buffer, size_t length, int flags); bool RemoteConnections_pollRead(RemoteConnection **res_conn); diff --git a/src/TrackView.c b/src/TrackView.c index 5370effe..00f91957 100644 --- a/src/TrackView.c +++ b/src/TrackView.c @@ -81,7 +81,7 @@ extern void Dialog_showColorPicker(uint32_t* color); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void TrackView_init() { +void TrackView_init(void) { } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -753,7 +753,7 @@ int TrackView_getWidth(TrackViewInfo* viewInfo, struct TrackData* trackData) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -int TrackView_getStartOffset() { +int TrackView_getStartOffset(void) { return 48; } diff --git a/src/TrackView.h b/src/TrackView.h index 93ba56c6..53ac494b 100644 --- a/src/TrackView.h +++ b/src/TrackView.h @@ -32,11 +32,11 @@ int Track_getSize(TrackViewInfo* viewInfo, struct Track* track); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void TrackView_init(); +void TrackView_init(void); bool TrackView_render(TrackViewInfo* viewInfo, struct TrackData* trackData); int TrackView_getWidth(TrackViewInfo* viewInfo, struct TrackData* trackData); int TrackView_getScrolledTrack(struct TrackViewInfo* viewInfo, struct TrackData* trackData, int activeTrack, int posX); -int TrackView_getStartOffset(); +int TrackView_getStartOffset(void); int TrackView_getTracksOffset(struct TrackViewInfo* viewInfo, struct TrackData* trackData, int prevTrack, int nextTrack); bool TrackView_isSelectedTrackVisible(struct TrackViewInfo* viewInfo, struct TrackData* trackData, int track); diff --git a/src/Window.h b/src/Window.h index a89dc2ac..7433a10a 100644 --- a/src/Window.h +++ b/src/Window.h @@ -6,4 +6,4 @@ void Window_setTitle(const text_t* title); void Window_populateRecentList(const text_t** files); -void Window_buildMenu(); +void Window_buildMenu(void); diff --git a/src/linux/main.c b/src/linux/main.c index 185b20b2..8e0714d6 100644 --- a/src/linux/main.c +++ b/src/linux/main.c @@ -394,7 +394,10 @@ void loadRecents() { // printf("Recent files:\n"); for (i = 0; i < 4; i++) { - fgets(recents[i], 2048, fh); // size looked up in Editor.c + if (!fgets(recents[i], 2048, fh)) { // size looked up in Editor.c + recents[i][0] = 0; + break; + } if (strlen(recents[i]) < 2 || recents[i][strlen(recents[i]) - 1] != '\n') { recents[i][0] = 0; diff --git a/src/loadsave.c b/src/loadsave.c index e1bc65ae..34be11dc 100644 --- a/src/loadsave.c +++ b/src/loadsave.c @@ -17,7 +17,7 @@ extern RemoteConnection* s_demo_connection; static void parseXml(mxml_node_t* rootNode, TrackData* trackData) { struct track_key k; - int g, i, foldedGroupCount = 0, is_key, track_index = 0; + int g, i, foldedGroupCount = 0, track_index = 0; mxml_node_t* node = rootNode; free(trackData->bookmarks); @@ -184,9 +184,7 @@ static void parseXml(mxml_node_t* rootNode, TrackData* trackData) { if (t->muteKeyCount > 0) { t->muteBackup[t->muteKeyIter++] = k; } else { - is_key = is_key_frame(track, k.row); - - assert(!is_key); + assert(!is_key_frame(track, k.row)); sync_set_key(track, &k); RemoteConnection_sendSetKeyCommand(s_demo_connection, track->name, &k); diff --git a/src/macosx/RocketAppDelegate.m b/src/macosx/RocketAppDelegate.m index d497614d..e186d1b1 100644 --- a/src/macosx/RocketAppDelegate.m +++ b/src/macosx/RocketAppDelegate.m @@ -4,7 +4,7 @@ #include "rlog.h" void Window_populateRecentList(char** files); -void Window_buildMenu(); +void Window_buildMenu(void); @implementation RocketAppDelegate diff --git a/src/macosx/RocketView.m b/src/macosx/RocketView.m index 13eb0cc7..cdc7884c 100644 --- a/src/macosx/RocketView.m +++ b/src/macosx/RocketView.m @@ -458,7 +458,7 @@ void buildSubMenu(NSMenu* menu, MenuDescriptor menuDesc[]) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Window_buildMenu() +void Window_buildMenu(void) { NSMenu* fileMenu = [[[NSApp mainMenu] itemWithTitle:@"File"] submenu]; NSMenu* editMenu = [[[NSApp mainMenu] itemWithTitle:@"Edit"] submenu]; @@ -505,7 +505,7 @@ void Window_populateRecentList(const char** files) ////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void swapBuffers() +void swapBuffers(void) { [g_context flushBuffer]; } diff --git a/src/rlog.c b/src/rlog.c index eee417d4..d5cd6893 100644 --- a/src/rlog.c +++ b/src/rlog.c @@ -39,12 +39,12 @@ void rlog_set_level(int logLevel) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void rlog_level_push() { +void rlog_level_push(void) { s_old_level = s_log_level; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void rlog_level_pop() { +void rlog_level_pop(void) { s_log_level = s_old_level; } diff --git a/src/rlog.h b/src/rlog.h index bf63b23b..f444194b 100644 --- a/src/rlog.h +++ b/src/rlog.h @@ -8,5 +8,5 @@ enum { void rlog(int logLevel, const char* format, ...); void rlog_set_level(int logLevel); -void rlog_level_push(); -void rlog_level_pop(); +void rlog_level_push(void); +void rlog_level_pop(void);