X Tutup
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
113fc51
no WPF
Speykious Sep 2, 2024
ee07d8f
no NAudio
Speykious Sep 2, 2024
e1b7e87
Use native file dialogs
Speykious Sep 2, 2024
701a917
Fix inputs with custom dialog boxes
Speykious Sep 2, 2024
25a413e
Fix dialog filters
Speykious Sep 5, 2024
6767f16
Add Audio Linux engine
Speykious Sep 5, 2024
2e86919
Make sure SetApartmentState is only called on Windows
Speykious Sep 5, 2024
0d4ac07
Reimplement wav file reading/writing
Speykious Sep 5, 2024
813df83
Fix dialog filters again
Speykious Sep 5, 2024
ce2102d
Make sure file gets closed afterwards
Speykious Sep 5, 2024
3cb331d
IAudioContext, audio output devices, sample rate
Speykious Sep 7, 2024
0650299
Fix misconfiguration if first device
Speykious Sep 7, 2024
9c09cb9
Discard output-only devices (they're duplicates)
Speykious Sep 7, 2024
52a6cde
Discard sysdefault devices (they're also duplicates)
Speykious Sep 7, 2024
b05a259
Revive StereoBiQuadFilter
Speykious Sep 8, 2024
29f475b
Revive LoopStream
Speykious Sep 8, 2024
1c5b0f7
Flatten audio provider (it's just a function now)
Speykious Sep 8, 2024
964a353
Make the sample browser functional again
Speykious Sep 8, 2024
ef97f73
Replce remaining `previewOut.Stop()` calls
Speykious Sep 8, 2024
b68b0ce
Vendor NAudio.Midi
Speykious Sep 9, 2024
9d06fd3
Rename MidiInterop to Winmm
Speykious Sep 10, 2024
67c1bbf
Add SupportedOSPlatform
Speykious Sep 14, 2024
1444dc9
Merge branch 'main' into potential-linux-build
Speykious Sep 14, 2024
c063e47
Move WaveTracker csproj in its own subfolder
Speykious Sep 14, 2024
2bdb487
Set audio latency from config
Speykious Sep 14, 2024
eae36b4
Better organize audio classes
Speykious Sep 14, 2024
7d97a42
Implement ALSA Midi input, remove MidiOut
Speykious Sep 15, 2024
52cec96
Merge branch 'main' into potential-linux-build
Speykious Sep 16, 2024
1fc0151
Keep Windows system sounds playing
Speykious Sep 16, 2024
a0164a3
Maximize window on startup
Speykious Sep 17, 2024
e119b5c
Call SDL_MaximizeWindow
Speykious Sep 17, 2024
9bc926c
Restore save dialog
Speykious Sep 20, 2024
427c0f3
Revive Sample.SaveToDisk
Speykious Sep 20, 2024
7ba1c90
Merge branch 'main' into potential-linux-build
Speykious Sep 21, 2024
07230d4
Use DirectX backend on Windows
Speykious Sep 22, 2024
77596e7
AudioLinuxContext -> AudioContextLinux
Speykious Sep 22, 2024
30ab740
Remove now-unused EnterText dialog
Speykious Sep 23, 2024
fd4a230
Start Windows audio backend implementation
Speykious Sep 23, 2024
db09280
Set window position to zero
Speykious Oct 5, 2024
0934ef3
Use DesktopGL on all platforms
Speykious Oct 5, 2024
52be276
Implement audio output on Windows
Speykious Oct 5, 2024
c08cbfa
Merge branch 'main' into potential-linux-build
Speykious Oct 5, 2024
a3e7644
Fix Windows autio output; implement sample rate and latency change
Speykious Oct 5, 2024
c992211
Safety: make sure buffer has a minimum length on Windows
Speykious Oct 6, 2024
7adcf32
Merge branch 'main' into potential-linux-build
Speykious Oct 15, 2024
73de888
Merge branch 'main' into potential-linux-build
Speykious Oct 17, 2024
d0ee3fb
Read audio files with FFmpeg
Speykious Oct 23, 2024
b4cace7
Merge branch 'main' into potential-linux-build
Speykious Oct 23, 2024
1447ac1
Fix Windows path for loading FFmpeg libraries
Speykious Oct 23, 2024
7347ac6
Small modifications
Speykious Oct 23, 2024
9739f62
Fix and document the Windows audio context
Speykious Oct 23, 2024
0c7804c
Remove unused imports
Speykious Oct 23, 2024
1c2e18c
Remove Windows-only PreBuild task
Speykious Oct 23, 2024
01c9bf6
Add missing implementation ref links
Speykious Oct 23, 2024
97e7093
Remove unused Wav methods
Speykious Oct 23, 2024
7fb0440
Make sure audio reader is disposed
Speykious Oct 23, 2024
b8c8a46
Remove leftover print statements
Speykious Oct 24, 2024
982cb3f
Remove all unused events in WaveTracker.Midi
Speykious Oct 26, 2024
47a11b1
Fix opening files and links externally
Speykious Nov 1, 2024
3e0ac4e
Fix DesktopGL app icon bug
Speykious Nov 11, 2024
3b71c6a
Fix indentation
Speykious Nov 14, 2024
0d306f0
Linux: Write audio in non-blocking mode
Speykious Nov 14, 2024
a0e404a
Fix audio visualization stuttering on Windows
Speykious Dec 7, 2024
deaa377
Polish Windows audio write logic
Speykious Dec 7, 2024
51c61d0
Fix wrong Windows buffer latency
Speykious Dec 8, 2024
4db2723
Ensure better audio visualization smoothness on Windows
Speykious Dec 8, 2024
2951e0b
Remove `AvailableFrames`
Speykious Dec 16, 2024
d623091
Try to revive autio context after exception
Speykious Dec 16, 2024
d2b5d45
Windows audio context: close before opening if already opened
Speykious Dec 16, 2024
80f33c9
Explicit variable initialization
Speykious Dec 16, 2024
ef99147
Fix a previous bad partial commit
Speykious Feb 2, 2025
5a08e5e
minor code change
Speykious Feb 3, 2025
cc1e0e0
Use messages to control audio context exclusively from audio thread
Speykious Feb 3, 2025
cd520fd
Do not send command to stop audio thread if audio thread doesn't exist
Speykious Feb 3, 2025
93203d9
Fix audio staggering on Windows
Speykious Feb 3, 2025
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
268 changes: 0 additions & 268 deletions Source/Audio/AudioEngine.cs

This file was deleted.

33 changes: 33 additions & 0 deletions WaveTracker.Midi/IMidiIn.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
using System;

namespace WaveTracker.Midi {
/// <summary>
/// Represents a MIDI in device
/// </summary>
public interface IMidiIn : IDisposable {
/// <summary>
/// Called when a MIDI message is received
/// </summary>
public event EventHandler<MidiInMessageEventArgs> MessageReceived;

/// <summary>
/// An invalid MIDI message
/// </summary>
public event EventHandler<MidiInMessageEventArgs> ErrorReceived;

/// <summary>
/// Called when a Sysex MIDI message is received
/// </summary>
public event EventHandler<MidiInSysexMessageEventArgs> SysexMessageReceived;

/// <summary>
/// Start the MIDI in device
/// </summary>
public void Start();

/// <summary>
/// Stop the MIDI in device
/// </summary>
public void Stop();
}
}
Loading
X Tutup