2011-10-24 11:38:10 +00:00
|
|
|
|
using System;
|
|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
|
|
|
|
|
|
|
namespace CUETools.Processor
|
|
|
|
|
|
{
|
|
|
|
|
|
public class CUEToolsUDCList : BindingList<CUEToolsUDC>
|
|
|
|
|
|
{
|
|
|
|
|
|
public CUEToolsUDCList()
|
|
|
|
|
|
: base()
|
|
|
|
|
|
{
|
|
|
|
|
|
AddingNew += OnAddingNew;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void OnAddingNew(object sender, AddingNewEventArgs e)
|
|
|
|
|
|
{
|
2013-03-31 01:11:00 -04:00
|
|
|
|
e.NewObject = new CUEToolsUDC("new", "wav", true, "", "", "", "");
|
2011-10-24 11:38:10 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2013-03-31 01:11:00 -04:00
|
|
|
|
public bool TryGetValue(string extension, bool lossless, string name, out CUEToolsUDC result)
|
2011-10-24 11:38:10 +00:00
|
|
|
|
{
|
|
|
|
|
|
foreach (CUEToolsUDC udc in this)
|
|
|
|
|
|
{
|
2013-03-31 01:11:00 -04:00
|
|
|
|
if (udc.extension == extension && udc.lossless == lossless && udc.name == name)
|
2011-10-24 11:38:10 +00:00
|
|
|
|
{
|
|
|
|
|
|
result = udc;
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
result = null;
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public CUEToolsUDC GetDefault(string extension, bool lossless)
|
|
|
|
|
|
{
|
|
|
|
|
|
CUEToolsUDC result = null;
|
|
|
|
|
|
foreach (CUEToolsUDC udc in this)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (udc.extension == extension && udc.lossless == lossless && (result == null || result.priority < udc.priority))
|
|
|
|
|
|
{
|
|
|
|
|
|
result = udc;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return result;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|