Commit Graph

391 Commits

Author SHA1 Message Date
Lioncash 9ec78d6b9f Sequencer: Always initialize ChannelState channel ID
Provides a deterministic initial state for the default constructor case.
2019-09-10 20:05:05 -04:00
Lioncash 5f76f0ecbf Sequencer: Use std::array for m_ctrlVals
This is the only array in the header that isn't using std::array.
2019-09-10 20:03:26 -04:00
Lioncash f50d67eff0 Sequencer: Eliminate magic values where applicable
Many of them are just representative of the sizes of an array, so we can
just query the array instead.
2019-09-10 19:48:31 -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