├── icon.ico
├── icon_new.ico
├── SharpExtension.dll
├── SharpCollections.dll
├── App.config
├── Structures.cs
├── UI
├── BBinding.cs
├── Colors.xaml
├── HexColorPicker.xaml
├── OrValueConverter.cs
├── ValueSlider.xaml
├── InplaceConverter.cs
├── BetterRadio.xaml
├── BetterCheckbox.xaml
├── BetterSlider.xaml
├── NumberSelect.xaml
├── BetterCheckbox.xaml.cs
├── ListBox.xaml
├── HexColorPicker.xaml.cs
├── RippleEffectDecorator.cs
├── BetterRadio.xaml.cs
├── ValueSlider.xaml.cs
├── Scrollbar.xaml
├── NumberSelect.xaml.cs
├── BetterSlider.xaml.cs
└── Material.xaml
├── README.md
├── Program.cs
├── Core
├── RendererBase.cs
├── FFMpeg.cs
├── RenderOptions.cs
├── Color.cs
├── Global.cs
├── NoteSorter.cs
├── CanvasBase.cs
├── RenderFile.cs
├── CommonRenderer.cs
└── CommonCanvas.cs
├── Config.cs
├── PFAConfigrationLoader.cs
└── CustomColor.cs
/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/null7323/QMidiCore-Quaver-Stream-Renderer/HEAD/icon.ico
--------------------------------------------------------------------------------
/icon_new.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/null7323/QMidiCore-Quaver-Stream-Renderer/HEAD/icon_new.ico
--------------------------------------------------------------------------------
/SharpExtension.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/null7323/QMidiCore-Quaver-Stream-Renderer/HEAD/SharpExtension.dll
--------------------------------------------------------------------------------
/SharpCollections.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/null7323/QMidiCore-Quaver-Stream-Renderer/HEAD/SharpCollections.dll
--------------------------------------------------------------------------------
/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Structures.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace QQS_UI
8 | {
9 | public struct Note
10 | {
11 | public byte Key;
12 | public ushort Track;
13 | public uint Start, End;
14 | }
15 | public struct Tempo
16 | {
17 | public uint Tick;
18 | public uint Value;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/UI/BBinding.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Windows;
7 | using System.Windows.Data;
8 |
9 | namespace QQS_UI.UI
10 | {
11 | public class BBinding : Binding
12 | {
13 | public BBinding(DependencyProperty dp, object source) : base()
14 | {
15 | Path = new PropertyPath(dp);
16 | Source = source;
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # QMidiCore-Quaver-Stream-Renderer
2 | QMidiCore Quaver Stream Renderer (简称QQS) 是一个黑乐谱渲染器. 原作者是qishipai.
3 |
4 | ### 项目引用 Project reference
5 | - SharpExtension 提供一些操作非托管内存以及流的方法. Provides some methods of allocating, freeing unmanaged memory and stream operations.
6 | - SharpCollections 提供一些基于非托管内存的集合类型. Provides some collections using unmanaged memory.
7 | - Newtonsoft.Json 进行Json操作.
8 |
9 | ### UI
10 | 使用了Arduano的"Zenith-MIDI"项目中的UI样式,并进行了颜色修改.
11 |
12 | ### Contributors
13 | - qishipai (原作者)
14 | - Tweak
15 | - fnull601
16 | - MBMS (翻译)
17 |
18 | ### 说明
19 | 平台:.NET 7.0-Windows
20 |
--------------------------------------------------------------------------------
/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Windows;
3 |
4 | namespace QQS_UI
5 | {
6 | public class Program
7 | {
8 | [STAThread]
9 | private static unsafe void Main(string[] args)
10 | {
11 | Console.Title = "QMIDICore Quaver Stream Renderer";
12 | #if !DEBUG
13 | try
14 | {
15 | #endif
16 | Application app = new();
17 | _ = app.Run(new MainWindow());
18 | #if !DEBUG
19 | }
20 | catch (Exception ex)
21 | {
22 | Console.WriteLine($"An error occurred:\n{ex.Message}\nStack Trace:\n{ex.StackTrace}");
23 | }
24 | #endif
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/UI/Colors.xaml:
--------------------------------------------------------------------------------
1 |
7 | #0E8DB2
8 |
9 |
10 | Microsoft Yahei Light
11 |
--------------------------------------------------------------------------------
/UI/HexColorPicker.xaml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/UI/OrValueConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Globalization;
3 | using System.Windows.Data;
4 |
5 | namespace QQS_UI.UI
6 | {
7 | internal class OrValueConverter : IMultiValueConverter
8 | {
9 | public object Convert(object[] values, Type targetType, object parmeter, CultureInfo culture)
10 | {
11 | foreach (object obj in values)
12 | {
13 | if ((bool)obj)
14 | {
15 | return true;
16 | }
17 | }
18 | return false;
19 | }
20 |
21 | public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
22 | {
23 | throw new NotImplementedException();
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/UI/ValueSlider.xaml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/UI/InplaceConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Globalization;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 | using System.Windows;
8 | using System.Windows.Data;
9 | using System.Reflection;
10 |
11 | namespace QQS_UI.UI
12 | {
13 | public class InplaceConverter : IMultiValueConverter
14 | {
15 | Func