From 10b36293b62f78fddeeb42012ef313785366e393 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Fri, 2 Apr 2021 18:20:18 +0200 Subject: [PATCH] Add a helper macro for ranged EditIds --- plugins/editor/src/editor/EditIds.h | 44 +++++++++++++---------------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/plugins/editor/src/editor/EditIds.h b/plugins/editor/src/editor/EditIds.h index fd1556bc..cb38ed65 100644 --- a/plugins/editor/src/editor/EditIds.h +++ b/plugins/editor/src/editor/EditIds.h @@ -48,29 +48,23 @@ struct EditRange { static EditRange get(EditId id); }; -inline EditId editIdForCC(int cc) -{ - return EditId(int(EditId::Controller0) + cc); -} -inline int ccForEditId(EditId id) -{ - return int(id) - int(EditId::Controller0); -} -inline bool editIdIsCC(EditId id) -{ - return int(id) >= int(EditId::Controller0) && - int(id) <= int(EditId::ControllerLast); -} +#define DEFINE_EDIT_ID_RANGE_HELPERS(type, Type, IdPrefix) \ + inline EditId editIdFor##Type(int value) \ + { \ + return EditId(int(EditId::IdPrefix##0) + value); \ + } \ + inline int type##ForEditId(EditId id) \ + { \ + return int(id) - int(EditId::IdPrefix##0); \ + } \ + inline bool editIdIs##Type(EditId id) \ + { \ + return int(id) >= int(EditId::IdPrefix##0) && \ + int(id) <= int(EditId::IdPrefix##Last); \ + } -inline EditId editIdForKey(int key) -{ - return EditId(int(EditId::Key0) + key); -} -inline int keyForEditId(EditId id) -{ - return int(id) - int(EditId::Key0); -} -inline bool editIdIsKey(EditId id) -{ - return int(id) >= int(EditId::Key0) && int(id) <= int(EditId::KeyLast); -} +// defines editIdForCC, ccForEditId, editIdIsCC, etc.. +DEFINE_EDIT_ID_RANGE_HELPERS(cc, CC, Controller) +DEFINE_EDIT_ID_RANGE_HELPERS(key, Key, Key) + +#undef DEFINE_EDIT_ID_RANGE_HELPERS