diff --git a/.gitignore b/.gitignore index 829f028..b93a0b0 100644 --- a/.gitignore +++ b/.gitignore @@ -16,9 +16,9 @@ depcomp Makefile.in configure~ config.status -margen +forge *.tar.gz configure -src/margen* +src/forge* *.pkg.tar.zst pkg \ No newline at end of file diff --git a/Makefile.am b/Makefile.am index b3d682c..a8d0eb1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ AUTOMAKE_OPTIONS = foreign subdir-objects -Wall bin_PROGRAMS = forge -forge_SOURCES = src/main.c src/args.c -include_HEADERS = src/main.h src/args.h src/config.h src/types.h \ No newline at end of file +forge_SOURCES = src/main.c src/args.c src/forge.c +include_HEADERS = src/main.h src/args.h src/config.h src/types.h src/forge.h \ No newline at end of file diff --git a/Makefile.dev b/Makefile.dev index a0b305e..44d9968 100644 --- a/Makefile.dev +++ b/Makefile.dev @@ -9,16 +9,12 @@ clean: build: @mkdir -p build - gcc -Wall src/*.c src/*.h -lm -o build/$(TARGET) + gcc -Wall src/*.c src/*.h -lglfw -lGL -lm -o build/$(TARGET) .PHONY: install install: build cp -f build/$(TARGET) $(INSTALL_DIR)/$(TARGET) -.PHONY: time -time: build - time ./build/$(TARGET) $(TEST_ARGS) - .PHONY: valgrind valgrind: build valgrind --leak-check=full -s ./build/$(TARGET) $(TEST_ARGS) diff --git a/README.md b/README.md index 8b06fa9..fdfc274 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,11 @@ TODO ## Install +### Prerequisites + +* libglfw +* libGL + ### From release See [Releases](https://github.com/klemek/forge/releases) @@ -73,4 +78,24 @@ git commit -am "update arch sha256" ## Roadmap -TODO \ No newline at end of file +- [ ] Basics + - [x] Create GLSL Window + - [ ] Load fragment shader into GLSL + - [ ] Read fragment shader from file + - [ ] Minimal working fragment sample + - [ ] Hot-reload fragment shader + - [ ] Force fullscreen + - [ ] Select screen as argument +- [ ] Midi + - [ ] Read Midi events + - [ ] Read midi mapping config file + - [ ] Write Midi events +- [ ] MVP + - [ ] Add required libraries in target build + - [ ] Include fragments with special directive + - [ ] Source mixing + - [ ] Save midi state +- [ ] Advanced + - [ ] Video input + - [ ] Feedback input + - [ ] Tap-tempo feature \ No newline at end of file diff --git a/src/main.c b/src/main.c index e9e3aa0..8009829 100644 --- a/src/main.c +++ b/src/main.c @@ -1,8 +1,13 @@ #include "args.h" +#include "config.h" +#include "forge.h" +#include +#include int main(int argc, char **argv) { parameters params; params = parse_args(argc, argv); - // TODO + puts(PACKAGE " " VERSION); + forge_run(params); return 0; -} \ No newline at end of file +}