refactor
This commit is contained in:
parent
4fe924ae6a
commit
deade2f47d
@ -16,12 +16,14 @@ namespace CdgLib
|
||||
public const int FullWidth = 300;
|
||||
public const int FullHeight = 216;
|
||||
|
||||
private int _borderColourIndex;
|
||||
|
||||
private int _horizonalOffset;
|
||||
private int _verticalOffset;
|
||||
|
||||
private readonly int[] _colourTable = new int[ColourTableSize];
|
||||
private readonly byte[,] _pixelColours = new byte[FullHeight, FullWidth];
|
||||
private int[,] _graphicData;
|
||||
private int[,] _graphicData = new int[FullHeight, FullWidth];
|
||||
|
||||
public Graphic(IEnumerable<Packet> packets)
|
||||
{
|
||||
@ -33,6 +35,7 @@ namespace CdgLib
|
||||
|
||||
public Bitmap ToBitmap()
|
||||
{
|
||||
RenderSurface();
|
||||
Bitmap myBitmap;
|
||||
using (var bitmapStream = new MemoryStream())
|
||||
{
|
||||
@ -104,6 +107,7 @@ namespace CdgLib
|
||||
private void MemoryPreset(Packet packet)
|
||||
{
|
||||
var colour = packet.Data[0] & 0xf;
|
||||
_borderColourIndex = colour;
|
||||
var repeat = packet.Data[1] & 0xf;
|
||||
|
||||
//we have a reliable packet stream, so the repeat command
|
||||
@ -133,6 +137,7 @@ namespace CdgLib
|
||||
int columnIndex;
|
||||
|
||||
var colour = packet.Data[0] & 0xf;
|
||||
_borderColourIndex = colour;
|
||||
|
||||
//The border area is the area contained with a rectangle
|
||||
//defined by (0,0,300,216) minus the interior pixels which are contained
|
||||
@ -379,7 +384,7 @@ namespace CdgLib
|
||||
if (rowIndex < TileHeight || rowIndex >= FullHeight - TileHeight || columnIndex < TileWidth ||
|
||||
columnIndex >= FullWidth - TileWidth)
|
||||
{
|
||||
_graphicData[rowIndex, columnIndex] = _colourTable[_mBorderColourIndex];
|
||||
_graphicData[rowIndex, columnIndex] = _colourTable[_borderColourIndex];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
@ -23,7 +24,9 @@ namespace CdgLib
|
||||
|
||||
for (var i = 0; i < bytesRead/PacketSize; i++)
|
||||
{
|
||||
var subCodePacket = new Packet(buffer.Skip(i*PacketSize).Take(PacketSize).ToArray());
|
||||
var cdgPacket = new byte[PacketSize];
|
||||
Array.Copy(buffer,i*PacketSize,cdgPacket,0,PacketSize);
|
||||
var subCodePacket = new Packet(cdgPacket);
|
||||
subCodePackets.Add(subCodePacket);
|
||||
}
|
||||
return subCodePackets;
|
||||
|
||||
@ -36,10 +36,10 @@ namespace KaraokePlayer
|
||||
|
||||
}
|
||||
|
||||
public void Play(Uri file)
|
||||
public async void Play(Uri file)
|
||||
{
|
||||
vlcPlayer.SetMedia(file);
|
||||
_cdgFile = new GraphicsFile(Path.ChangeExtension(file.LocalPath, "cdg"), FileMode.Open, FileAccess.Read);
|
||||
_cdgFile = await GraphicsFile.LoadAsync(Path.ChangeExtension(file.LocalPath, "cdg"));
|
||||
vlcPlayer.Play();
|
||||
}
|
||||
|
||||
@ -52,7 +52,7 @@ namespace KaraokePlayer
|
||||
{
|
||||
var stopwatch = new Stopwatch();
|
||||
stopwatch.Start();
|
||||
var picture = await _cdgFile.RenderAtTime((long) (DateTime.Now - _startTime).TotalMilliseconds);
|
||||
var picture = _cdgFile.RenderAtTime((long) (DateTime.Now - _startTime).TotalMilliseconds);
|
||||
stopwatch.Reset();
|
||||
Debug.Print(stopwatch.ElapsedMilliseconds.ToString());
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user