Commit Graph

389 Commits

Author SHA1 Message Date
Lioncash 60dad60448 CMakeLists: Add MSVC standards conformance flags
Applies flags to make MSVC's compiler be more standards compliant.
2019-09-10 20:43:37 -04:00
Phillip Stephens 6c07ec907a
Merge pull request #38 from lioncash/athena
General: Be explicit about athena's Endian/SeekOrigin type
2019-09-08 17:51:10 -07:00
Lioncash b6f0201fbb General: Be explicit about athena's Endian type
Allows this code to still compile if the enum is ever changed into an
enum class.
2019-09-08 17:22:38 -04:00
Lioncash d10a0ac7f1 General: Be explicit about athena's SeekOrigin type
Allows the code to still compile if the enum is turned into an enum
class.
2019-09-08 16:59:29 -04:00
Phillip Stephens d88b14c38a
Merge pull request #37 from lioncash/emitter
Emitter: Use std::array where applicable
2019-09-08 00:10:40 -07:00
Phillip Stephens 8b411b35a1
Merge pull request #36 from lioncash/bool
General: Make operator bool() instances explicit
2019-09-08 00:10:33 -07:00
Lioncash 29e7d8bc1e Emitter: Use std::array where applicable
Makes the data more strongly-typed and prevents implicit array->pointer
decay
2019-09-07 20:55:26 -04:00
Lioncash 7600f8ad27 General: Make operator bool() instances explicit
Prevents error-prone implicit conversions to bool.
2019-09-07 11:27:43 -04:00
Phillip Stephens 0be0ca2911
Merge pull request #35 from lioncash/clamp
General: Amend clamp parameter order
2019-09-07 07:04:40 -07:00
Lioncash 50c4b5cdab General: Amend clamp parameter order
Batch replace on switching to standardized variants assumed common
ordering, which evidently wasn't the case
2019-09-07 06:40:20 -04:00
Phillip Stephens 5da58eb1da
Merge pull request #34 from lioncash/adsr
ADSREditor: Use std::array for m_percentTexts
2019-08-30 00:55:16 -07:00
Lioncash 344dbea31a ADSREditor: Use std::array for m_percentTexts
Same behavior, but allows for stronger typing and dehardcoding of sizes.
2019-08-30 02:24:41 -04:00
Phillip Stephens 9b482ba013
Merge pull request #30 from lioncash/include
Editor: Amend includes of ProjectModel.hpp
2019-08-28 22:30:35 -07:00
Phillip Stephens 5ee32c105b
Merge pull request #32 from lioncash/status-bar
StatusBarWidget: Use std::array where applicable
2019-08-28 22:29:44 -07:00
Phillip Stephens af3f2a8d0c
Merge pull request #33 from lioncash/studio
StudioSetupWidget: Use std::array where applicable
2019-08-28 22:29:36 -07:00
Phillip Stephens 8d944ac5b0
Merge pull request #31 from lioncash/array
Editor/KeyboardWidget: Make use of std::array where applicable
2019-08-28 22:29:27 -07:00
Lioncash 792199897c StudioSetupWidget: Move definition of EffectIntrospection into the cpp file
Nothing in the header file requires the complete definition, so we can
use a forward declaration and move the type into the cpp file.
2019-08-28 01:31:27 -04:00
Lioncash bfdb504457 StudioSetupWidget: Use std::array where applicable
Makes the type of the array strongly-typed.
2019-08-28 01:15:31 -04:00
Lioncash 9c2c2be8eb StatusBarWidget: Use std::array where applicable
A fairly basic replacement to make the type of the array strongly typed.
2019-08-28 00:17:54 -04:00
Lioncash e6af69f882 Editor/KeyboardWidget: Make use of std::array where applicable
Makes the types of the lookup tables and widget arrays strongly typed.
This also makes it a little more straightforward to dehardcode some
magic values related to the array sizes.
2019-08-28 00:06:57 -04:00
Lioncash ce70df2e8f Editor: Amend includes of ProjectModel.hpp
This was missed when organizing includes in commit
ef86e69421 (my bad!)
2019-08-27 23:40:16 -04:00
Phillip Stephens 1604cbeb70
Linux compile fixes 2019-08-27 18:02:30 -07:00
Phillip Stephens 3b7d577f73
Merge pull request #29 from lioncash/gui
Editor: Include headers where necessary
2019-08-27 18:00:02 -07:00
Lioncash ef86e69421 Editor: Include headers where necessary
Avoids propagating dependencies through indirect inclusions, and also
gets rid of some header dependencies entirely.
2019-08-27 20:57:02 -04:00
Phillip Stephens 107ddeb5a9
Merge pull request #28 from lioncash/revert
Revert "Revert "Editor/LayersEditor: Simplify moveRows implementation""
2019-08-26 20:00:23 -07:00
Lioncash bf872e9037 Editor/LayersEditor: Use regular iterators instead of move iterators
Same behavior, but compatible with GCC
2019-08-26 22:41:40 -04:00
Lioncash a178d55007 Revert "Revert "Editor/LayersEditor: Simplify moveRows implementation""
This reverts commit 4fdb2bde8c.
2019-08-26 22:40:14 -04:00
Phillip Stephens 8569cab4d7
Merge pull request #27 from AxioDL/revert-23-rotate
Revert "Editor/LayersEditor: Simplify moveRows implementation"
2019-08-26 18:31:36 -07:00
Phillip Stephens 4fdb2bde8c
Revert "Editor/LayersEditor: Simplify moveRows implementation" 2019-08-26 18:31:18 -07:00
Phillip Stephens 80da83eb16
Merge pull request #25 from lioncash/array
Envelope: Make lookup table const
2019-08-26 15:54:04 -07:00
Phillip Stephens 8f810e571c
Merge pull request #24 from lioncash/emplace
General: Use emplace_back where applicable
2019-08-26 15:53:55 -07:00
Phillip Stephens 8f8add1eb1
Merge pull request #23 from lioncash/rotate
Editor/LayersEditor: Simplify moveRows implementation
2019-08-26 15:53:46 -07:00
Phillip Stephens 401c977378
Merge pull request #26 from lioncash/clamp
Common: Replace amuse::clamp with std::clamp
2019-08-26 15:53:35 -07:00
Lioncash eaf62288a2 Common: Replace amuse::clamp with std::clamp
We can use the standardized facility for this now with C++17
2019-08-26 05:14:21 -04:00
Lioncash e31dfc6f98 Envelope: Make lookup table const
This is only ever read from, so we can allow the compiler to toss it
into the read-only segment.
2019-08-26 04:38:36 -04:00
Lioncash 176493c539 General: Use emplace_back where applicable
Same thing, less reading.
2019-08-26 03:41:29 -04:00
Lioncash 7ef7562b06 Editor/LayersEditor: Simplify moveRows implementation
We can leverage std::rotate to make shuffling around the mappings less
complex by defining a begin, end, and a pivot point and using them with
it.
2019-08-26 02:35:28 -04:00
Phillip Stephens 88c017926b
Merge pull request #22 from lioncash/str
Editor/ProjectModel: Use std::move where applicable
2019-08-25 23:09:14 -07:00
Lioncash a380d4da21 Editor/ProjectModel: Use std::move where applicable
Amends the node interfaces to utilize std::move where applicable. This
allows avoiding some string copies altogether, as well as some IObj
atomic reference count increments and decrements.
2019-08-26 00:51:09 -04:00
Phillip Stephens 9cc47aa803
Merge pull request #21 from lioncash/flags
Editor/CMakeLists: Add a few Qt compilation definitions to enforce correctness
2019-08-25 20:25:15 -07:00
Lioncash 8b4a096b50 Editor/CMakeLists: Add QT_NO_CAST_FROM_BYTEARRAY
Disables implicit conversions from QByteArray, instead requiring such
conversions to be explicit.
2019-08-25 23:06:55 -04:00
Lioncash f269b66f85 Editor/CMakeLists: Add QT_NO_PROCESS_COMBINED_ARGUMENT_START
Disables an error-prone start() overload for QProcess. This prevents
cases where arguments to a process may be split unintentionally.
2019-08-25 22:59:47 -04:00
Lioncash 694ecdd9c3 Editor/CMakeLists: Add QT_NO_URL_CAST_FROM_STRING
Prevents implicit conversion from QString to QUrl in order to avoid
potentially incorrect conversions from being performed. This makes all
such conversions explicit.
2019-08-25 22:56:50 -04:00
Lioncash e3dc475d7d Editor/CMakeLists: Add QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
Requires narrowing conversions to be made explicitly.
2019-08-25 22:54:20 -04:00
Lioncash da54ade80b Editor/CMakeLists: Add QT_NO_CAST_FROM/TO_ASCII
Prevents implicit conversions to QString, requiring the conversions to
be made explicitly. Prevents potentially incompatible encodings from
being intermixed with one another.
2019-08-25 22:53:16 -04:00
Lioncash 658c33eb0d Editor/CMakeLists: Add QT_USE_QSTRINGBUILDER definition 2019-08-25 21:37:48 -04:00
Phillip Stephens ea84a7e35b
Merge pull request #20 from lioncash/cmake
Editor/CMakeLists: Enable AUTOMOC, AUTORCC, and AUTOUI
2019-08-25 18:24:33 -07:00
Lioncash 56a7d842b5 CMakeLists: Set CMAKE_AUTORCC
Allows the build system to automatically handle qrc resource files
automatically without having to do all the manual book keeping.
2019-08-25 18:55:00 -04:00
Lioncash f452516f12 CMakeLists: Set CMAKE_AUTOUIC
Allows the build system to automatically handle invoking uic for UI
files. This is beneficial since CMake will cache runs of uic, avoiding
running it again if its not necessary (no modifications were made to the
file, etc). This also means we don't need to keep track of all the UI
files explicitly in the CMake file.
2019-08-25 18:33:41 -04:00
Lioncash f140972920 CMakeLists: Set CMAKE_AUTOMOC
This allows the build system to automatically invoke moc for us when
building the GUI. Now we don't need to manually keep track of which
files need to be wrapped, simplifying the CMake file a little bit more.
2019-08-25 18:33:41 -04:00