Skip to content
Merged
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
3 changes: 3 additions & 0 deletions .cursorindexingignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

# Don't index SpecStory auto-save files, but allow explicit context inclusion via @ references
.specstory/**
4 changes: 4 additions & 0 deletions .specstory/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# SpecStory project identity file
/.project.json
# SpecStory explanation file
/.what-is-this.md
111 changes: 103 additions & 8 deletions Audiomatic/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@
ToolTipService.ToolTip="Shuffle" VerticalAlignment="Center">
<FontIcon x:Name="ShuffleIcon" Glyph="&#xE8B1;" FontSize="14"/>
</Button>
<Button Background="Transparent" BorderThickness="0"
<Button x:Name="PrevButton" Background="Transparent" BorderThickness="0"
Padding="8,6" Click="Prev_Click"
ToolTipService.ToolTip="Previous" VerticalAlignment="Center">
<FontIcon Glyph="&#xE892;" FontSize="18"/>
Expand All @@ -196,7 +196,7 @@
Foreground="White"/>
</Button>

<Button Background="Transparent" BorderThickness="0"
<Button x:Name="NextButton" Background="Transparent" BorderThickness="0"
Padding="8,6" Click="Next_Click"
ToolTipService.ToolTip="Next" VerticalAlignment="Center">
<FontIcon Glyph="&#xE893;" FontSize="18"/>
Expand Down Expand Up @@ -247,13 +247,17 @@
Padding="8,4" Click="NavQueue_Click">
<TextBlock x:Name="NavQueueText" Text="Queue" FontSize="12"/>
</Button>
<Button x:Name="NavVisualizerBtn" Background="Transparent" BorderThickness="0"
Padding="8,4" Click="NavVisualizer_Click">
<TextBlock x:Name="NavVisualizerText" Text="Visualizer" FontSize="12"/>
<Button x:Name="NavRadioBtn" Background="Transparent" BorderThickness="0"
Padding="8,4" Click="NavRadio_Click">
<TextBlock x:Name="NavRadioText" Text="Radio" FontSize="12"/>
</Button>
<Button x:Name="NavMediaBtn" Background="Transparent" BorderThickness="0"
Padding="8,4" Click="NavMedia_Click">
<TextBlock x:Name="NavMediaText" Text="Media" FontSize="12"/>
<Button x:Name="NavPodcastBtn" Background="Transparent" BorderThickness="0"
Padding="8,4" Click="NavPodcast_Click">
<TextBlock x:Name="NavPodcastText" Text="Podcasts" FontSize="12"/>
</Button>
<Button x:Name="NavMoreBtn" Background="Transparent" BorderThickness="0"
Padding="8,4" Click="NavMore_Click">
<TextBlock x:Name="NavMoreText" Text="..." FontSize="12"/>
</Button>
</StackPanel>

Expand Down Expand Up @@ -351,6 +355,97 @@
<Canvas x:Name="WaveformCanvas" Grid.Row="1"/>
</Grid>

<!-- Row 7: Radio (shown when Radio view is active) -->
<ScrollViewer x:Name="RadioContainer" Grid.Row="7" Visibility="Collapsed"
Padding="14,0">
<StackPanel Spacing="12">
<TextBlock Text="Radio Stream" FontSize="14" FontWeight="SemiBold"
Margin="0,8,0,0"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="RadioUrlBox" Grid.Column="0"
PlaceholderText="Enter stream URL (e.g. http://...)"
FontSize="13" Padding="8,6" CornerRadius="6"
KeyDown="RadioUrlBox_KeyDown"/>
<Button x:Name="RadioPlayBtn" Grid.Column="1" Margin="6,0,0,0"
Padding="10,6" CornerRadius="6" Click="RadioPlay_Click"
ToolTipService.ToolTip="Play stream">
<FontIcon Glyph="&#xE768;" FontSize="14"/>
</Button>
</Grid>
<TextBlock x:Name="RadioStatusText" Text=""
Style="{StaticResource CaptionTextBlockStyle}"
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
TextWrapping="Wrap"/>
<ListView x:Name="RadioHistoryList"
SelectionMode="None"
IsItemClickEnabled="True"
ItemClick="RadioHistory_ItemClick">
<ListView.Header>
<TextBlock Text="Recent stations" FontSize="12"
Foreground="{ThemeResource TextFillColorTertiaryBrush}"
Margin="0,4,0,4"/>
</ListView.Header>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="Padding" Value="4,2"/>
<Setter Property="MinHeight" Value="32"/>
</Style>
</ListView.ItemContainerStyle>
</ListView>
</StackPanel>
</ScrollViewer>

<!-- Row 7: Podcast (shown when Podcast view is active) -->
<Grid x:Name="PodcastContainer" Grid.Row="7" Visibility="Collapsed">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>

<!-- Search bar + back button -->
<Grid Grid.Row="0" Padding="14,4,14,6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button x:Name="PodcastBackBtn" Grid.Column="0" Background="Transparent"
BorderThickness="0" Padding="4,4" Click="PodcastBack_Click"
Visibility="Collapsed" ToolTipService.ToolTip="Back">
<FontIcon Glyph="&#xE72B;" FontSize="12"/>
</Button>
<TextBox x:Name="PodcastSearchBox" Grid.Column="1"
PlaceholderText="Search podcasts..."
FontSize="13" Padding="8,6" CornerRadius="6"
KeyDown="PodcastSearchBox_KeyDown"/>
<Button x:Name="PodcastSearchBtn" Grid.Column="2" Margin="6,0,0,0"
Padding="10,6" CornerRadius="6" Click="PodcastSearch_Click"
ToolTipService.ToolTip="Search">
<FontIcon Glyph="&#xE721;" FontSize="14"/>
</Button>
</Grid>

<!-- Content list -->
<ListView x:Name="PodcastListView" Grid.Row="1"
Padding="6,0"
SelectionMode="None"
IsItemClickEnabled="True"
ItemClick="PodcastList_ItemClick">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="Padding" Value="8,4"/>
<Setter Property="MinHeight" Value="48"/>
</Style>
</ListView.ItemContainerStyle>
</ListView>
</Grid>

<!-- Row 7: Media control (shown when Media view is active) -->
<ScrollViewer x:Name="MediaContainer" Grid.Row="7" Visibility="Collapsed"
Padding="6,0">
Expand Down
Loading