Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 20 additions & 20 deletions OpenUtau/Controls/PianoRoll.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<RowDefinition Height="150"
MinHeight="{Binding NotesViewModel.ExpHeightMin}"
MaxHeight="{Binding NotesViewModel.ExpHeightMax}"/>
<RowDefinition Height="4"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60"/>
Expand Down Expand Up @@ -378,48 +378,45 @@
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.Items>
<ListBoxItem Classes="toolbar cursorTool" ToolTip.Tip="{DynamicResource pianoroll.tool.selectionv2}"/>
<ListBoxItem Classes="toolbar hasSubTool" ToolTip.Tip="{DynamicResource pianoroll.tool.penv2}"
Name="penTool" PointerReleased="OnToolButtonPointerReleased">
<ListBoxItem Classes="toolbar cursorTool" ToolTip.Tip="{Binding SelectionToolTip}"/>
<ListBoxItem Classes="toolbar hasSubTool" Name="penTool" PointerReleased="OnToolButtonPointerReleased">
<FlyoutBase.AttachedFlyout>
<Flyout Placement="Bottom" ShowMode="Transient">
<Border BorderThickness="0">
<ListBox SelectedIndex="{Binding PenToolIndex}" Background="Transparent" PointerReleased="PenToolListBox_PointerReleased">
<ListBoxItem Classes="toolbar penTool" ToolTip.Tip="{DynamicResource pianoroll.tool.penv2}"/>
<ListBoxItem Classes="toolbar penPlusTool" ToolTip.Tip="{DynamicResource pianoroll.tool.penplus}"/>
<ListBoxItem Classes="toolbar penTool" ToolTip.Tip="{Binding PenToolTip}"/>
<ListBoxItem Classes="toolbar penPlusTool" ToolTip.Tip="{Binding PenPlusToolTip}"/>
</ListBox>
</Border>
</Flyout>
</FlyoutBase.AttachedFlyout>
</ListBoxItem>
<ListBoxItem Classes="toolbar eraserTool" ToolTip.Tip="{DynamicResource pianoroll.tool.eraser}"/>
<ListBoxItem Classes="toolbar hasSubTool" ToolTip.Tip="{DynamicResource pianoroll.tool.drawpitch}"
Name="drawPitchTool" PointerReleased="OnToolButtonPointerReleased">
<ListBoxItem Classes="toolbar eraserTool" ToolTip.Tip="{Binding EraserToolTip}"/>
<ListBoxItem Classes="toolbar hasSubTool" Name="drawPitchTool" PointerReleased="OnToolButtonPointerReleased">
<FlyoutBase.AttachedFlyout>
<Flyout Placement="Bottom" ShowMode="Transient">
<Border BorderThickness="0">
<ListBox SelectedIndex="{Binding DrawPitchToolIndex}" Background="Transparent" PointerReleased="DrawPitchToolListBox_PointerReleased">
<ListBoxItem Classes="toolbar drawPitchTool" ToolTip.Tip="{DynamicResource pianoroll.tool.drawpitch}"/>
<ListBoxItem Classes="toolbar overwritePitchTool" ToolTip.Tip="{DynamicResource pianoroll.tool.overwritepitch}"/>
<ListBoxItem Classes="toolbar drawPitchTool" ToolTip.Tip="{Binding DrawPitchToolTip}"/>
<ListBoxItem Classes="toolbar overwritePitchTool" ToolTip.Tip="{Binding OverwritePitchToolTip}"/>
</ListBox>
</Border>
</Flyout>
</FlyoutBase.AttachedFlyout>
</ListBoxItem>
<ListBoxItem Classes="toolbar hasSubTool" ToolTip.Tip="{DynamicResource pianoroll.tool.drawlinepitch}"
Name="drawLinePitchTool" PointerReleased="OnToolButtonPointerReleased">
<ListBoxItem Classes="toolbar hasSubTool" Name="drawLinePitchTool" PointerReleased="OnToolButtonPointerReleased">
<FlyoutBase.AttachedFlyout>
<Flyout Placement="Bottom" ShowMode="Transient">
<Border BorderThickness="0">
<ListBox SelectedIndex="{Binding DrawLinePitchToolIndex}" Background="Transparent" PointerReleased="DrawLinePitchToolListBox_PointerReleased">
<ListBoxItem Classes="toolbar drawLinePitchTool" ToolTip.Tip="{DynamicResource pianoroll.tool.drawlinepitch}"/>
<ListBoxItem Classes="toolbar overwriteLinePitchTool" ToolTip.Tip="{DynamicResource pianoroll.tool.overwritelinepitch}"/>
<ListBoxItem Classes="toolbar drawLinePitchTool" ToolTip.Tip="{Binding DrawLinePitchToolTip}"/>
<ListBoxItem Classes="toolbar overwriteLinePitchTool" ToolTip.Tip="{Binding OverwriteLinePitchToolTip}"/>
</ListBox>
</Border>
</Flyout>
</FlyoutBase.AttachedFlyout>
</ListBoxItem>
<ListBoxItem Classes="toolbar knifeTool" ToolTip.Tip="{DynamicResource pianoroll.tool.knife}"/>
<ListBoxItem Classes="toolbar knifeTool" ToolTip.Tip="{Binding KnifeToolTip}"/>
</ListBox.Items>
</ListBox>
<Border Width="12"/>
Expand Down Expand Up @@ -603,10 +600,10 @@
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.Items>
<ListBoxItem Classes="toolbar cursorTool"/>
<ListBoxItem Classes="toolbar penTool"/>
<ListBoxItem Classes="toolbar cursorTool" ToolTip.Tip="{Binding CurveSelectionToolTip}"/>
<ListBoxItem Classes="toolbar penTool" ToolTip.Tip="{Binding CurvePenToolTip}"/>
<!-- CurveLineTool -->
<ListBoxItem Classes="toolbar eraserTool"/>
<ListBoxItem Classes="toolbar eraserTool" ToolTip.Tip="{Binding CurveEraserToolTip}"/>
</ListBox.Items>
</ListBox>
<TextBlock Classes="tips" Grid.Row="5" Grid.Column="1"
Expand Down Expand Up @@ -669,7 +666,10 @@
<TextBlock Name="ValueTipText" Margin="2"/>
</Border>
</Canvas>
<ProgressBar Grid.Row="6" Grid.ColumnSpan="4" Value="{Binding Progress}" IsVisible="{Binding PianoRollDetached}"/>
<StackPanel Grid.Row="6" Grid.ColumnSpan="4">
<TextBlock Height="20" Margin="4,4,4,0" Text="{Binding StatusBarText}"/>
<ProgressBar Value="{Binding Progress}" IsVisible="{Binding PianoRollDetached}" Height="4"/>
</StackPanel>
</Grid>
</Border>
</UserControl>
13 changes: 13 additions & 0 deletions OpenUtau/Controls/PianoRoll.axaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -397,16 +397,19 @@ void SetPenToolIcon() {
penTool.Classes.Remove("penTool");
penTool.Classes.Remove("penPlusTool");
penTool.Classes.Add(ViewModel.EditTool.PenToolVariation == 1 ? "penPlusTool" : "penTool");
ToolTip.SetTip(penTool, ViewModel.EditTool.PenToolVariation == 1 ? ViewModel.PenPlusToolTip : ViewModel.PenToolTip);
}
void SetDrawPitchToolIcon() {
drawPitchTool.Classes.Remove("drawPitchTool");
drawPitchTool.Classes.Remove("overwritePitchTool");
drawPitchTool.Classes.Add(ViewModel.EditTool.DrawPitchToolVariation == 1 ? "overwritePitchTool" : "drawPitchTool");
ToolTip.SetTip(drawPitchTool, ViewModel.EditTool.DrawPitchToolVariation == 1 ? ViewModel.OverwritePitchToolTip : ViewModel.DrawPitchToolTip);
}
void SetDrawLinePitchToolIcon() {
drawLinePitchTool.Classes.Remove("drawLinePitchTool");
drawLinePitchTool.Classes.Remove("overwriteLinePitchTool");
drawLinePitchTool.Classes.Add(ViewModel.EditTool.DrawLinePitchToolVariation == 1 ? "overwriteLinePitchTool" : "drawLinePitchTool");
ToolTip.SetTip(drawLinePitchTool, ViewModel.EditTool.DrawLinePitchToolVariation == 1 ? ViewModel.OverwriteLinePitchToolTip : ViewModel.DrawLinePitchToolTip);
}

void SearchNote() {
Expand Down Expand Up @@ -601,6 +604,9 @@ public void KeyboardPointerMoved(object sender, PointerEventArgs args) {
var element = (TrackBackground)sender;
keyboardPlayState.Update(args.Pointer, args.GetPosition(element));
}
Cursor = null;
ViewModel.SetStatusBarText("Keyboard");
args.Handled = true;
}

public void KeyboardPointerReleased(object sender, PointerReleasedEventArgs args) {
Expand Down Expand Up @@ -657,6 +663,9 @@ public void TimelinePointerMoved(object sender, PointerEventArgs args) {
int tick = left + ViewModel.NotesViewModel.Part?.position ?? 0;
ViewModel.PlaybackViewModel?.MovePlayPos(tick);
}
Cursor = null;
ViewModel.SetStatusBarText("Timeline");
args.Handled = true;
}

public void TimelinePointerReleased(object sender, PointerReleasedEventArgs args) {
Expand Down Expand Up @@ -937,6 +946,7 @@ private void NotesCanvasRightPointerPressed(Control control, PointerPoint point,
public void NotesCanvasPointerMoved(object sender, PointerEventArgs args) {
var control = (Control)sender;
var point = args.GetCurrentPoint(control);
ViewModel.SetStatusBarText("NotesCanvas");
args.Handled = true;
if (ValueTipCanvas != null) {
valueTipPointerPosition = args.GetCurrentPoint(ValueTipCanvas!).Position;
Expand Down Expand Up @@ -1114,6 +1124,7 @@ public void ExpCanvasPointerPressed(object sender, PointerPressedEventArgs args)
public void ExpCanvasPointerMoved(object sender, PointerEventArgs args) {
var control = (Control)sender;
var point = args.GetCurrentPoint(control);
ViewModel.SetStatusBarText("ExpCanvas");
args.Handled = true;
if (ValueTipCanvas != null) {
valueTipPointerPosition = args.GetCurrentPoint(ValueTipCanvas!).Position;
Expand Down Expand Up @@ -1238,6 +1249,7 @@ public async void PhonemeCanvasPointerPressed(object sender, PointerPressedEvent
}

public void PhonemeCanvasPointerMoved(object sender, PointerEventArgs args) {
ViewModel.SetStatusBarText("PhonemeCanvas");
args.Handled = true;
if (ViewModel?.NotesViewModel?.Part == null) {
return;
Expand Down Expand Up @@ -1285,6 +1297,7 @@ public void PhonemeCanvasPointerReleased(object sender, PointerReleasedEventArgs

public void BackgroundPointerMoved(object sender, PointerEventArgs args) {
Cursor = null;
ViewModel.SetStatusBarText("Background");
args.Handled = true;
}

Expand Down
70 changes: 36 additions & 34 deletions OpenUtau/Strings/Strings.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -382,6 +382,13 @@ Warning: this option removes custom presets.</system:String>
<system:String x:Key="noteproperty.vibratoenable">Enable</system:String>
<system:String x:Key="noteproperty.phonemizer">Phonemizer</system:String>
<system:String x:Key="noteproperty.parent.phonemizer">Follows Parent Phonemizer</system:String>

<system:String x:Key="operation.clickplayhead">Click to move playhead</system:String>
<system:String x:Key="operation.clickplaysound">Click to play sound</system:String>
<system:String x:Key="operation.doubleeditphoneme">Double click a phoneme to edit</system:String>
<system:String x:Key="operation.scroolzoom">Scroll to zoom in/out horizontally</system:String>
<system:String x:Key="operation.separator">, </system:String>
<system:String x:Key="operation.timingenvelope">Drag to edit timing and envelope</system:String>

<system:String x:Key="oto.alias">Alias</system:String>
<system:String x:Key="oto.color">Color</system:String>
Expand Down Expand Up @@ -514,40 +521,6 @@ Warning: this option removes custom presets.</system:String>
<system:String x:Key="pianoroll.toggle.vibrato">View Vibrato (U)</system:String>
<system:String x:Key="pianoroll.toggle.waveform">View Waveform (W)</system:String>
<system:String x:Key="pianoroll.toggle.expressions">View Expressions (L)</system:String>
<system:String x:Key="pianoroll.tool.drawlinepitch">Line Draw Pitch Tool (5)
Left click to draw (draw straight line)
Right click to reset
Hold Ctrl to select
Hold Alt to smoothen</system:String>
<system:String x:Key="pianoroll.tool.drawpitch">Draw Pitch Tool (4)
Left click to draw
Right click to reset
Hold Ctrl to select
Hold Alt to smoothen</system:String>
<system:String x:Key="pianoroll.tool.eraser">Eraser Tool (3)</system:String>
<system:String x:Key="pianoroll.tool.knife">Knife Tool (5)</system:String>
<system:String x:Key="pianoroll.tool.overwritepitch">Overwrite Pitch Tool (4)
Left click to draw (overwrites vibrato or mod+)
Right click to reset
Hold Ctrl to select
Hold Alt to smoothen</system:String>
<system:String x:Key="pianoroll.tool.overwritelinepitch">Overwrite Line Pitch Tool (5)
Left click to draw
(draw straight line overwrites the vibrato or mod+)
Hold Ctrl to draw sine curve
Hold Alt + Shift to tune S-curve
Hold Alt to draw S-curve
Right click to reset
Hold Ctrl to select
Hold Alt to smoothen</system:String>
<system:String x:Key="pianoroll.tool.penplus">Pen Plus Tool (Ctrl + 2)
Left click to draw
Right click to delete
Hold Ctrl to select</system:String>
<system:String x:Key="pianoroll.tool.penv2">Pen Tool (2)
Left click to draw
Hold Ctrl to select</system:String>
<system:String x:Key="pianoroll.tool.selectionv2">Selection Tool (1)</system:String>
<system:String x:Key="pianoroll.tooltip.attack">Attack time delta</system:String>
<system:String x:Key="pianoroll.tooltip.overlap">Overlap</system:String>
<system:String x:Key="pianoroll.tooltip.preutter">Preutter</system:String>
Expand Down Expand Up @@ -781,6 +754,35 @@ General
Space: Play</system:String>
<system:String x:Key="tip.notes.zoomx">◀ Scroll here to zoom horizontally ▶</system:String>
<system:String x:Key="tip.notes.zoomy">Scroll here to zoom vertically ▶</system:String>

<system:String x:Key="tools.drawlinepitch">Draw Line Pitch Tool</system:String>
<system:String x:Key="tools.drawpitch">Draw Pitch Tool</system:String>
<system:String x:Key="tools.eraser">Eraser Tool</system:String>
<system:String x:Key="tools.knife">Knife Tool</system:String>
<system:String x:Key="tools.overwritelinepitch">Overwrite Line Pitch Tool</system:String>
<system:String x:Key="tools.overwritepitch">Overwrite Pitch Tool</system:String>
<system:String x:Key="tools.pen">Pen Tool</system:String>
<system:String x:Key="tools.penplus">Pen Plus Tool</system:String>
<system:String x:Key="tools.selection">Selection Tool</system:String>
<system:String x:Key="tools.tips.altsmoothen">Hold Alt to smoothen</system:String>
<system:String x:Key="tools.tips.ctrlselect">Hold Ctrl to select</system:String>
<system:String x:Key="tools.tips.leftdelete">Click to delete note</system:String>
<system:String x:Key="tools.tips.leftdragcreate">Drag to create note</system:String>
<system:String x:Key="tools.tips.leftdragdraw">Drag to draw</system:String>
<system:String x:Key="tools.tips.leftdragdrawline">Drag to draw straight line</system:String>
<system:String x:Key="tools.tips.leftdragdrawlineoverwrite">Drag to draw straight line (overwrites vibrato or mod+)</system:String>
<system:String x:Key="tools.tips.leftdragdrawoverwrite">Drag to draw (overwrites vibrato or mod+)</system:String>
<system:String x:Key="tools.tips.leftdragreset">Drag to reset</system:String>
<system:String x:Key="tools.tips.leftdragselect">Drag to select</system:String>
<system:String x:Key="tools.tips.leftexp">Click to set expression</system:String>
<system:String x:Key="tools.tips.leftsplit">Click to split note</system:String>
<system:String x:Key="tools.tips.rightdelete">Right click to delete note</system:String>
<system:String x:Key="tools.tips.rightdeselect">Right click to deselect</system:String>
<system:String x:Key="tools.tips.rightdragreset">Right drag to reset</system:String>
<system:String x:Key="tools.tips.rightreset">Right click to reset</system:String>
<system:String x:Key="tools.tips.shiftctrlline">Hold Shift + Ctrl to draw straight line</system:String>
<system:String x:Key="tools.tips.shifthorizontal">Hold Shift to draw horizontal line</system:String>
<system:String x:Key="tools.tips.shiftsameexp">Hold Shift to set same expressions</system:String>

<system:String x:Key="tracks.duplicate">Duplicate Track</system:String>
<system:String x:Key="tracks.duplicatesettings">Duplicate Track Settings</system:String>
Expand Down
Loading
Loading