А какую сделать логику при нажатии на ножницы?
Пока в голову приходит такая:
Если активна внутренняя точка сегмента, то дублируем ее и вставляем разрыв между ними. Активной становится первая точка второго сегмента. Тогда в случае нажатия Backspace все просто возвращается к предыдущему состоянию.
Если активна последняя точка сегмента, то следующий клик начнет новый сегмент, а Backspace все просто возвращается к предыдущему состоянию.
Что делать если активна первая точка сегмента?
И еще будет проблема, что при разбиении нельзя будет активировать первую точку второго сегмента, так как по клику будет выделяться всегда последняя предыдущего.
Добавить функцию разрезания пути
Правила форума
Настоятельно рекомендуем ознакомиться с правилами раздела платных услуг ТУТ.
Настоятельно рекомендуем ознакомиться с правилами раздела платных услуг ТУТ.
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Добавить функцию разрезания пути
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
-
Tolik
- Гуру
- Сообщения: 2604
- Зарегистрирован: 28 янв 2011, 10:38
- Благодарил (а): 283 раза
- Поблагодарили: 587 раз
Re: Добавить функцию разрезания пути
Если активна 1-я или последняя точки - ничего не делать (при нажатии на ножницы).
Остальные проблемы не так уж важны, т.к. основная задача - просто разрезать.
Остальные проблемы не так уж важны, т.к. основная задача - просто разрезать.
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Добавить функцию разрезания пути
Нет, если активна последняя, то точно нужно просто начинать новый сегмент.Tolik писал(а):Если активна 1-я или последняя точки - ничего не делать (при нажатии на ножницы).
Но при редактировании или рисовании новой линии они важны.Tolik писал(а):Остальные проблемы не так уж важны, т.к. основная задача - просто разрезать.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
-
Tolik
- Гуру
- Сообщения: 2604
- Зарегистрирован: 28 янв 2011, 10:38
- Благодарил (а): 283 раза
- Поблагодарили: 587 раз
Re: Добавить функцию разрезания пути
Лучше активной сделать последнюю точку первого сегмента? Тогда нажимая Backspace, можно будет удалить несколько точек или даже весь сегмент. То есть сразу вырезать ненужную часть, что и требовалось (быть может).vdemidov писал(а): Если активна внутренняя точка сегмента, то дублируем ее и вставляем разрыв между ними. Активной становится первая точка второго сегмента.
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Добавить функцию разрезания пути
А если мы случайно нажали на ножницы, то нужно целая куча операций что бы их отменить: подвинуть последнюю точку первого сегмента, кликнуть на первую второго, нажать Backspace, удалить подвинутую точку.Tolik писал(а):Лучше активной сделать последнюю точку первого сегмента? Тогда нажимая Backspace, можно будет удалить несколько точек или даже весь сегмент. То есть сразу вырезать ненужную часть, что и требовалось (быть может).vdemidov писал(а): Если активна внутренняя точка сегмента, то дублируем ее и вставляем разрыв между ними. Активной становится первая точка второго сегмента.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
-
Tolik
- Гуру
- Сообщения: 2604
- Зарегистрирован: 28 янв 2011, 10:38
- Благодарил (а): 283 раза
- Поблагодарили: 587 раз
Re: Добавить функцию разрезания пути
нажимаем Esc и всё возвращается как было.vdemidov писал(а): А если мы случайно нажали на ножницы, то
А может, сделать кнопку Undo? Которая будет работать не только на ножницы, но и на случайное перемещение/создание/удаление точки. Как-нибудь потом.
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Добавить функцию разрезания пути
Это если мы только начали редактировать. В общем вопрос спорный и не очевидный для меня, но кто платит тот и заказывает музыку. Как хотите, но не гарантирую, что это со временем не поменяется в случае просьб других пользователейTolik писал(а): нажимаем Esc и всё возвращается как было.
Эффективная и корректная реализация Undo/Redo это очень сложная задача. А реализация должна быть именно эффективной иначе не получится редактировать длинные треки, которые могут состоять из десятков тысяч точек (1 точка в секунду это 36000 за 10 часов). У меня даже планов на это нет.Tolik писал(а):А может, сделать кнопку Undo? Которая будет работать не только на ножницы, но и на случайное перемещение/создание/удаление точки. Как-нибудь потом.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Добавить функцию разрезания пути
Ладно. Для начала сделаю как получится, а там попробуем, пощупаемTolik писал(а):Впрочем, не буду сильно спорить по этому поводу.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Добавить функцию разрезания пути
Ну так что, делать в таком объеме:Tolik писал(а):Уже не $5, а $11 (475+380=855 руб, если я правильно понял про комиссию). Спешите, пока они не превратились в $5vdemidov писал(а):По крайней мере не за $5
- Добавляю в режиме редактирования трека кнопку "Ножницы".
Добавляю в режиме редактирования трека кнопку "Сохранить сегменты как отдельные пути"
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.