def __init__(self, parent): super().__init__(parent) self._is_playing = False self._play_pos = [0 for _ in range(pyxel.MUSIC_CHANNEL_COUNT)] self.field_cursor = FieldCursor( self.get_data, self.add_pre_history, self.add_post_history, MAX_MUSIC_LENGTH, 16, pyxel.MUSIC_CHANNEL_COUNT, ) self._music_picker = NumberPicker(self, 45, 17, 0, pyxel.MUSIC_BANK_COUNT - 1, 0) self._play_button = ImageButton( self, 185, 17, pyxel.IMAGE_BANK_FOR_SYSTEM, EDITOR_IMAGE_X + 126, EDITOR_IMAGE_Y, ) self._stop_button = ImageButton( self, 195, 17, pyxel.IMAGE_BANK_FOR_SYSTEM, EDITOR_IMAGE_X + 135, EDITOR_IMAGE_Y, ) self._loop_button = ImageToggleButton( self, 205, 17, pyxel.IMAGE_BANK_FOR_SYSTEM, EDITOR_IMAGE_X + 144, EDITOR_IMAGE_Y, ) self._music_field = [ MusicField(self, 11, 29 + i * 25, i) for i in range(4) ] self._sound_selector = SoundSelector(self) self.add_event_handler("undo", self.__on_undo) self.add_event_handler("redo", self.__on_redo) self.add_event_handler("hide", self.__on_hide) self.add_event_handler("update", self.__on_update) self.add_event_handler("draw", self.__on_draw) self._play_button.add_event_handler("press", self.__on_play_button_press) self._stop_button.add_event_handler("press", self.__on_stop_button_press) self._play_button.add_event_handler("mouse_hover", self.__on_play_button_mouse_hover) self._stop_button.add_event_handler("mouse_hover", self.__on_stop_button_mouse_hover) self._loop_button.add_event_handler("mouse_hover", self.__on_loop_button_mouse_hover) self.add_number_picker_help(self._music_picker)
def __init__(self, resource_file): resource_file = os.path.join(os.getcwd(), resource_file) root, ext = os.path.splitext(resource_file) if ext != ".pyxel": resource_file += ".pyxel" pyxel.init( EDITOR_WIDTH, EDITOR_HEIGHT, caption="Pyxel Editor - {}".format(resource_file), ) try: pyxel.load(resource_file) except FileNotFoundError: pass super().__init__(None, 0, 0, pyxel.width, pyxel.height) self._resource_file = resource_file self._editor_list = [ ImageEditor(self), TileMapEditor(self), SoundEditor(self), MusicEditor(self), ] self._editor_button = RadioButton(self, 1, 1, 3, 0, 16, 4, EDITOR_IMAGE) self._undo_button = ImageButton(self, 48, 1, 3, 36, 16) self._redo_button = ImageButton(self, 57, 1, 3, 45, 16) self._save_button = ImageButton(self, 75, 1, 3, 54, 16) self.help_message = "" self._editor_button.add_event_handler( "change", lambda value: self.set_editor(value) ) self.add_event_handler("update", self.__on_update) self.add_event_handler("draw", self.__on_draw) self._undo_button.add_event_handler("press", self.__on_undo_press) self._redo_button.add_event_handler("press", self.__on_redo_press) self._save_button.add_event_handler("press", self.__on_save_press) self._editor_button.add_event_handler( "mouse_hover", self.__editor_button_on_mouse_hover ) self._undo_button.add_event_handler( "mouse_hover", self.__undo_button_on_mouse_hover ) self._redo_button.add_event_handler( "mouse_hover", self.__redo_button_on_mouse_hover ) self._save_button.add_event_handler( "mouse_hover", self.__save_button_on_mouse_hover ) self.set_editor(0) image_file = os.path.join(os.path.dirname(__file__), "assets", "editor.png") pyxel.image(3, system=True).load(0, 16, image_file) pyxel.run(self.update_widgets, self.draw_widgets)
def __init__(self, parent): super().__init__(parent) self.field_cursor = FieldCursor( self.get_data, self.add_pre_history, self.add_post_history, MAX_SOUND_LENGTH, MAX_SOUND_LENGTH, 4, ) self.octave = 2 self._is_playing = False self._play_pos = -1 self._history_data = None self._sound_picker = NumberPicker(self, 45, 17, 0, pyxel.USER_SOUND_BANK_COUNT - 1, 0) self._speed_picker = NumberPicker(self, 105, 17, 1, 99, pyxel.sound(0).speed) self._play_button = ImageButton(self, 185, 17, 3, EDITOR_IMAGE_X + 126, EDITOR_IMAGE_Y) self._stop_button = ImageButton(self, 195, 17, 3, EDITOR_IMAGE_X + 135, EDITOR_IMAGE_Y, is_enabled=False) self._loop_button = ImageToggleButton(self, 205, 17, 3, EDITOR_IMAGE_X + 144, EDITOR_IMAGE_Y) self._piano_keyboard = PianoKeyboard(self) self._piano_roll = PianoRoll(self) self._sound_field = SoundField(self) self._left_octave_bar = OctaveBar(self, 12, 25) self._right_octave_bar = OctaveBar(self, 224, 25) self.add_event_handler("undo", self.__on_undo) self.add_event_handler("redo", self.__on_redo) self.add_event_handler("hide", self.__on_hide) self.add_event_handler("update", self.__on_update) self.add_event_handler("draw", self.__on_draw) self._sound_picker.add_event_handler("change", self.__on_sound_picker_change) self._speed_picker.add_event_handler("change", self.__on_speed_picker_change) self._play_button.add_event_handler("press", self.__on_play_button_press) self._stop_button.add_event_handler("press", self.__on_stop_button_press) self._play_button.add_event_handler("mouse_hover", self.__on_play_button_mouse_hover) self._stop_button.add_event_handler("mouse_hover", self.__on_stop_button_mouse_hover) self._loop_button.add_event_handler("mouse_hover", self.__on_loop_button_mouse_hover) self.add_number_picker_help(self._sound_picker) self.add_number_picker_help(self._speed_picker)
def __init__(self, parent): super().__init__(parent) self._music_picker = NumberPicker(self, 45, 17, 0, AUDIO_MUSIC_COUNT - 1, 0) self._play_button = ImageButton(self, 190, 17, 3, 126, 16) self._stop_button = ImageButton(self, 200, 17, 3, 135, 16) self._loop_button = ImageButton(self, 210, 17, 3, 144, 16) self.add_event_handler("draw", self.__on_draw)
def __init__(self, parent): super().__init__(parent) self._music_picker = NumberPicker(self, 45, 17, 0, AUDIO_MUSIC_COUNT - 1, 0) self._play_button = ImageButton(self, 185, 17, 3, EDITOR_IMAGE_X + 126, EDITOR_IMAGE_Y) self._stop_button = ImageButton(self, 195, 17, 3, EDITOR_IMAGE_X + 135, EDITOR_IMAGE_Y) self._loop_button = ImageButton(self, 205, 17, 3, EDITOR_IMAGE_X + 144, EDITOR_IMAGE_Y) self.add_event_handler("draw", self.__on_draw)
def __init__(self, parent): super().__init__(parent) self.cursor_x = 0 self.cursor_y = 0 self.octave = 2 self._play_info = SoundEditor.PlayInfo() self._history_data = None self._sound_picker = NumberPicker(self, 45, 17, 0, AUDIO_SOUND_COUNT - 1, 0) self._speed_picker = NumberPicker(self, 105, 17, 1, 99, pyxel.sound(0).speed) self._play_button = ImageButton(self, 185, 17, 3, EDITOR_IMAGE_X + 126, EDITOR_IMAGE_Y) self._stop_button = ImageButton(self, 195, 17, 3, EDITOR_IMAGE_X + 135, EDITOR_IMAGE_Y, is_enabled=False) self._loop_button = ImageToggleButton(self, 205, 17, 3, EDITOR_IMAGE_X + 144, EDITOR_IMAGE_Y) self._piano_keyboard = PianoKeyboard(self) self._piano_roll = PianoRoll(self) self._sound_input = SoundInput(self) self._left_octave_bar = OctaveBar(self, 12, 25) self._right_octave_bar = OctaveBar(self, 224, 25) self.add_event_handler("undo", self.__on_undo) self.add_event_handler("redo", self.__on_redo) self.add_event_handler("update", self.__on_update) self.add_event_handler("draw", self.__on_draw) self._sound_picker.add_event_handler("change", self.__on_sound_picker_change) self._speed_picker.add_event_handler("change", self.__on_speed_picker_change) self._play_button.add_event_handler("press", self.__on_play_button_press) self._stop_button.add_event_handler("press", self.__on_stop_button_press) self._play_button.add_event_handler("mouse_hover", self.__on_play_button_mouse_hover) self._stop_button.add_event_handler("mouse_hover", self.__on_stop_button_mouse_hover) self._loop_button.add_event_handler("mouse_hover", self.__on_loop_button_mouse_hover) self.add_number_picker_help(self._sound_picker) self.add_number_picker_help(self._speed_picker)
def __init__(self, resource_file): resource_file = os.path.join(os.getcwd(), resource_file) root, ext = os.path.splitext(resource_file) if ext != ".pyxel": resource_file += ".pyxel" pyxel.init( EDITOR_WIDTH, EDITOR_HEIGHT, caption="Pyxel Editor - {}".format(resource_file), ) try: pyxel.load(resource_file) except FileNotFoundError: pass self._resource_file = resource_file self._root_widget = Widget(None, 0, 0, 0, 0) self._screen_list = [ ImageEditor(self._root_widget), TileMapEditor(self._root_widget), SoundEditor(self._root_widget), MusicEditor(self._root_widget), ] self._screen_button = RadioButton(self._root_widget, 3, 1, 3, 3, 13, 4) self._screen_button.add_event_handler( "change", lambda value: self.set_screen(value)) self.set_screen(0) self._undo_button = ImageButton(self._root_widget, 48, 1, 3, 48, 13) self._undo_button.add_event_handler("press", self.__on_undo_press) self._redo_button = ImageButton(self._root_widget, 57, 1, 3, 57, 13) self._redo_button.add_event_handler("press", self.__on_redo_press) self._save_button = ImageButton(self._root_widget, 75, 1, 3, 75, 13) self._save_button.add_event_handler("press", self.__on_save_press) pyxel.run(self.update, self.draw)
def __init__(self, resource_file): resource_file = os.path.join(os.getcwd(), resource_file) root, ext = os.path.splitext(resource_file) if ext != ".pyxel": resource_file += ".pyxel" pyxel.init( APP_WIDTH, APP_HEIGHT, caption="Pyxel Editor - {}".format(resource_file) ) pyxel.mouse(True) try: pyxel.load(resource_file) except FileNotFoundError: pass super().__init__(None, 0, 0, pyxel.width, pyxel.height) self._resource_file = resource_file self._editor_list = [ ImageEditor(self), TileMapEditor(self), SoundEditor(self), MusicEditor(self), ] self._editor_button = RadioButton( self, 1, 1, 3, EDITOR_IMAGE_X, EDITOR_IMAGE_Y, 4, 0 ) self._undo_button = ImageButton( self, 48, 1, 3, EDITOR_IMAGE_X + 36, EDITOR_IMAGE_Y ) self._redo_button = ImageButton( self, 57, 1, 3, EDITOR_IMAGE_X + 45, EDITOR_IMAGE_Y ) self._save_button = ImageButton( self, 75, 1, 3, EDITOR_IMAGE_X + 54, EDITOR_IMAGE_Y ) self.help_message = "" self._editor_button.add_event_handler( "change", lambda value: self._set_editor(value) ) self.add_event_handler("update", self.__on_update) self.add_event_handler("draw", self.__on_draw) self._undo_button.add_event_handler("press", self.__on_undo_button_press) self._undo_button.add_event_handler("repeat", self.__on_undo_button_press) self._redo_button.add_event_handler("press", self.__on_redo_button_press) self._redo_button.add_event_handler("repeat", self.__on_redo_button_press) self._save_button.add_event_handler("press", self.__on_save_button_press) self._editor_button.add_event_handler( "mouse_hover", self.__on_editor_button_mouse_hover ) self._undo_button.add_event_handler( "mouse_hover", self.__on_undo_button_mouse_hover ) self._redo_button.add_event_handler( "mouse_hover", self.__on_redo_button_mouse_hover ) self._save_button.add_event_handler( "mouse_hover", self.__on_save_button_mouse_hover ) glfw.set_drop_callback(pyxel._app._window, self._drop_callback) image_file = os.path.join( os.path.dirname(__file__), "assets", EDITOR_IMAGE_NAME ) pyxel.image(3, system=True).load(EDITOR_IMAGE_X, EDITOR_IMAGE_Y, image_file) self._set_editor(0) pyxel.run(self.update_widgets, self.draw_widgets)
def __init__(self, resource_file): resource_file = os.path.join(os.getcwd(), resource_file) root, ext = os.path.splitext(resource_file) if ext != pyxel.RESOURCE_FILE_EXTENSION: resource_file += pyxel.RESOURCE_FILE_EXTENSION pyxel.init( APP_WIDTH, APP_HEIGHT, caption="Pyxel Editor - {}".format(resource_file) ) pyxel.mouse(True) if os.path.exists(resource_file): pyxel.load(resource_file) if ext == ".pyxel": resource_file = root + pyxel.RESOURCE_FILE_EXTENSION super().__init__(None, 0, 0, pyxel.width, pyxel.height) self._resource_file = resource_file self._editor_list = [ ImageEditor(self), TileMapEditor(self), SoundEditor(self), MusicEditor(self), ] self._editor_button = RadioButton( self, 1, 1, pyxel.IMAGE_BANK_FOR_SYSTEM, EDITOR_IMAGE_X, EDITOR_IMAGE_Y, 4, 0, ) self._undo_button = ImageButton( self, 48, 1, pyxel.IMAGE_BANK_FOR_SYSTEM, EDITOR_IMAGE_X + 36, EDITOR_IMAGE_Y, ) self._redo_button = ImageButton( self, 57, 1, pyxel.IMAGE_BANK_FOR_SYSTEM, EDITOR_IMAGE_X + 45, EDITOR_IMAGE_Y, ) self._save_button = ImageButton( self, 75, 1, pyxel.IMAGE_BANK_FOR_SYSTEM, EDITOR_IMAGE_X + 54, EDITOR_IMAGE_Y, ) self.help_message = "" self._editor_button.add_event_handler( "change", lambda value: self._set_editor(value) ) self.add_event_handler("update", self.__on_update) self.add_event_handler("draw", self.__on_draw) self._undo_button.add_event_handler("press", self.__on_undo_button_press) self._undo_button.add_event_handler("repeat", self.__on_undo_button_press) self._redo_button.add_event_handler("press", self.__on_redo_button_press) self._redo_button.add_event_handler("repeat", self.__on_redo_button_press) self._save_button.add_event_handler("press", self.__on_save_button_press) self._editor_button.add_event_handler( "mouse_hover", self.__on_editor_button_mouse_hover ) self._undo_button.add_event_handler( "mouse_hover", self.__on_undo_button_mouse_hover ) self._redo_button.add_event_handler( "mouse_hover", self.__on_redo_button_mouse_hover ) self._save_button.add_event_handler( "mouse_hover", self.__on_save_button_mouse_hover ) image_file = os.path.join( os.path.dirname(__file__), "assets", EDITOR_IMAGE_NAME ) pyxel.image(pyxel.IMAGE_BANK_FOR_SYSTEM, system=True).load( EDITOR_IMAGE_X, EDITOR_IMAGE_Y, image_file ) self._set_editor(0) pyxel.run(self.update_widgets, self.draw_widgets)