Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-05-27 | Update example waveform code in README.md | Adam Szmigin | |
2020-05-27 | Inline is not needed in source files | haslersn | |
2020-05-27 | Use ceiling division for waveform size | haslersn | |
2020-05-27 | SQLite3 is now an external dependency | Adam Szmigin | |
Removed in-tree SQLite3 amalgamation in favour of system dependency. Updated meson and CMake build scripts accordingly. | |||
2020-05-26 | Public includes cover all required std | Adam Szmigin | |
2020-05-01 | Minimal CMake file | mrsmidge | |
2020-04-26 | Update minimum Boost version | mrsmidge | |
2020-04-26 | Replace with std::optional | Adam Szmigin | |
2020-04-25 | Switch to Boost Test header-only mode | Adam Szmigin | |
2020-04-19 | Use std::string literal suffix for tests | mrsmidge | |
2020-02-19 | API has w/form samples-per-entry rather than size | Adam Szmigin | |
Informing the user of a desired waveform size is not the right approach, as the waveform is still essentially meaningless without knowledge of the scale it uses. As such, the public API now exposes the required number of _samples per waveform entry_, thereby creating a clear-cut scaling factor for waveform interpretation in the context of samples. | |||
2020-02-19 | Corrected some encoding regression bugs. | Adam Szmigin | |
* Fixed some encoding bugs introduced in earlier refactoring. * Quantised some amounts used for waveform encoding better (WIP). | |||
2020-02-18 | Use std::optional where available | Adam Szmigin | |
Either <optional> or <experimental/optional> is now required for compilation and in the public API. In order to seamlessly use either one, the relevant symbols are aliased within the namespace `djinterop::stdx`. It is expected that this is removed in favour of just using std::optional in future once older compiler support can be removed. | |||
2019-09-03 | Added const for default EL DB dir name. | Adam Szmigin | |
2019-08-26 | Clang-format applied | Adam Szmigin | |
2019-08-26 | New methods for crate lookup and creation. | Adam Szmigin | |
2019-08-24 | Fix issue with optional.hpp in wrong install dir | mrsmidge | |
2019-08-20 | Clear up EL public API, refactor more things into el_storage | mrsmidge | |
2019-08-15 | clang-format cleanup | mrsmidge | |
2019-08-15 | Remove Boost from public API, C++11 compatible | mrsmidge | |
2019-07-08 | enginelibrary: Use el_transaction_guard_impl | haslersn | |
2019-07-08 | transaction_guard: RAII class for database transactions | haslersn | |
A default-constructed `transaction_guard` is empty. That is, it represents no transaction. If a `transaction_guard` isn't empty, then you can * perform a COMMIT via `transaction_guard::commit()` or * perform a ROLLBACK via `transaction_guard::rollback()` or * perform a ROLLBACK implicitly by destructing the `transaction_guard`. In any of those cases, the `transaction_guard` becomes empty (even if the operation fails by throwing an exception). Of those, only `transaction_guard::commit()` can throw an exception. Performing a rollback does always succeed. | |||
2019-07-08 | Reduce number of includes in public headers | haslersn | |
2019-07-08 | track: Remove unneeded friend class declarations | haslersn | |
2019-07-08 | .gitignore: Add .vscode | haslersn | |
2019-07-08 | .gitignore: Tag root level directories as such | haslersn | |
2019-07-08 | .clang-format: Fix for clang-format 7.0.0+ | haslersn | |
2019-07-08 | Remove empty source file src/djinterop/performance_data.cpp | haslersn | |
2019-07-08 | track: Fix copy/paste mistakes in the docs | haslersn | |
2019-07-08 | database: remove mentions of Engine from the docs | haslersn | |
2019-07-08 | enginelibrary: Move standard_pad_colors to namespace djinterop::enginelibrary | haslersn | |
2019-07-08 | include: Correct header guard names | haslersn | |
Also, the combination of `#pragma once` and header guards is now used. This should speed up compilation in case `#pragma once` is supported. | |||
2019-07-08 | src, test: Remove header guards | haslersn | |
Because of `sqlite_modern_cpp.h` as a dependency, libdjinterop can already only be compiled with a compiler that supports `#pragma once`. Therefore, we can remove header guards from all headers in `./src/` and `./test/`. Header guards are still present in `./include`. This way, libdjinterop can still be used in a project compiled without `#pragma once` support. | |||
2019-07-08 | enginelibrary::make_database(): Make this atomic | haslersn | |
This resolves the TODO added in a85bae380a5bf6a2dbfd9b82bba7ca6469013fbc | |||
2019-07-08 | enginelibrary: Use 1 db connection handling both sqlite files | haslersn | |
This is achieved using the `ATTACH` command. See `djinterop/enginelibrary/el_storage.cpp`. | |||
2019-07-08 | database: Outsource {music, perfdata}_db_path() to namespace ↵ | haslersn | |
djinterop::enginelibrary | |||
2019-07-08 | crate, database, track: outsource implementations to .cpp | haslersn | |
2019-07-08 | crate: [Bugfix] Define db() which was previously missing | haslersn | |
2019-07-08 | include/meson.build: Update public headers according to the previous rework | haslersn | |
2019-07-08 | Add TODO about version checks | haslersn | |
2019-07-08 | el::{load, make}_database: Fix documentation | haslersn | |
2019-07-08 | enginelibrary: Move normalize_beatgrid to djinterop/enginelibrary.hpp | haslersn | |
2019-07-08 | README: Update according to the polymorphism rework | haslersn | |
See 880cf264b9fb843b647274f086887b709171b75f | |||
2019-07-08 | treewide: Make database/crate/track polymorphic | haslersn | |
NOTE: The pimpl is polymorphic. This way, the user facing objects can still be passed by value. | |||
2019-07-08 | treewide: Rework API | haslersn | |
The API methods now operate directly on the database. Therefore, the classes don't have a `save()` method anymore. Also, the distinction between tracks and their performance data has been hidden from the API user. That is, the performance data attributes are now accessible directly through the `track` API. This is WORK IN PROGRESS. See the TODOs. | |||
2019-07-02 | database: database objects must now always represent existent databases | haslersn | |
This removes the need for the `database::exists()` method. | |||
2019-07-02 | database: Make database objects copyable | haslersn | |
2019-07-02 | {database, performance_data}: Remove move ctor/assignment | haslersn | |
move ctor/assignemnt doesn't make sense if there's no default constructor. | |||
2019-06-30 | Merge pull request #1 from haslersn/enhancement/add-default-nix | mrsmidge | |
Add Nix expression | |||
2019-06-30 | Added mention of Clang Format and fixed some README typos | mrsmidge | |