1 /* 2 * gui/widgets/playhead_arranger.h - Playhead widget for 3 * arrangers 4 * 5 * Copyright (C) 2019 Alexandros Theodotou 6 * 7 * This file is part of Zrythm 8 * 9 * Zrythm is free software: you can redistribute it and/or modify 10 * it under the terms of the GNU Affero General Public License as published by 11 * the Free Software Foundation, either version 3 of the License, or 12 * (at your option) any later version. 13 * 14 * Zrythm is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU Affero General Public License for more details. 18 * 19 * You should have received a copy of the GNU Affero General Public License 20 * along with Zrythm. If not, see <https://www.gnu.org/licenses/>. 21 */ 22 23 #ifndef __GUI_WIDGETS_ARRANGER_PLAYHEAD_H__ 24 #define __GUI_WIDGETS_ARRANGER_PLAYHEAD_H__ 25 26 #include <gtk/gtk.h> 27 28 #define ARRANGER_PLAYHEAD_WIDGET_TYPE \ 29 (arranger_playhead_widget_get_type ()) 30 G_DECLARE_FINAL_TYPE (ArrangerPlayheadWidget, 31 arranger_playhead_widget, 32 Z, 33 ARRANGER_PLAYHEAD_WIDGET, 34 GtkDrawingArea) 35 #define TIMELINE_ARRANGER_PLAYHEAD \ 36 (arranger_widget_get_private ( \ 37 Z_ARRANGER_WIDGET (MW_TIMELINE))->playhead) 38 #define MIDI_ARRANGER_PLAYHEAD \ 39 (arranger_widget_get_private ( \ 40 Z_ARRANGER_WIDGET (MIDI_ARRANGER))->playhead) 41 #define MIDI_MODIFIER_ARRANGER_PLAYHEAD \ 42 (arranger_widget_get_private ( \ 43 Z_ARRANGER_WIDGET (MIDI_MODIFIER_ARRANGER))->playhead) 44 45 typedef struct _ArrangerPlayheadWidget 46 { 47 GtkDrawingArea parent_instance; 48 } ArrangerPlayheadWidget; 49 50 ArrangerPlayheadWidget * 51 arranger_playhead_widget_new (void); 52 53 #endif 54