├── .gitattributes
├── .gitignore
├── .gitignore.txt
├── Colours.xml
├── Depence2Inject
├── Class1.cs
├── Depence2Inject.csproj
└── Properties
│ └── AssemblyInfo.cs
├── Functions.xml.txt
├── HighPrecisionTimer
├── HighPrecisionTimer.csproj
├── MultimediaTimer.cs
└── Properties
│ └── AssemblyInfo.cs
├── JsonDataProvider
├── FodyWeavers.xml
├── FodyWeavers.xsd
├── JsonDataProvider.cs
├── JsonDataProvider.csproj
├── OnWidgetUI.xaml
├── OnWidgetUI.xaml.cs
├── Properties
│ └── AssemblyInfo.cs
├── app.config
└── packages.config
├── LTCSharp.dll
├── NDILibDotNet2
├── AudioFrame.cs
├── Colours.xml
├── Finder.cs
├── NDILibDotNet2.csproj
├── Pinvoke
│ ├── Processing.NDI.Find.Interop.cs
│ ├── Processing.NDI.FrameSync.Interop.cs
│ ├── Processing.NDI.Lib.Interop.cs
│ ├── Processing.NDI.Recv.Interop.cs
│ ├── Processing.NDI.Recv.ex.Interop.cs
│ ├── Processing.NDI.Routing.Interop.cs
│ ├── Processing.NDI.Send.Interop.cs
│ ├── Processing.NDI.compat.Interop.cs
│ ├── Processing.NDI.deprecated.Interop.cs
│ ├── Processing.NDI.structs.Interop.cs
│ ├── Processing.NDI.structs_deprecated.Interop.cs
│ └── Processing.NDI.utilities.Interop.cs
├── Properties
│ └── AssemblyInfo.cs
├── Router.cs
├── Sender.cs
├── Source.cs
├── Utilities.cs
├── VideoFrame.cs
├── WPF.ReceiveView.cs
├── Wpf.SendContainer.cs
├── app.config
└── packages.config
├── NanoXML
├── NanoXML.csproj
├── Program.cs
├── Properties
│ └── AssemblyInfo.cs
└── Shared
│ └── NanoXMLParser.cs
├── Popcron.Sheets.dll
├── Popcron.Sheets
├── BandedRange.cs
├── BandingProperties.cs
├── BasicChartAxis.cs
├── BasicChartDomain.cs
├── BasicChartSeries.cs
├── BasicChartSpec.cs
├── BasicFilter.cs
├── BooleanCondition.cs
├── BooleanRule.cs
├── Border.cs
├── Borders.cs
├── BubbleChartSpec.cs
├── CandlestickChartSpec.cs
├── CandlestickData.cs
├── CandlestickDomain.cs
├── CandlestickSeries.cs
├── CellData.cs
├── CellFormat.cs
├── ChartData.cs
├── ChartSourceRange.cs
├── ChartSpec.cs
├── Color.cs
├── ConditionValue.cs
├── ConditionalFormatRule.cs
├── DataFilter.cs
├── DataValidationRule.cs
├── DeveloperMetadata.cs
├── DeveloperMetadataLocation.cs
├── DeveloperMetadataLookup.cs
├── DimensionGroup.cs
├── DimensionProperties.cs
├── DimensionRange.cs
├── Editors.cs
├── EmbeddedChart.cs
├── EmbeddedObjectPosition.cs
├── ErrorValue.cs
├── ExtendedValue.cs
├── FilterCriteria.cs
├── FilterView.cs
├── GradientRule.cs
├── GridCoordinate.cs
├── GridData.cs
├── GridProperties.cs
├── GridRange.cs
├── HighLevel
│ ├── Cell.cs
│ ├── Sheet.cs
│ ├── SheetsClient.cs
│ ├── SheetsSerializer.cs
│ └── Spreadsheet.cs
├── HistogramChartSpec.cs
├── HistogramSeries.cs
├── InterpolationPoint.cs
├── IterativeCalculationSettings.cs
├── LineStyle.cs
├── NamedRange.cs
├── NumberFormat.cs
├── OAuth
│ ├── Authorization.cs
│ ├── AuthorizationType.cs
│ ├── OAuth.cs
│ └── OAuthToken.cs
├── OrgChartSpec.cs
├── OverlayPosition.cs
├── Padding.cs
├── PieChartSpec.cs
├── PivotFilterCriteria.cs
├── PivotTable.cs
├── PivotValue.cs
├── Popcron.Sheets.csproj
├── Properties
│ └── AssemblyInfo.cs
├── ProtectedRange.cs
├── Requests
│ ├── AddBandingRequest.cs
│ ├── AddChartRequest.cs
│ ├── AddConditionalFormatRuleRequest.cs
│ ├── AddDimensionGroupRequest.cs
│ ├── AddFilterViewRequest.cs
│ ├── AddNamedRangeRequest.cs
│ ├── AddProtectedRangeRequest.cs
│ ├── AddSheetRequest.cs
│ ├── AppendCellsRequest.cs
│ ├── AppendDimensionRequest.cs
│ ├── AutoFillRequest.cs
│ ├── AutoResizeDimensionsRequest.cs
│ ├── ClearBasicFilterRequest.cs
│ ├── CopyPasteRequest.cs
│ ├── CreateDeveloperMetadataRequest.cs
│ ├── CutPasteRequest.cs
│ ├── DeleteBandingRequest.cs
│ ├── DeleteConditionalFormatRuleRequest.cs
│ ├── DeleteDeveloperMetadataRequest.cs
│ ├── DeleteDimensionGroupRequest.cs
│ ├── DeleteDimensionRequest.cs
│ ├── DeleteEmbeddedObjectRequest.cs
│ ├── DeleteFilterViewRequest.cs
│ ├── DeleteNamedRangeRequest.cs
│ ├── DeleteProtectedRangeRequest.cs
│ ├── DeleteRangeRequest.cs
│ ├── DeleteSheetRequest.cs
│ ├── DuplicateFilterViewRequest.cs
│ ├── DuplicateSheetRequest.cs
│ ├── FindReplaceRequest.cs
│ ├── InsertDimensionRequest.cs
│ ├── InsertRangeRequest.cs
│ ├── MergeCellsRequest.cs
│ ├── MoveDimensionRequest.cs
│ ├── PasteDataRequest.cs
│ ├── RandomizeRangeRequest.cs
│ ├── RepeatCellRequest.cs
│ ├── Request.cs
│ ├── RequestBatchUpdate.cs
│ ├── SetBasicFilterRequest.cs
│ ├── SetDataValidationRequest.cs
│ ├── SortRangeRequest.cs
│ ├── SourceAndDestination.cs
│ ├── TextToColumnsRequest.cs
│ ├── UnmergeCellsRequest.cs
│ ├── UpdateBandingRequest.cs
│ ├── UpdateBordersRequest.cs
│ ├── UpdateCellsRequest.cs
│ ├── UpdateChartSpecRequest.cs
│ ├── UpdateConditionalFormatRuleRequest.cs
│ ├── UpdateDeveloperMetadataRequest.cs
│ ├── UpdateDimensionGroupRequest.cs
│ ├── UpdateDimensionPropertiesRequest.cs
│ ├── UpdateEmbeddedObjectPositionRequest.cs
│ ├── UpdateFilterViewRequest.cs
│ ├── UpdateNamedRangeRequest.cs
│ ├── UpdateProtectedRangeRequest.cs
│ ├── UpdateSheetPropertiesRequest.cs
│ └── UpdateSpreadsheetPropertiesRequest.cs
├── Responses
│ ├── AddBandingResponse.cs
│ ├── AddChartResponse.cs
│ ├── AddDimensionGroupResponse.cs
│ ├── AddFilterViewResponse.cs
│ ├── AddNamedRangeResponse.cs
│ ├── AddProtectedRangeResponse.cs
│ ├── AddSheetResponse.cs
│ ├── CreateDeveloperMetadataResponse.cs
│ ├── DeleteConditionalFormatRuleResponse.cs
│ ├── DeleteDeveloperMetadataResponse.cs
│ ├── DeleteDimensionGroupResponse.cs
│ ├── DuplicateFilterViewResponse.cs
│ ├── DuplicateSheetResponse.cs
│ ├── FindReplaceResponse.cs
│ ├── RequestBatchUpdateResponse.cs
│ ├── Response.cs
│ ├── UpdateConditionalFormatRuleResponse.cs
│ ├── UpdateDeveloperMetadataResponse.cs
│ └── UpdateEmbeddedObjectPositionResponse.cs
├── RowData.cs
├── SheetProperties.cs
├── SheetRaw.cs
├── SortSpec.cs
├── SpreadsheetProperties.cs
├── SpreadsheetRaw.cs
├── TextFormat.cs
├── TextFormatRun.cs
├── TextPosition.cs
├── TextRotation.cs
├── TreemapChartColorScale.cs
├── TreemapChartSpec.cs
├── WaterfallChartColumnStyle.cs
├── WaterfallChartCustomSubtotal.cs
├── WaterfallChartDomain.cs
├── WaterfallChartSpec.cs
├── WaterfallChartSpecies.cs
└── packages.config
├── README.md
├── UTCGoogleSheetsDataProvider
├── FodyWeavers.xml
├── FodyWeavers.xsd
├── GoogleSheetsDataProvider.cs
├── GoogleSheetsProvider.csproj
├── JsonSheetsSerializer.cs
├── OnWidgetUI.xaml
├── OnWidgetUI.xaml.cs
├── Properties
│ └── AssemblyInfo.cs
├── app.config
└── packages.config
├── UTCXLSXDataProvider
├── ExcelDataProvider.cs
├── ExcelDataProvider.csproj
├── FodyWeavers.xml
├── FodyWeavers.xsd
├── OnWidgetUI.xaml
├── OnWidgetUI.xaml.cs
├── Properties
│ └── AssemblyInfo.cs
├── app.config
└── packages.config
├── vMixAPI
├── BusA.cs
├── BusB.cs
├── BusC.cs
├── BusD.cs
├── BusE.cs
├── BusF.cs
├── BusG.cs
├── Input.cs
├── InputBase.cs
├── InputColor.cs
├── InputImage.cs
├── InputOverlay.cs
├── InputPosition.cs
├── InputText.cs
├── InputType.cs
├── ListItem.cs
├── Master.cs
├── Mix.cs
├── Overlay.cs
├── Properties
│ └── AssemblyInfo.cs
├── Recording.cs
├── SampleInput.cs
├── State.cs
├── Transition.cs
├── TransitionEffect.cs
├── packages.config
├── vMixAPI.csproj
└── vMixWebClient.cs
├── vMixController
├── App.config
├── App.xaml
├── App.xaml.cs
├── ClassDiagram.cd
├── Classes
│ ├── BindableAvalonEditor.cs
│ ├── BindingProxy.cs
│ ├── ColorNamePair.cs
│ ├── DummyStringProperty.cs
│ ├── Hotkey.cs
│ ├── MainWindowSettings.cs
│ ├── MenuStyleSelector.cs
│ ├── Messages.cs
│ ├── NativeFunctions.cs
│ ├── One.cs
│ ├── Pair.cs
│ ├── Quadriple.cs
│ ├── SharedData.cs
│ ├── Singleton.cs
│ ├── Triple.cs
│ ├── Utils.cs
│ ├── XmlDocumentMessenger.cs
│ └── vMixFunctionReference.cs
├── Colours.xml
├── ControllerHighlight.xml
├── Controls
│ ├── ComboBox.cs
│ ├── ReleaseButton.cs
│ ├── TBarSlider.cs
│ ├── TwoColumnGrid.cs
│ ├── TypeTemplateSelector.cs
│ ├── VolumeSlider.cs
│ ├── vMixControlContainer.xaml
│ ├── vMixControlContainer.xaml.cs
│ ├── vMixControlContainerDummy.cs
│ ├── vMixControlMoveThumb.cs
│ ├── vMixControlResizeThumb.cs
│ ├── vMixPathSelector.xaml
│ └── vMixPathSelector.xaml.cs
├── Converters
│ ├── AudiobusToBoolConverter.cs
│ ├── AudiobusToVisibilityConverter.cs
│ ├── BitToVisibilityConverter.cs
│ ├── BoolToOrientationConverter.cs
│ ├── BoolToSolidColorBrushConverter.cs
│ ├── ColorToBlackOrWhiteConverter.cs
│ ├── ColorToDarkerSolidBrushConverter.cs
│ ├── ColorToSolidBrushConverter.cs
│ ├── ColorsListToColorConverter.cs
│ ├── ControlIntToParameterConverter.cs
│ ├── DateTimeKeepMillisecondsConverter.cs
│ ├── DateTimeToDayOfWeekConverter.cs
│ ├── DoubleToThicknessConverter.cs
│ ├── EnumToStringConverter.cs
│ ├── EscapeAt.cs
│ ├── FirstValueConverter.cs
│ ├── ImagePartConverter.cs
│ ├── ImagePathToVisibilityConverter.cs
│ ├── Int32ToVisibilityConverter.cs
│ ├── IntegersToVisibilityConverter.cs
│ ├── ListItemTagConverter.cs
│ ├── ListItemTagToThicknessConverter.cs
│ ├── ListItemTagToVisibilityConverter.cs
│ ├── LogarithmicConverter.cs
│ ├── ObjectToIndexConverter.cs
│ ├── ParametersToStringConverter.cs
│ ├── StatusToColorConverter.cs
│ ├── StringListToStringConverter.cs
│ ├── StringToCollectionConverter.cs
│ ├── StringToCursorConverter.cs
│ ├── StringsToStringConverter.cs
│ ├── TextFieldAndIntToControlIntParameterConverter.cs
│ ├── ValueNullToStringConverter.cs
│ └── VariableListToInputListConverter.cs
├── Examples
│ ├── Buttons.vmc
│ ├── Buttons2.vmc
│ ├── InputSelector.vmc
│ ├── InputSelector.vmix
│ ├── ProxySample.vmc
│ ├── ProxySample.vmix
│ ├── Scoreboard.vmc
│ ├── Scoreboard.vmix
│ ├── TimerEvents.vmc
│ ├── TimerEvents.vmix
│ ├── TimerEvents.zip
│ ├── UTC Buttons
│ │ ├── WhiteBlue.png
│ │ ├── WhiteGreen.png
│ │ ├── WhiteRed.png
│ │ └── WhiteYellow.png
│ └── button.png
├── Extensions
│ ├── ControlBox.cs
│ ├── FocusExtension.cs
│ ├── HideCloseButtonOnWindow.cs
│ ├── IgnoreMouseWheelBehavior.cs
│ ├── LocalizationManager.cs
│ ├── Localize.cs
│ ├── ScrollViewerHelper.cs
│ └── ThumbColorizer.cs
├── FodyWeavers.xml
├── FodyWeavers.xsd
├── Functions.xml
├── Functions.zip
├── Grid.png
├── Help.Designer.cs
├── Help.resx
├── Images
│ ├── Function.png
│ └── Input.png
├── KeyLearnWindow.xaml
├── KeyLearnWindow.xaml.cs
├── Locales
│ └── _ru-RU.xml
├── MainWindow.xaml
├── MainWindow.xaml.cs
├── MidiLearnWindow.xaml
├── MidiLearnWindow.xaml.cs
├── NLog.config
├── NLog.xsd
├── Processing.NDI.Lib.x64.dll
├── Processing.NDI.Lib.x86.dll
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ ├── Resources.resx
│ ├── Settings.Designer.cs
│ └── Settings.settings
├── PropertiesControls
│ ├── BoolControl.xaml
│ ├── BoolControl.xaml.cs
│ ├── ComboBoxControl.xaml
│ ├── ComboBoxControl.xaml.cs
│ ├── DataSourceControl.xaml
│ ├── DataSourceControl.xaml.cs
│ ├── FilePathControl.xaml
│ ├── FilePathControl.xaml.cs
│ ├── GridControl.xaml
│ ├── GridControl.xaml.cs
│ ├── InputSelectorControl.xaml
│ ├── InputSelectorControl.xaml.cs
│ ├── IntControl.xaml
│ ├── IntControl.xaml.cs
│ ├── LabelControl.xaml
│ ├── LabelControl.xaml.cs
│ ├── ListControl.xaml
│ ├── ListControl.xaml.cs
│ ├── MidiMappingControl.xaml
│ ├── MidiMappingControl.xaml.cs
│ ├── SchedulerControl.xaml
│ ├── SchedulerControl.xaml.cs
│ ├── ScriptControl.xaml
│ ├── ScriptControl.xaml.cs
│ ├── StringControl.xaml
│ ├── StringControl.xaml.cs
│ ├── TitleMappingControl.xaml
│ └── TitleMappingControl.xaml.cs
├── RegisterFilters.cmd
├── Skins
│ └── ControlTemplates.xaml
├── TextInputWindow.xaml
├── TextInputWindow.xaml.cs
├── Usage.txt
├── ViewModel
│ ├── GlobalVariablesViewModel.cs
│ ├── MainViewModel.cs
│ ├── ViewModelLocator.cs
│ └── vMixWidgetSettingsViewModel.cs
├── Widgets
│ ├── IvMixAutoUpdateWidget.cs
│ ├── vMixControl.cs
│ ├── vMixControlButton.cs
│ ├── vMixControlButtonCommand.cs
│ ├── vMixControlClock.cs
│ ├── vMixControlContainer.cs
│ ├── vMixControlExternalData.cs
│ ├── vMixControlLabel.cs
│ ├── vMixControlList.cs
│ ├── vMixControlMidiInterface.cs
│ ├── vMixControlMultiState.cs
│ ├── vMixControlPlaylist.cs
│ ├── vMixControlRegion.cs
│ ├── vMixControlScore.cs
│ ├── vMixControlSlider.cs
│ ├── vMixControlTBar.cs
│ ├── vMixControlTextField.cs
│ ├── vMixControlTimer.cs
│ └── vMixControlVolume.cs
├── packages.config
├── settings-gears (1).ico
├── settings-gears.ico
├── vMixControlSettingsView.xaml
├── vMixControlSettingsView.xaml.cs
├── vMixControlUtils.cs
└── vMixController.csproj
├── vMixControllerDataProvider
├── IvMixDataProvider.cs
├── IvMixDataProviderTextInput.cs
├── Properties
│ └── AssemblyInfo.cs
├── packages.config
└── vMixControllerDataProvider.csproj
├── vMixControllerMultiState.sln
├── vMixControllerSkin
├── AsyncHelpers.cs
├── Colours.xml
├── Converters
│ ├── ObjectToTypeString.cs
│ └── StringToGridTable.cs
├── DraggableThumb.cs
├── Extension.cs
├── FontAwesome.ttf
├── Linearicons-Free.ttf
├── MainSkin.xaml
├── Material Design Icons.ttf
├── Properties
│ └── AssemblyInfo.cs
├── PropertiesListView.xaml
├── PropertiesListView.xaml.cs
├── RowsViewer.xaml
├── RowsViewer.xaml.cs
├── Segoe UI Mono.ttf
├── btn_donate_SM.gif
├── packages.config
└── vMixControllerSkin.csproj
├── vMixGenericXmlDataProvider
├── App.config
├── CacheStats.cs
├── OnWidgetUI.xaml
├── OnWidgetUI.xaml.cs
├── Properties
│ └── AssemblyInfo.cs
├── PropertiesWindow.xaml
├── PropertiesWindow.xaml.cs
├── XmlDataProvider.cs
├── XmlDataProvider.csproj
└── packages.config
├── vMixUTCNDIMonitorDataProvider
├── Extensions
│ └── SizeObserver.cs
├── FodyWeavers.xml
├── FodyWeavers.xsd
├── NDIMonitorDataProvider.cs
├── NdiMonitorDataProvider.csproj
├── OnWidgetUI.xaml
├── OnWidgetUI.xaml.cs
├── Properties
│ └── AssemblyInfo.cs
├── StringToNDISourceConverter.cs
├── app.config
└── packages.config
└── vMixWeatherExternalDataProvider
├── OnWidgetUI.xaml
├── OnWidgetUI.xaml.cs
├── Properties
└── AssemblyInfo.cs
├── PropertiesWindow.xaml
├── PropertiesWindow.xaml.cs
├── WeatherExternalDataProvider.csproj
├── WeatherProvider.cs
└── packages.config
/Colours.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 255
6 | 255
7 | 255
8 | 255
9 | 1
10 | 1
11 | 1
12 | 1
13 |
14 |
15 | 255
16 | 255
17 | 255
18 | 255
19 | 1
20 | 1
21 | 1
22 | 1
23 |
24 | White
25 |
26 |
--------------------------------------------------------------------------------
/Depence2Inject/Class1.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 Depence2Inject
8 | {
9 | public class Class1
10 | {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Depence2Inject/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // Общие сведения об этой сборке предоставляются следующим набором
6 | // набора атрибутов. Измените значения этих атрибутов для изменения сведений,
7 | // связанные со сборкой.
8 | [assembly: AssemblyTitle("Depence2Inject")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Depence2Inject")]
13 | [assembly: AssemblyCopyright("Copyright © 2021")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми
18 | // для компонентов COM. Если необходимо обратиться к типу в этой сборке через
19 | // COM, задайте атрибуту ComVisible значение TRUE для этого типа.
20 | [assembly: ComVisible(false)]
21 |
22 | // Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
23 | [assembly: Guid("21d2e1a7-8685-487a-bbe4-590397cd7a27")]
24 |
25 | // Сведения о версии сборки состоят из указанных ниже четырех значений:
26 | //
27 | // Основной номер версии
28 | // Дополнительный номер версии
29 | // Номер сборки
30 | // Редакция
31 | //
32 | // Можно задать все значения или принять номера сборки и редакции по умолчанию
33 | // используя "*", как показано ниже:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/HighPrecisionTimer/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("HighPrecisionTimer")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("HighPrecisionTimer")]
13 | [assembly: AssemblyCopyright("Copyright © 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("f67353d6-1e54-4b18-9bf2-53dd27867983")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/JsonDataProvider/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/JsonDataProvider/OnWidgetUI.xaml.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.Controls;
8 | using System.Windows.Data;
9 | using System.Windows.Documents;
10 | using System.Windows.Input;
11 | using System.Windows.Media;
12 | using System.Windows.Media.Imaging;
13 | using System.Windows.Navigation;
14 | using System.Windows.Shapes;
15 | using vMixControllerSkin;
16 |
17 | namespace JsonDataProviderNs
18 | {
19 | ///
20 | /// Логика взаимодействия для OnWidgetUI.xaml
21 | ///
22 | public partial class OnWidgetUI : UserControl
23 | {
24 | public OnWidgetUI()
25 | {
26 | //InitializeComponent();
27 | this.LoadViewFromUri("/JsonDataProvider;component/OnWidgetUI.xaml");
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/JsonDataProvider/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // Общие сведения об этой сборке предоставляются следующим набором
6 | // набора атрибутов. Измените значения этих атрибутов для изменения сведений,
7 | // связанные со сборкой.
8 | [assembly: AssemblyTitle("JsonDataProvider")]
9 | [assembly: AssemblyDescription("JSON Data")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("JsonDataProvider")]
13 | [assembly: AssemblyCopyright("Copyright © 2020")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми
18 | // для компонентов COM. Если необходимо обратиться к типу в этой сборке через
19 | // COM, задайте атрибуту ComVisible значение TRUE для этого типа.
20 | [assembly: ComVisible(false)]
21 |
22 | // Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
23 | [assembly: Guid("09761118-8d8d-462c-a841-6d6b84986eb1")]
24 |
25 | // Сведения о версии сборки состоят из указанных ниже четырех значений:
26 | //
27 | // Основной номер версии
28 | // Дополнительный номер версии
29 | // Номер сборки
30 | // Редакция
31 | //
32 | // Можно задать все значения или принять номера сборки и редакции по умолчанию
33 | // используя "*", как показано ниже:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/JsonDataProvider/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/LTCSharp.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elgarf/vMixUTC/7578455fcb788762cae3894757cabb9bc6744898/LTCSharp.dll
--------------------------------------------------------------------------------
/NDILibDotNet2/Colours.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 255
6 | 255
7 | 255
8 | 255
9 | 1
10 | 1
11 | 1
12 | 1
13 |
14 |
15 | 255
16 | 255
17 | 255
18 | 255
19 | 1
20 | 1
21 | 1
22 | 1
23 |
24 | White
25 |
26 |
--------------------------------------------------------------------------------
/NDILibDotNet2/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("NDILibDotNet2")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("NDILibDotNet2")]
13 | [assembly: AssemblyCopyright("Copyright (C) 2023 Vizrt NDI AB. All rights reserved.")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("01070d12-dd63-49cf-9093-f4d7eb17dcfa")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/NDILibDotNet2/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/NDILibDotNet2/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/NanoXML/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("NanoXML")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("NanoXML")]
13 | [assembly: AssemblyCopyright("Copyright © 2013")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("1caac844-89e2-402b-9325-21d024eef56b")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Popcron.Sheets.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elgarf/vMixUTC/7578455fcb788762cae3894757cabb9bc6744898/Popcron.Sheets.dll
--------------------------------------------------------------------------------
/Popcron.Sheets/BandedRange.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class BandedRange
7 | {
8 | public int bandedRangeId;
9 | public GridRange range;
10 | public BandingProperties rowProperties;
11 | public BandingProperties columnProperties;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/BandingProperties.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class BandingProperties
7 | {
8 | public Color headerColor;
9 | public Color firstBandColor;
10 | public Color secondBandColor;
11 | public Color footerColor;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/BasicChartAxis.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class BasicChartAxis
7 | {
8 | public string position;
9 | public string title;
10 | public TextFormat format;
11 | public TextPosition titleTextPosition;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/BasicChartDomain.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class BasicChartDomain
7 | {
8 | public ChartData domain;
9 | public bool reversed;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/BasicChartSeries.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class BasicChartSeries
7 | {
8 | public ChartData series;
9 | public string targetAxis;
10 | public string type;
11 | public LineStyle lineStyle;
12 | public Color color;
13 | }
14 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/BasicChartSpec.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class BasicChartSpec
7 | {
8 | public string chartType;
9 | public string legendPosition;
10 | public BasicChartAxis[] axis;
11 | public BasicChartDomain[] domains;
12 | public BasicChartSeries[] series;
13 | public int headerCount;
14 | public bool threeDimensional;
15 | public bool interpolateNulls;
16 | public string stackedType;
17 | public bool lineSmoothing;
18 | public string compareMode;
19 | }
20 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/BasicFilter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Popcron.Sheets
5 | {
6 | [Serializable]
7 | public class BasicFilter
8 | {
9 | public GridRange range;
10 | public SortSpec[] sortSpecs;
11 | public Dictionary criteria;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/BooleanCondition.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class BooleanCondition
7 | {
8 | public string type;
9 | public ConditionValue[] values;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/BooleanRule.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class BooleanRule
7 | {
8 | public BooleanCondition condition;
9 | public CellFormat format;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Border.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class Border
7 | {
8 | public string style;
9 | public Color color;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Borders.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class Borders
7 | {
8 | public Border top;
9 | public Border bottom;
10 | public Border left;
11 | public Border right;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/BubbleChartSpec.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class BubbleChartSpec
7 | {
8 | public string legendPosition;
9 | public ChartData bubbleLabels;
10 | public ChartData domain;
11 | public ChartData series;
12 | public ChartData groupIds;
13 | public ChartData bubbleSizes;
14 | public float bubbleOpacity;
15 | public Color bubbleBorderColor;
16 | public uint bubbleMaxRadiusSize;
17 | public uint bubbleMinRadiusSize;
18 | public TextFormat bubbleTextStyle;
19 | }
20 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/CandlestickChartSpec.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class CandlestickChartSpec
7 | {
8 | public CandlestickDomain domain;
9 | public CandlestickData[] data;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/CandlestickData.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class CandlestickData
7 | {
8 | public CandlestickSeries lowSeries;
9 | public CandlestickSeries openSeries;
10 | public CandlestickSeries closeSeries;
11 | public CandlestickSeries highSeries;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/CandlestickDomain.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class CandlestickDomain
7 | {
8 | public ChartData data;
9 | public bool reversed;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/CandlestickSeries.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class CandlestickSeries
7 | {
8 | public ChartData data;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/CellData.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class CellData
7 | {
8 | public ExtendedValue userEnteredValue;
9 | public ExtendedValue effectiveValue;
10 | public string formattedValue;
11 | public CellFormat userEnteredFormat;
12 | public CellFormat effectiveFormat;
13 | public string hyperlink;
14 | public string note;
15 | public TextFormatRun[] textFormatRuns;
16 | public DataValidationRule dataValidation;
17 | public PivotTable pivotTable;
18 | }
19 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/CellFormat.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class CellFormat
7 | {
8 | public NumberFormat numberFormat;
9 | public Color backgroundColor;
10 | public Borders borders;
11 | public Padding padding;
12 | public string horizontalAlignment;
13 | public string verticalAlignment;
14 | public string wrapStrategy;
15 | public string textDirection;
16 | public TextFormat textFormat;
17 | public string hyperlinkDisplayType;
18 | public TextRotation textRotation;
19 | }
20 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/ChartData.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class ChartData
7 | {
8 | public ChartSourceRange sourceRange;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/ChartSourceRange.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class ChartSourceRange
7 | {
8 | public GridRange[] sources;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/ChartSpec.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class ChartSpec
7 | {
8 | public string title;
9 | public string altText;
10 | public TextFormat titleTextFormat;
11 | public TextPosition titleTextPosition;
12 | public string subtitle;
13 | public TextFormat subtitleTextFormat;
14 | public TextPosition subtitlePosition;
15 | public string fontName;
16 | public bool maximized;
17 | public Color backgroundColor;
18 | public string hiddenDimensionStrategy;
19 |
20 | public BasicChartSpec basicChart;
21 | public PieChartSpec pieChart;
22 | public BubbleChartSpec bubbleChart;
23 | public CandlestickChartSpec candlestickChart;
24 | public OrgChartSpec orgChart;
25 | public HistogramChartSpec histogramChart;
26 | public WaterfallChartSpec waterfallChart;
27 | public TreemapChartSpec treemapChart;
28 | }
29 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Color.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class Color
7 | {
8 | public float red;
9 | public float green;
10 | public float blue;
11 | public float alpha;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/ConditionValue.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class ConditionValue
7 | {
8 | public string relativeDate;
9 | public string userEnteredValue;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/ConditionalFormatRule.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class ConditionalFormatRule
7 | {
8 | public GridRange[] ranges;
9 | public BooleanRule booleanRule;
10 | public GradientRule gradientRule;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/DataFilter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DataFilter
7 | {
8 | public DeveloperMetadataLookup developerMetadataLookup;
9 | public string a1Range;
10 | public GridRange gridRange;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/DataValidationRule.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DataValidationRule
7 | {
8 | public BooleanCondition condition;
9 | public string inputMessage;
10 | public bool strict;
11 | public bool showCustomUi;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/DeveloperMetadata.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeveloperMetadata
7 | {
8 | public int metadataId;
9 | public string metadataKey;
10 | public string metadataValue;
11 | public string location;
12 | public string visibility;
13 | }
14 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/DeveloperMetadataLocation.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeveloperMetadataLocation
7 | {
8 | public string locationType;
9 | public bool spreadsheet;
10 | public int sheetId;
11 | public DimensionRange dimensionRange;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/DeveloperMetadataLookup.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeveloperMetadataLookup
7 | {
8 | public string locationType;
9 | public DeveloperMetadataLocation metadataLocation;
10 | public string locationMatchingStrategy;
11 | public int metadataId;
12 | public string metadataKey;
13 | public string metadataValue;
14 | public string visibility;
15 | }
16 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/DimensionGroup.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DimensionGroup
7 | {
8 | public DimensionRange range;
9 | public int depth;
10 | public bool collapsed;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/DimensionProperties.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DimensionProperties
7 | {
8 | public bool hiddenByFilter;
9 | public bool hiddenByUser;
10 | public int pixelSize;
11 | public DeveloperMetadata[] developerMetadata;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/DimensionRange.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DimensionRange
7 | {
8 | public int sheetId;
9 | public string dimension;
10 | public int startIndex;
11 | public int endIndex;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Editors.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class Editors
7 | {
8 | public string[] users;
9 | public string[] groups;
10 | public bool domainUsersCanEdit;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/EmbeddedChart.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class EmbeddedChart
7 | {
8 | public int chardId;
9 | public ChartSpec spec;
10 | public EmbeddedObjectPosition position;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/EmbeddedObjectPosition.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class EmbeddedObjectPosition
7 | {
8 | public int sheetId;
9 | public OverlayPosition overlayPosition;
10 | public bool newSheet;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/ErrorValue.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class ErrorValue
7 | {
8 | public string type;
9 | public string message;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/ExtendedValue.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class ExtendedValue
7 | {
8 | public double numberValue;
9 | public string stringValue;
10 | public bool boolValue;
11 | public string formulaValue;
12 | public ErrorValue errorValue;
13 | }
14 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/FilterCriteria.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class FilterCriteria
7 | {
8 | public string[] hiddenValues;
9 | public BooleanCondition condition;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/FilterView.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Popcron.Sheets
5 | {
6 | [Serializable]
7 | public class FilterView
8 | {
9 | public int filterViewId;
10 | public string title;
11 | public GridRange range;
12 | public string namedRangeId;
13 | public SortSpec[] sortSpecs;
14 | public Dictionary criteria;
15 | }
16 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/GradientRule.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class GradientRule
7 | {
8 | public InterpolationPoint minPoint;
9 | public InterpolationPoint midPoint;
10 | public InterpolationPoint maxPoint;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/GridCoordinate.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class GridCoordinate
7 | {
8 | public int sheetId;
9 | public int rowIndex;
10 | public int columnIndex;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/GridData.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class GridData
7 | {
8 | public int startRow;
9 | public int startColumn;
10 | public RowData[] rowData;
11 | public DimensionProperties[] rowMetadata;
12 | public DimensionProperties[] columnMedata;
13 | }
14 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/GridProperties.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class GridProperties
7 | {
8 | public int rowCount;
9 | public int columnCount;
10 | public int frozenRowCount;
11 | public int frozenColumnCount;
12 | public bool hideGridlines;
13 | public bool rowGroupControlAfter;
14 | public bool columnGroupControlAfter;
15 | }
16 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/GridRange.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class GridRange
7 | {
8 | public int sheetId;
9 | public int startRowIndex;
10 | public int endRowIndex;
11 | public int startColumnIndex;
12 | public int endColumnIndex;
13 | }
14 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/HighLevel/SheetsSerializer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public abstract class SheetsSerializer
7 | {
8 | public abstract T DeserializeObject(string data);
9 | public abstract string SerializeObject(object data);
10 |
11 | public static SheetsSerializer Serializer { get; set; } = null;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/HistogramChartSpec.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class HistogramChartSpec
7 | {
8 | public HistogramSeries[] series;
9 | public string legendPosition;
10 | public bool showItemDividers;
11 | public double bucketSize;
12 | public double outlierPercentile;
13 | }
14 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/HistogramSeries.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class HistogramSeries
7 | {
8 | public Color barColor;
9 | public ChartData data;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/InterpolationPoint.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class InterpolationPoint
7 | {
8 | public Color color;
9 | public string type;
10 | public string value;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/IterativeCalculationSettings.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class IterativeCalculationSettings
7 | {
8 | public int maxIterations;
9 | public int convergenceThreshold;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/LineStyle.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class LineStyle
7 | {
8 | public int width;
9 | public string type;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/NamedRange.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class NamedRange
7 | {
8 | public string namedRangeId;
9 | public string name;
10 | public GridRange range;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/NumberFormat.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class NumberFormat
7 | {
8 | public string type;
9 | public string pattern;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/OAuth/AuthorizationType.cs:
--------------------------------------------------------------------------------
1 | namespace Popcron.Sheets
2 | {
3 | public enum AuthorizationType
4 | {
5 | Key,
6 | AccessToken
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Popcron.Sheets/OAuth/OAuthToken.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class OAuthToken
7 | {
8 | public string accessToken = "";
9 | public int expiresIn = 3600;
10 | public string refreshToken = "";
11 | public string scope = "";
12 | public string tokenType = "";
13 | public string idToken = "";
14 | }
15 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/OrgChartSpec.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class OrgChartSpec
7 | {
8 | public string nodeSize;
9 | public Color nodeColor;
10 | public Color selectedNodeColor;
11 | public ChartData labels;
12 | public ChartData parentLabels;
13 | public ChartData tooltips;
14 | }
15 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/OverlayPosition.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class OverlayPosition
7 | {
8 | public GridCoordinate anchorCell;
9 | public int offsetXPixels;
10 | public int offsetYPixels;
11 | public int widthPixels;
12 | public int heightPixels;
13 | }
14 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Padding.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class Padding
7 | {
8 | public int top;
9 | public int right;
10 | public int bottom;
11 | public int left;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/PieChartSpec.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class PieChartSpec
7 | {
8 | public string legendPosition;
9 | public ChartData domain;
10 | public ChartData series;
11 | public bool threeDimensional;
12 | public float pieHole;
13 | }
14 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/PivotFilterCriteria.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class PivotFilterCriteria
7 | {
8 | public string[] visibleValues;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/PivotTable.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Popcron.Sheets
5 | {
6 | [Serializable]
7 | public class PivotTable
8 | {
9 | public GridRange source;
10 | public PivotTable[] rows;
11 | public PivotTable[] columns;
12 | public Dictionary criteria;
13 | public PivotValue[] values;
14 | public string valueLayout;
15 | }
16 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/PivotValue.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class PivotValue
7 | {
8 | public string summarizeFunction;
9 | public string name;
10 | public string calculatedDisplayTable;
11 | public int sourceColumnOffset;
12 | public string formula;
13 | }
14 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Popcron.Sheets")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Popcron.Sheets")]
13 | [assembly: AssemblyCopyright("Copyright © 2018")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("c16deca7-0a86-4285-9b3a-99dfd499b4fd")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Popcron.Sheets/ProtectedRange.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class ProtectedRange
7 | {
8 | public int protectedRangeId;
9 | public GridRange range;
10 | public string namedRangeId;
11 | public string description;
12 | public bool warningOnly;
13 | public bool requestingUserCanEdit;
14 | public GridRange[] unprotectedRanges;
15 | public Editors editors;
16 | }
17 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/AddBandingRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AddBandingRequest
7 | {
8 | public int bandedRangeId;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/AddChartRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AddChartRequest
7 | {
8 | public EmbeddedChart chart;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/AddConditionalFormatRuleRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AddConditionalFormatRuleRequest
7 | {
8 | public ConditionalFormatRule rule;
9 | public int index;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/AddDimensionGroupRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AddDimensionGroupRequest
7 | {
8 | public DimensionRange range;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/AddFilterViewRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AddFilterViewRequest
7 | {
8 | public FilterView filter;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/AddNamedRangeRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AddNamedRangeRequest
7 | {
8 | public NamedRange namedRange;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/AddProtectedRangeRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AddProtectedRangeRequest
7 | {
8 | public ProtectedRange protectedRange;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/AddSheetRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AddSheetRequest
7 | {
8 | public SheetProperties properties;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/AppendCellsRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AppendCellsRequest
7 | {
8 | public int sheetId;
9 | public RowData[] rows;
10 | public string fields;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/AppendDimensionRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AppendDimensionRequest
7 | {
8 | public int sheetId;
9 | public string dimension;
10 | public int length;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/AutoFillRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AutoFillRequest
7 | {
8 | public bool useAlternateSeries;
9 | public object area;
10 |
11 | public void Set(GridRange range)
12 | {
13 | area = range;
14 | }
15 |
16 | public void Set(SourceAndDestination sourceAndDestination)
17 | {
18 | area = sourceAndDestination;
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/AutoResizeDimensionsRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AutoResizeDimensionsRequest
7 | {
8 | public DimensionRange dimensions;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/ClearBasicFilterRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class ClearBasicFilterRequest
7 | {
8 | public int sheetId;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/CopyPasteRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class CopyPasteRequest
7 | {
8 | public GridRange source;
9 | public GridCoordinate destination;
10 | public string pasteType;
11 | public string pasteOrientation;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/CreateDeveloperMetadataRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class CreateDeveloperMetadataRequest
7 | {
8 | public DeveloperMetadata developerMetadata;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/CutPasteRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class CutPasteRequest
7 | {
8 | public GridRange source;
9 | public GridCoordinate destination;
10 | public string pasteType;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/DeleteBandingRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeleteBandingRequest
7 | {
8 | public int bandedRangeId;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/DeleteConditionalFormatRuleRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeleteConditionalFormatRuleRequest
7 | {
8 | public int index;
9 | public int sheetId;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/DeleteDeveloperMetadataRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeleteDeveloperMetadataRequest
7 | {
8 | public DataFilter dataFilter;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/DeleteDimensionGroupRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeleteDimensionGroupRequest
7 | {
8 | public DimensionRange range;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/DeleteDimensionRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeleteDimensionRequest
7 | {
8 | public DimensionRange range;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/DeleteEmbeddedObjectRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeleteEmbeddedObjectRequest
7 | {
8 | public int objectId;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/DeleteFilterViewRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeleteFilterViewRequest
7 | {
8 | public int filterId;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/DeleteNamedRangeRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeleteNamedRangeRequest
7 | {
8 | public string namedRangeId;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/DeleteProtectedRangeRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeleteProtectedRangeRequest
7 | {
8 | public int protectedRangeId;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/DeleteRangeRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeleteRangeRequest
7 | {
8 | public GridRange range;
9 | public string shiftDimension;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/DeleteSheetRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeleteSheetRequest
7 | {
8 | public int sheetId;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/DuplicateFilterViewRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DuplicateFilterViewRequest
7 | {
8 | public int filterId;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/DuplicateSheetRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DuplicateSheetRequest
7 | {
8 | public int sourceSheetId;
9 | public int insertSheetIndex;
10 | public int newSheetId;
11 | public string newSheetName;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/FindReplaceRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class FindReplaceRequest
7 | {
8 | public string find;
9 | public string replacement;
10 | public bool matchCase;
11 | public bool matchEntireCell;
12 | public bool searchByRegex;
13 | public bool includeFormulas;
14 | public object scope;
15 |
16 | public void Set(GridRange scope)
17 | {
18 | this.scope = scope;
19 | }
20 |
21 | public void Set(int scope)
22 | {
23 | this.scope = scope;
24 | }
25 |
26 | public void Set(bool scope)
27 | {
28 | this.scope = scope;
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/InsertDimensionRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class InsertDimensionRequest
7 | {
8 | public DimensionRange range;
9 | public bool inheritFromBefore;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/InsertRangeRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class InsertRangeRequest
7 | {
8 | public GridRange range;
9 | public string shiftDimension;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/MergeCellsRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class MergeCellsRequest
7 | {
8 | public GridRange range;
9 | public string mergeType;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/MoveDimensionRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class MoveDimensionRequest
7 | {
8 | public DimensionRange source;
9 | public int destinationIndex;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/PasteDataRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class PasteDataRequest
7 | {
8 | public GridCoordinate coordinate;
9 | public string data;
10 | public string type;
11 | public object kind;
12 |
13 | public void Set(string delimeter)
14 | {
15 | kind = delimeter;
16 | }
17 |
18 | public void Set(bool html)
19 | {
20 | kind = html;
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/RandomizeRangeRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class RandomizeRangeRequest
7 | {
8 | public GridRange range;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/RepeatCellRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class RepeatCellRequest
7 | {
8 | public GridRange range;
9 | public CellData cell;
10 | public string fields;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/RequestBatchUpdate.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 Popcron.Sheets
8 | {
9 | [Serializable]
10 | public class RequestBatchUpdate
11 | {
12 | public Request[] requests = { };
13 | public bool includeSpreadsheetInResponse;
14 | public string[] responseRanges = { };
15 | public bool responseIncludeGridData;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/SetBasicFilterRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class SetBasicFilterRequest
7 | {
8 | public BasicFilter filter;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/SetDataValidationRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class SetDataValidationRequest
7 | {
8 | public GridRange range;
9 | public DataValidationRule rule;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/SortRangeRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class SortRangeRequest
7 | {
8 | public GridRange range;
9 | public SortSpec[] sortSpecs;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/SourceAndDestination.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class SourceAndDestination
7 | {
8 | public GridRange source;
9 | public string dimension;
10 | public int fillLength;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/TextToColumnsRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class TextToColumnsRequest
7 | {
8 | public GridRange source;
9 | public string delimeter;
10 | public string delimeterType;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/UnmergeCellsRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UnmergeCellsRequest
7 | {
8 | public GridRange range;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/UpdateBandingRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateBandingRequest
7 | {
8 | public BandedRange bandedRange;
9 | public string fields;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/UpdateBordersRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateBordersRequest
7 | {
8 | public GridRange range;
9 | public Border top;
10 | public Border bottom;
11 | public Border left;
12 | public Border right;
13 | public Border innerHorizontal;
14 | public Border innerVertical;
15 | }
16 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/UpdateCellsRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateCellsRequest
7 | {
8 | public RowData[] rows;
9 | public string fields;
10 | public object area;
11 |
12 | public void Set(object area)
13 | {
14 | if (area.GetType() == typeof(GridCoordinate) || area.GetType() == typeof(GridRange))
15 | {
16 | this.area = area;
17 | }
18 | else
19 | {
20 | throw new Exception("Unsupported data type " + area.GetType());
21 | }
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/UpdateChartSpecRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateChartSpecRequest
7 | {
8 | public int chartId;
9 | public ChartSpec spec;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/UpdateConditionalFormatRuleRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateConditionalFormatRuleRequest
7 | {
8 | public int index;
9 | public int sheetId;
10 | public object instruction;
11 |
12 | public void Set(ConditionalFormatRule rule)
13 | {
14 | instruction = rule;
15 | }
16 |
17 | public void Set(int newIndex)
18 | {
19 | instruction = newIndex;
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/UpdateDeveloperMetadataRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateDeveloperMetadataRequest
7 | {
8 | public DataFilter[] dataFilters;
9 | public DeveloperMetadata developerMetadata;
10 | public string fields;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/UpdateDimensionGroupRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateDimensionGroupRequest
7 | {
8 | public DimensionGroup dimensionGroup;
9 | public string fields;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/UpdateDimensionPropertiesRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateDimensionPropertiesRequest
7 | {
8 | public DimensionRange range;
9 | public DimensionProperties properties;
10 | public string fields;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/UpdateEmbeddedObjectPositionRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateEmbeddedObjectPositionRequest
7 | {
8 | public int objectId;
9 | public EmbeddedObjectPosition newPosition;
10 | public string fields;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/UpdateFilterViewRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateFilterViewRequest
7 | {
8 | public FilterView filter;
9 | public string fields;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/UpdateNamedRangeRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateNamedRangeRequest
7 | {
8 | public NamedRange namedRange;
9 | public string fields;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/UpdateProtectedRangeRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateProtectedRangeRequest
7 | {
8 | public ProtectedRange protectedRange;
9 | public string fields;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/UpdateSheetPropertiesRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateSheetPropertiesRequest
7 | {
8 | public SheetProperties properties;
9 | public string fields;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Requests/UpdateSpreadsheetPropertiesRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateSpreadsheetPropertiesRequest
7 | {
8 | public SpreadsheetProperties properties;
9 | public string fields;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/AddBandingResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AddBandingResponse
7 | {
8 | public BandedRange bandedRange;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/AddChartResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AddChartResponse
7 | {
8 | public EmbeddedChart chart;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/AddDimensionGroupResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AddDimensionGroupResponse
7 | {
8 | public DimensionGroup[] dimensionGroups;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/AddFilterViewResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AddFilterViewResponse
7 | {
8 | public FilterView filter;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/AddNamedRangeResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AddNamedRangeResponse
7 | {
8 | public NamedRange namedRange;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/AddProtectedRangeResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AddProtectedRangeResponse
7 | {
8 | public ProtectedRange protectedRange;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/AddSheetResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class AddSheetResponse
7 | {
8 | public SheetProperties properties;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/CreateDeveloperMetadataResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class CreateDeveloperMetadataResponse
7 | {
8 | public DeveloperMetadata developerMetadata;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/DeleteConditionalFormatRuleResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeleteConditionalFormatRuleResponse
7 | {
8 | public ConditionalFormatRule rule;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/DeleteDeveloperMetadataResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeleteDeveloperMetadataResponse
7 | {
8 | public DeveloperMetadata[] deletedDeveloperMetadata;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/DeleteDimensionGroupResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DeleteDimensionGroupResponse
7 | {
8 | public DimensionGroup[] dimensionGroups;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/DuplicateFilterViewResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DuplicateFilterViewResponse
7 | {
8 | public FilterView filter;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/DuplicateSheetResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class DuplicateSheetResponse
7 | {
8 | public SheetProperties properties;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/FindReplaceResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class FindReplaceResponse
7 | {
8 | public int valuesChanged;
9 | public int formulasChanged;
10 | public int rowsChanged;
11 | public int sheetsChanged;
12 | public int occurrencesChanged;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/RequestBatchUpdateResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class RequestBatchUpdateResponse
7 | {
8 | public string spreadsheetId;
9 | public Response[] replies;
10 | public SpreadsheetRaw updatedSpreadsheet;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/Response.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class Response
7 | {
8 | public object kind;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/UpdateConditionalFormatRuleResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateConditionalFormatRuleResponse
7 | {
8 | public ConditionalFormatRule newRule;
9 | public int newIndex;
10 |
11 | public object old_info;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/UpdateDeveloperMetadataResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateDeveloperMetadataResponse
7 | {
8 | public DeveloperMetadata[] developerMetadata;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/Responses/UpdateEmbeddedObjectPositionResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class UpdateEmbeddedObjectPositionResponse
7 | {
8 | public EmbeddedObjectPosition position;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Popcron.Sheets/RowData.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class RowData
7 | {
8 | public CellData[] values;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/SheetProperties.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class SheetProperties
7 | {
8 | public int sheetId;
9 | public string title;
10 | public int index;
11 | public string sheetType;
12 | public GridProperties gridProperties;
13 | public bool hidden;
14 | public Color tabColor;
15 | public bool rightToLeft;
16 | }
17 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/SheetRaw.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class SheetRaw
7 | {
8 | public SheetProperties properties;
9 | public GridData[] data = { };
10 | public GridRange[] merges = { };
11 | public ConditionalFormatRule[] conditionalFormats;
12 | public FilterView[] filterViews = { };
13 | public ProtectedRange[] protectedRanges;
14 | public BasicFilter basicFilter;
15 | public EmbeddedChart[] charts;
16 | public BandedRange[] bandedRanges = { };
17 | public DeveloperMetadata[] developerMetadata;
18 | public DimensionGroup[] rowGroups = { };
19 | public DimensionGroup[] dimensionGroups = { };
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Popcron.Sheets/SortSpec.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class SortSpec
7 | {
8 | public int dimensionIndex;
9 | public string sortOrder;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/SpreadsheetProperties.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class SpreadsheetProperties
7 | {
8 | public string title;
9 | public string locale;
10 | public string autoRecalc;
11 | public string timeZone;
12 | public CellFormat defaultFormat;
13 | public IterativeCalculationSettings iterativeCalculationSettings;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Popcron.Sheets/SpreadsheetRaw.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Threading.Tasks;
3 |
4 | namespace Popcron.Sheets
5 | {
6 | [Serializable]
7 | public class SpreadsheetRaw
8 | {
9 | public string spreadsheetId;
10 | public SpreadsheetProperties properties;
11 | public SheetRaw[] sheets;
12 | public NamedRange[] namedRanges;
13 | public string spreadsheetUrl;
14 | public DeveloperMetadata[] developerMetadata;
15 |
16 | ///
17 | /// Returns the raw data that is contingent to the Google Sheets API.
18 | ///
19 | public static async Task Get(string spreadsheetId, Authorization authorization, bool includeGridData, SheetsSerializer serializer = null)
20 | {
21 | if (serializer == null) serializer = SheetsSerializer.Serializer;
22 | if (serializer == null) throw new Exception("No serializer was given.");
23 |
24 | SheetsClient client = new SheetsClient(spreadsheetId, authorization, serializer);
25 | SpreadsheetRaw raw = await client.GetRaw(includeGridData);
26 |
27 | return raw;
28 | }
29 | }
30 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/TextFormat.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class TextFormat
7 | {
8 | public Color foregroundColor;
9 | public string fontFamily;
10 | public int fontSize;
11 | public bool bold;
12 | public bool italic;
13 | public bool strikethrough;
14 | public bool underline;
15 | }
16 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/TextFormatRun.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class TextFormatRun
7 | {
8 | public int startIndex;
9 | public TextFormat format;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/TextPosition.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class TextPosition
7 | {
8 | public string horizontalAlignment;
9 | }
10 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/TextRotation.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class TextRotation
7 | {
8 | public int angle;
9 | public bool vertical;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/TreemapChartColorScale.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class TreemapChartColorScale
7 | {
8 | public Color minValueColor;
9 | public Color midValueColor;
10 | public Color maxValueColor;
11 | public Color noDataColor;
12 | }
13 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/TreemapChartSpec.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class TreemapChartSpec
7 | {
8 | public ChartData labels;
9 | public ChartData parentLabels;
10 | public ChartData sizeData;
11 | public ChartData colorData;
12 | public TextFormat textFormat;
13 |
14 | public int levels;
15 | public int hintedLevels;
16 | public double minValue;
17 | public double maxValue;
18 | public Color headerColor;
19 | public TreemapChartColorScale colorScale;
20 | public bool hideTooltips;
21 | }
22 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/WaterfallChartColumnStyle.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class WaterfallChartColumnStyle
7 | {
8 | public string label;
9 | public Color color;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/WaterfallChartCustomSubtotal.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class WaterfallChartCustomSubtotal
7 | {
8 | public int subtotalIndex;
9 | public string label;
10 | public bool dataIsSubtotal;
11 | }
12 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/WaterfallChartDomain.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class WaterfallChartDomain
7 | {
8 | public ChartData data;
9 | public bool reversed;
10 | }
11 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/WaterfallChartSpec.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class WaterfallChartSpec
7 | {
8 | public WaterfallChartDomain domain;
9 | public WaterfallChartSpecies[] series;
10 | public string stackedType;
11 | public bool firstValueIsTotal;
12 | public bool hideConnectorLines;
13 | public LineStyle connectorLineStyle;
14 | }
15 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/WaterfallChartSpecies.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Popcron.Sheets
4 | {
5 | [Serializable]
6 | public class WaterfallChartSpecies
7 | {
8 | public ChartData data;
9 | public WaterfallChartColumnStyle positiveColumnsStyle;
10 | public WaterfallChartColumnStyle negativeColumnsStyle;
11 | public WaterfallChartColumnStyle subtotalColumnsStyle;
12 | public bool hideTrailingSubtotal;
13 | public WaterfallChartCustomSubtotal[] customSubtotals;
14 | }
15 | }
--------------------------------------------------------------------------------
/Popcron.Sheets/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # vMix Universal Title Controller
2 | vMix Universal Title Controller (UTC) is program, which work with vMix through official vMix API.
3 | It can replace some paid or expensive software for making titles/scoreboards/lower thirds (by using pure vMix XAML/GT titles)
4 | and add ability of base scripting.
5 |
--------------------------------------------------------------------------------
/UTCGoogleSheetsDataProvider/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/UTCGoogleSheetsDataProvider/JsonSheetsSerializer.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 | using Popcron.Sheets;
3 | using System;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 |
9 | namespace GoogleSheetsDataProvider
10 | {
11 | public class JsonSheetsSerializer : SheetsSerializer
12 | {
13 | public override T DeserializeObject(string data)
14 | {
15 | return Newtonsoft.Json.JsonConvert.DeserializeObject(data);
16 | }
17 |
18 | public override string SerializeObject(object data)
19 | {
20 | return Newtonsoft.Json.JsonConvert.SerializeObject(data);
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/UTCGoogleSheetsDataProvider/OnWidgetUI.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 | using vMixControllerSkin;
3 |
4 | namespace UTCGoogleSheetsDataProvider
5 | {
6 | ///
7 | /// Логика взаимодействия для OnWidgetUI.xaml
8 | ///
9 | public partial class OnWidgetUI : UserControl
10 | {
11 | public OnWidgetUI()
12 | {
13 | //InitializeComponent();
14 | this.LoadViewFromUri("/GoogleSheetsDataProvider;component/OnWidgetUI.xaml");
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/UTCGoogleSheetsDataProvider/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // Общие сведения об этой сборке предоставляются следующим набором
6 | // набора атрибутов. Измените значения этих атрибутов для изменения сведений,
7 | // связанные со сборкой.
8 | [assembly: AssemblyTitle("UTCGoogleSheetsDataProvider")]
9 | [assembly: AssemblyDescription("Google Sheets Data")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("UTCGoogleSheetsDataProvider")]
13 | [assembly: AssemblyCopyright("Copyright © 2020")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми
18 | // для компонентов COM. Если необходимо обратиться к типу в этой сборке через
19 | // COM, задайте атрибуту ComVisible значение TRUE для этого типа.
20 | [assembly: ComVisible(false)]
21 |
22 | // Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
23 | [assembly: Guid("5688c574-ee3c-46fa-a07a-929911663dba")]
24 |
25 | // Сведения о версии сборки состоят из указанных ниже четырех значений:
26 | //
27 | // Основной номер версии
28 | // Дополнительный номер версии
29 | // Номер сборки
30 | // Редакция
31 | //
32 | // Можно задать все значения или принять номера сборки и редакции по умолчанию
33 | // используя "*", как показано ниже:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/UTCGoogleSheetsDataProvider/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/UTCXLSXDataProvider/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/UTCXLSXDataProvider/OnWidgetUI.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 | using vMixControllerSkin;
3 |
4 | namespace UTCGoogleSheetsDataProvider
5 | {
6 | ///
7 | /// Логика взаимодействия для OnWidgetUI.xaml
8 | ///
9 | public partial class OnWidgetUI : UserControl
10 | {
11 | public OnWidgetUI()
12 | {
13 | //InitializeComponent();
14 | this.LoadViewFromUri("/ExcelDataProvider;component/OnWidgetUI.xaml");
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/UTCXLSXDataProvider/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // Общие сведения об этой сборке предоставляются следующим набором
6 | // набора атрибутов. Измените значения этих атрибутов для изменения сведений,
7 | // связанные со сборкой.
8 | [assembly: AssemblyTitle("UTCXLSXDataProvider")]
9 | [assembly: AssemblyDescription("Excel Data")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("UTCXLSXDataProvider")]
13 | [assembly: AssemblyCopyright("Copyright © 2020")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми
18 | // для компонентов COM. Если необходимо обратиться к типу в этой сборке через
19 | // COM, задайте атрибуту ComVisible значение TRUE для этого типа.
20 | [assembly: ComVisible(false)]
21 |
22 | // Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
23 | [assembly: Guid("5688c574-ee3c-46fa-a07a-929911663dba")]
24 |
25 | // Сведения о версии сборки состоят из указанных ниже четырех значений:
26 | //
27 | // Основной номер версии
28 | // Дополнительный номер версии
29 | // Номер сборки
30 | // Редакция
31 | //
32 | // Можно задать все значения или принять номера сборки и редакции по умолчанию
33 | // используя "*", как показано ниже:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/UTCXLSXDataProvider/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/vMixAPI/BusA.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Collections.ObjectModel;
4 | using System.Linq;
5 | using System.Xml.Serialization;
6 |
7 | namespace vMixAPI
8 | {
9 | [Serializable]
10 | public class BusA: Master
11 | {
12 | [XmlIgnore]
13 | public override string Name { get { return "BusA"; } }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/vMixAPI/BusB.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Collections.ObjectModel;
4 | using System.Linq;
5 | using System.Xml.Serialization;
6 |
7 | namespace vMixAPI
8 | {
9 | [Serializable]
10 | public class BusB: Master
11 | {
12 | [XmlIgnore]
13 | public override string Name { get { return "BusB"; } }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/vMixAPI/BusC.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Collections.ObjectModel;
4 | using System.Linq;
5 | using System.Xml.Serialization;
6 |
7 | namespace vMixAPI
8 | {
9 | [Serializable]
10 | public class BusC: Master
11 | {
12 | [XmlIgnore]
13 | public override string Name { get { return "BusC"; } }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/vMixAPI/BusD.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Collections.ObjectModel;
4 | using System.Linq;
5 | using System.Xml.Serialization;
6 |
7 | namespace vMixAPI
8 | {
9 | [Serializable]
10 | public class BusD: Master
11 | {
12 | [XmlIgnore]
13 | public override string Name { get { return "BusD"; } }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/vMixAPI/BusE.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Collections.ObjectModel;
4 | using System.Linq;
5 | using System.Xml.Serialization;
6 |
7 | namespace vMixAPI
8 | {
9 | [Serializable]
10 | public class BusE: Master
11 | {
12 | [XmlIgnore]
13 | public override string Name { get { return "BusE"; } }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/vMixAPI/BusF.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Collections.ObjectModel;
4 | using System.Linq;
5 | using System.Xml.Serialization;
6 |
7 | namespace vMixAPI
8 | {
9 | [Serializable]
10 | public class BusF: Master
11 | {
12 | [XmlIgnore]
13 | public override string Name { get { return "BusF"; } }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/vMixAPI/BusG.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Collections.ObjectModel;
4 | using System.Linq;
5 | using System.Xml.Serialization;
6 |
7 | namespace vMixAPI
8 | {
9 | [Serializable]
10 | public class BusG: Master
11 | {
12 | [XmlIgnore]
13 | public override string Name { get { return "BusG"; } }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/vMixAPI/InputBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 | using System.Windows;
4 | using System.Xml.Serialization;
5 |
6 | namespace vMixAPI
7 | {
8 | [Serializable]
9 | public class InputBase : DependencyObject, INotifyPropertyChanged
10 | {
11 | public InputBase()
12 | {
13 | Name = string.Format("{{{0}}}", GetType().Name.Replace("Input", "").ToUpper());
14 | }
15 |
16 | public int InputNumber { get; set; }
17 | public string InputKey { get; set; }
18 | [XmlAttribute("name")]
19 | public string Name { get; set; }
20 | [XmlAttribute("index")]
21 | public int Index { get; set; }
22 |
23 | [XmlIgnore]
24 | public virtual int ID { get { return Name.GetHashCode() % GetType().GetHashCode(); } }
25 | [XmlIgnore]
26 | public virtual State ControlledState { get; set; }
27 | [XmlIgnore]
28 | public virtual string Type { get { return "BAS"; } }
29 | public event PropertyChangedEventHandler PropertyChanged;
30 | protected void RaisePropertyChanged(string property)
31 | {
32 | if (PropertyChanged != null)
33 | PropertyChanged(this, new PropertyChangedEventArgs(property));
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/vMixAPI/InputPosition.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.Xml.Serialization;
7 |
8 | namespace vMixAPI
9 | {
10 | [Serializable]
11 | public class InputPosition: InputBase
12 | {
13 | [XmlIgnore]
14 | public override string Type
15 | {
16 | get
17 | {
18 | return "POS";
19 | }
20 | }
21 |
22 | [XmlAttribute("panY")]
23 | public float PanY { get; set; }
24 | [XmlAttribute("panX")]
25 | public float PanX { get; set; }
26 | [XmlAttribute("zoomX")]
27 | public float zoomX { get; set; }
28 | [XmlAttribute("zoomY")]
29 | public float zoomY { get; set; }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/vMixAPI/InputType.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 vMixAPI
8 | {
9 | /*DEPRECATED*/
10 | public enum InputType
11 | {
12 | Video = 0,
13 | Image = 1,
14 | Photos = 2,
15 | PowerPoint = 3,
16 | DVD = 4,
17 | Capture = 5,
18 | DesktopCapture = 6,
19 | Audio = 7,
20 | Flash = 8,
21 | Xaml = 9,
22 | VideoDelay = 10,
23 | Title = 11,
24 | Colour = 12,
25 | AudioFile = 13,
26 | VideoList = 14,
27 | VirtualSet = 15,
28 | VideoLoop = 16,
29 | Stream = 20,
30 | ImageSequence = 21,
31 | Virtual = 22,
32 | Blank = 100,
33 | Signal = 1000,
34 | Placeholder = 2000,
35 | Replay = 3000,
36 | ReplayPreview = 3001,
37 | ReplayOverlay = 3002,
38 | NDI = 4000,
39 | Browser = 5000,
40 | VideoCall = 6000,
41 | VLC = 7000,
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/vMixAPI/ListItem.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.Xml.Serialization;
8 |
9 |
10 | namespace vMixAPI
11 | {
12 | [Serializable]
13 | [XmlType(TypeName = "item")]
14 | public class ListItem: DependencyObject
15 | {
16 |
17 |
18 | [XmlText]
19 | public string Value
20 | {
21 | get { return (string)GetValue(ValueProperty); }
22 | set { SetValue(ValueProperty, value); }
23 | }
24 |
25 | // Using a DependencyProperty as the backing store for Value. This enables animation, styling, binding, etc...
26 | public static readonly DependencyProperty ValueProperty =
27 | DependencyProperty.Register("Value", typeof(string), typeof(ListItem), new PropertyMetadata(""));
28 |
29 |
30 |
31 |
32 | [XmlAttribute("selected")]
33 | public bool Selected
34 | {
35 | get { return (bool)GetValue(SelectedProperty); }
36 | set { SetValue(SelectedProperty, value); }
37 | }
38 |
39 | // Using a DependencyProperty as the backing store for Selected. This enables animation, styling, binding, etc...
40 | public static readonly DependencyProperty SelectedProperty =
41 | DependencyProperty.Register("Selected", typeof(bool), typeof(ListItem), new PropertyMetadata(false));
42 |
43 |
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/vMixAPI/Mix.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.Xml.Serialization;
8 |
9 | namespace vMixAPI
10 | {
11 | [Serializable]
12 | public class Mix: DependencyObject
13 | {
14 | [XmlAttribute("number")]
15 | public int Number { get; set; }
16 |
17 |
18 | [XmlElement("preview")]
19 | public int Preview
20 | {
21 | get { return (int)GetValue(PreviewProperty); }
22 | set { SetValue(PreviewProperty, value); }
23 | }
24 |
25 | // Using a DependencyProperty as the backing store for Preview. This enables animation, styling, binding, etc...
26 | public static readonly DependencyProperty PreviewProperty =
27 | DependencyProperty.Register("Preview", typeof(int), typeof(Mix), new PropertyMetadata(0));
28 |
29 |
30 | [XmlElement("active")]
31 | public int Active
32 | {
33 | get { return (int)GetValue(ActiveProperty); }
34 | set { SetValue(ActiveProperty, value); }
35 | }
36 |
37 | // Using a DependencyProperty as the backing store for Active. This enables animation, styling, binding, etc...
38 | public static readonly DependencyProperty ActiveProperty =
39 | DependencyProperty.Register("Active", typeof(int), typeof(Mix), new PropertyMetadata(0));
40 |
41 |
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/vMixAPI/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // Управление общими сведениями о сборке осуществляется с помощью
6 | // набора атрибутов. Измените значения этих атрибутов, чтобы изменить сведения,
7 | // связанные со сборкой.
8 | [assembly: AssemblyTitle("vMixAPI")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("vMixAPI")]
13 | [assembly: AssemblyCopyright("Copyright © 2016")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Параметр ComVisible со значением FALSE делает типы в сборке невидимыми
18 | // для COM-компонентов. Если требуется обратиться к типу в этой сборке через
19 | // COM, задайте атрибуту ComVisible значение TRUE для этого типа.
20 | [assembly: ComVisible(false)]
21 |
22 | // Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
23 | [assembly: Guid("41b25f7d-b035-401b-a50a-c5bb3983c2ac")]
24 |
25 | // Сведения о версии сборки состоят из следующих четырех значений:
26 | //
27 | // Основной номер версии
28 | // Дополнительный номер версии
29 | // Номер сборки
30 | // Редакция
31 | //
32 | // Можно задать все значения или принять номера сборки и редакции по умолчанию
33 | // используя "*", как показано ниже:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/vMixAPI/Recording.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.Xml.Serialization;
7 |
8 | namespace vMixAPI
9 | {
10 | [Serializable]
11 | public class Recording
12 | {
13 | [XmlText(DataType = "boolean")]
14 | public bool Active { get; set; }
15 | [XmlAttribute("duration")]
16 | public int Duration { get; set; }
17 | [XmlAttribute("filename1")]
18 | public string FileName1 { get; set; }
19 | [XmlAttribute("filename2")]
20 | public string FileName2 { get; set; }
21 | [XmlAttribute("filename3")]
22 | public string FileName3 { get; set; }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/vMixAPI/Transition.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.Xml.Serialization;
7 |
8 | namespace vMixAPI
9 | {
10 | [Serializable]
11 | public class Transition
12 | {
13 | [XmlAttribute("number")]
14 | public int Number { get; set; }
15 | [XmlAttribute("duration")]
16 | public int Duration { get; set; }
17 | [XmlAttribute("effect")]
18 | public TransitionEffect Effect { get; set; }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/vMixAPI/TransitionEffect.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 vMixAPI
8 | {
9 | public enum TransitionEffect
10 | {
11 | Fade = 0,
12 | Zoom = 1,
13 | Wipe = 2,
14 | Slide = 3,
15 | Fly = 4,
16 | CrossZoom = 5,
17 | FlyRotate = 6,
18 | Cube = 7,
19 | CubeZoom = 8,
20 | VerticalWipe = 20,
21 | VerticalSlide = 25,
22 | Merge = 30,
23 | WipeReverse = 40,
24 | SlideReverse = 42,
25 | VerticalWipeReverse = 44,
26 | VerticalSlideReverse = 46,
27 | BarnDoor,
28 | RollerDoor,
29 | Cut = 100,
30 | Stinger1,
31 | Stinger2,
32 | Stinger3,
33 | Stinger4
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/vMixAPI/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/vMixAPI/vMixWebClient.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Diagnostics;
4 | using System.Linq;
5 | using System.Net;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 |
9 | namespace vMixAPI
10 | {
11 | public class vMixWebClient : WebClient
12 | {
13 | public static int _requests = 0;
14 |
15 | public int Timeout { get; set; }
16 |
17 | public vMixWebClient()
18 | {
19 | this.Timeout = 5000;
20 | this.Encoding = Encoding.UTF8;
21 | }
22 |
23 | protected override WebRequest GetWebRequest(Uri address)
24 | {
25 | WebRequest webRequest = base.GetWebRequest(address);
26 | ((HttpWebRequest)webRequest).KeepAlive = false;
27 | webRequest.Timeout = Timeout;
28 | Debug.WriteLine(++_requests);
29 | return webRequest;
30 | }
31 |
32 | protected override void Dispose(bool disposing)
33 | {
34 | Debug.WriteLine(--_requests);
35 | base.Dispose(disposing);
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/vMixController/App.xaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
18 |
19 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/vMixController/Classes/BindingProxy.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 |
8 | namespace vMixController.Classes
9 | {
10 | public class BindingProxy : Freezable
11 | {
12 | protected override Freezable CreateInstanceCore() => new BindingProxy();
13 |
14 | public object Data
15 | {
16 | get { return (object)GetValue(DataProperty); }
17 | set { SetValue(DataProperty, value); }
18 | }
19 |
20 | public static readonly DependencyProperty DataProperty =
21 | DependencyProperty.Register("Data", typeof(object), typeof(BindingProxy));
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/vMixController/Classes/ColorNamePair.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.Media;
7 |
8 | namespace vMixController.Classes
9 | {
10 | public class ColorNamePair : Pair
11 | {
12 | public ColorNamePair(Color a, string b) : base(a, b)
13 | {
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/vMixController/Classes/DummyStringProperty.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 vMixController.Classes
8 | {
9 | public class DummyStringProperty
10 | {
11 | public string Value { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/vMixController/Classes/MenuStyleSelector.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.Controls;
8 |
9 | namespace vMixController.Classes
10 | {
11 | public class MenuStyleSelector: StyleSelector
12 | {
13 |
14 |
15 | public Style MenuItem { get; set; }
16 | public Style Separator { get; set; }
17 |
18 |
19 |
20 | public override Style SelectStyle(object item, DependencyObject container)
21 | {
22 | return item is MenuItem ? MenuItem : Separator;
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/vMixController/Classes/Messages.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 vMixController.Messages
8 | {
9 | public struct LoadingMessage
10 | {
11 | public bool Loading { get; set; }
12 | }
13 | public class LIVEToggleMessage
14 | {
15 | public int State { get; set; }
16 | }
17 | }
--------------------------------------------------------------------------------
/vMixController/Classes/NativeFunctions.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 vMixController.Classes
8 | {
9 | public static class NativeFunctions
10 | {
11 | public const string NEXTPAGE = "NextPage";
12 | public const string PREVPAGE = "PrevPage";
13 | public const string SETPAGE = "SetPage";
14 | public const string WIN = "Win";
15 | public const string CONDITION = "Condition";
16 | public const string ELSE = "Else";
17 | public const string CONDITIONEND = "ConditionEnd";
18 | public const string EXECLINK = "ExecLink";
19 | public const string GOTO = "GoTo";
20 | public const string HASVARIABLE = "HasVariable";
21 | public const string ISPRESSED = "IsPressed";
22 | public const string SETVARIABLE = "SetVariable";
23 | public const string TIMER = "Timer";
24 | public const string UPDATEINTERNALBUTTONSTATE = "UpdateInternalButtonState";
25 | public const string SYNCINTERNALBUTTONSTATE = "SyncInternalButtonState";
26 | public const string UPDATESTATE = "UpdateState";
27 | public const string SYNC = "SyncState";
28 | public const string LIVETOGGLE = "LIVEToggle";
29 | public const string LIVEOFF = "LIVEOff";
30 | public const string LIVEON = "LIVEOn";
31 | public const string API = "API";
32 | public const string VALUECHANGED = "ValueChanged";
33 |
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/vMixController/Classes/One.cs:
--------------------------------------------------------------------------------
1 | using GalaSoft.MvvmLight;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.ComponentModel;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 | using System.Windows;
9 |
10 | namespace vMixController.Classes
11 | {
12 | [Serializable]
13 | public class One : ObservableObject
14 | {
15 | private T a;
16 |
17 | public T A
18 | {
19 | get
20 | {
21 | return a;
22 | }
23 |
24 | set
25 | {
26 | if (a is ObservableObject)
27 | (a as ObservableObject).PropertyChanged -= One_PropertyChanged;
28 | a = value;
29 | if (value is ObservableObject)
30 | (value as ObservableObject).PropertyChanged += One_PropertyChanged;
31 | RaisePropertyChanged("A");
32 | }
33 | }
34 |
35 | private void One_PropertyChanged(object sender, PropertyChangedEventArgs e)
36 | {
37 | RaisePropertyChanged("A");
38 | }
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/vMixController/Classes/Quadriple.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 |
8 | namespace vMixController.Classes
9 | {
10 | [Serializable]
11 | public class Quadriple : Triple
12 | {
13 | public Quadriple()
14 | {
15 |
16 | }
17 |
18 | public Quadriple(T1 a, T2 b, T3 c, T4 d)
19 | {
20 | A = a;
21 | B = b;
22 | C = c;
23 | D = d;
24 | }
25 |
26 | public T4 D
27 | {
28 | get { return (T4)GetValue(DProperty); }
29 | set { SetValue(DProperty, value); }
30 | }
31 |
32 | // Using a DependencyProperty as the backing store for C. This enables animation, styling, binding, etc...
33 | public static readonly DependencyProperty DProperty =
34 | DependencyProperty.Register("D", typeof(T4), typeof(Quadriple), new PropertyMetadata(default(T4)));
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/vMixController/Classes/SharedData.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 vMixController.Classes
8 | {
9 | public class SharedData : Singleton
10 | {
11 | public Func> GetData { get; set; }
12 | public Func GetDataSource { get; set; }
13 | public Func> GetDataSources { get; set; }
14 | public Func> GetDataSourceProps { get; set; }
15 |
16 | private SharedData()
17 | {
18 |
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/vMixController/Classes/Singleton.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Reflection;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 |
8 | namespace vMixController.Classes
9 | {
10 | public class Singleton where T : class
11 | {
12 | private static T _instance;
13 |
14 | protected Singleton()
15 | {
16 | }
17 |
18 | private static T CreateInstance()
19 | {
20 | ConstructorInfo cInfo = typeof(T).GetConstructor(
21 | BindingFlags.Instance | BindingFlags.NonPublic,
22 | null,
23 | new Type[0],
24 | new ParameterModifier[0]);
25 |
26 | return (T)cInfo.Invoke(null);
27 | }
28 |
29 | public static T Instance
30 | {
31 | get
32 | {
33 | if (_instance == null)
34 | {
35 | _instance = CreateInstance();
36 | }
37 |
38 | return _instance;
39 | }
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/vMixController/Colours.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 255
6 | 255
7 | 255
8 | 255
9 |
10 |
11 | 255
12 | 255
13 | 255
14 | 255
15 |
16 | White
17 |
18 |
--------------------------------------------------------------------------------
/vMixController/ControllerHighlight.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | '
10 | '
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | if
19 | else
20 |
21 |
22 |
23 |
24 |
25 | \b(?im)[{(]?[0-9A-F]{8}[-]?(?:[0-9A-F]{4}[-]?){3}[0-9A-F]{12}[)}]? # guid
26 | |\b[0-9]+
27 |
28 |
29 |
--------------------------------------------------------------------------------
/vMixController/Controls/ComboBox.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Collections.Specialized;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 | using System.Windows.Controls;
8 |
9 | namespace vMixController.Controls
10 | {
11 | public class ComboBox : System.Windows.Controls.ComboBox
12 | {
13 | public ComboBox()
14 | {
15 | this.SetResourceReference(StyleProperty, typeof(ComboBox));
16 | }
17 |
18 | private bool ignore = false;
19 | protected override void OnSelectionChanged(SelectionChangedEventArgs e)
20 | {
21 | if (!ignore)
22 | {
23 | base.OnSelectionChanged(e);
24 | }
25 | }
26 |
27 | protected override void OnItemsChanged(NotifyCollectionChangedEventArgs e)
28 | {
29 | ignore = true;
30 | try
31 | {
32 | base.OnItemsChanged(e);
33 | }
34 | finally
35 | {
36 | ignore = false;
37 | }
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/vMixController/Controls/TBarSlider.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Diagnostics;
4 | using System.Linq;
5 | using System.Reflection;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 | using System.Windows;
9 | using System.Windows.Controls;
10 | using System.Windows.Controls.Primitives;
11 | using System.Windows.Data;
12 |
13 | namespace vMixController.Controls
14 | {
15 | public class TBarSlider: Slider
16 | {
17 |
18 | public TBarSlider()
19 | {
20 |
21 | }
22 |
23 | public void CancelDrag()
24 | {
25 |
26 | var track = (Track)this.Template.FindName("PART_Track", this);
27 |
28 | track.Thumb.CancelDrag();
29 | }
30 |
31 |
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/vMixController/Controls/TypeTemplateSelector.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Diagnostics;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 | using System.Windows;
8 | using System.Windows.Controls;
9 |
10 | namespace vMixController.Controls
11 | {
12 | public class TypeTemplateSelector: DataTemplateSelector
13 | {
14 |
15 |
16 | public int Page { get; set; } = 0;
17 |
18 | public override DataTemplate SelectTemplate(object item, DependencyObject container)
19 | {
20 | //Debug.Print(Page.ToString());
21 | FrameworkElement element = container as FrameworkElement;
22 | //if (((int?)item.GetType().GetProperty("Page")?.GetValue(item) ?? 0) == Page)
23 | //{
24 | try
25 | {
26 | return (DataTemplate)element.FindResource(item.GetType().Name);
27 | }
28 | catch (ResourceReferenceKeyNotFoundException)
29 | {
30 | return (DataTemplate)element.FindResource(item.GetType().BaseType.Name);
31 | }
32 | //}
33 | //else
34 | // return (DataTemplate)element.FindResource("Dummy");
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/vMixController/Controls/VolumeSlider.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.Controls;
8 | using System.Windows.Controls.Primitives;
9 | using System.Windows.Input;
10 |
11 | namespace vMixController.Controls
12 | {
13 | public class VolumeSlider: Slider
14 | {
15 | public event EventHandler ThumbDragStarted;
16 | public event EventHandler ThumbDragCompleted;
17 |
18 | protected override void OnThumbDragStarted(DragStartedEventArgs e)
19 | {
20 | ThumbDragStarted?.Invoke(this, new EventArgs());
21 | base.OnThumbDragStarted(e);
22 | }
23 |
24 | protected override void OnThumbDragCompleted(DragCompletedEventArgs e)
25 | {
26 | ThumbDragCompleted?.Invoke(this, new EventArgs());
27 | base.OnThumbDragCompleted(e);
28 | }
29 |
30 | protected override void OnTouchDown(TouchEventArgs e)
31 | {
32 | e.Handled = true;
33 | base.OnTouchDown(e);
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/vMixController/Converters/AudiobusToBoolConverter.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.Data;
8 | using System.Windows.Markup;
9 |
10 | namespace vMixController.Converters
11 | {
12 | [ValueConversion(typeof(string), typeof(bool))]
13 | public class AudiobusToBoolConverter : MarkupExtension, IValueConverter
14 | {
15 | private static IValueConverter _instance;
16 |
17 | ///
18 | /// Static instance of this converter.
19 | ///
20 | public static IValueConverter Instance => _instance ?? (_instance = new AudiobusToBoolConverter());
21 |
22 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
23 | {
24 | if (value != null && parameter != null && ((string)value).IndexOf((string)parameter) >= 0)
25 | return true;
26 | return false;
27 | }
28 |
29 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
30 | {
31 | throw new NotImplementedException();
32 | }
33 |
34 | public override object ProvideValue(IServiceProvider serviceProvider)
35 | {
36 | return Instance;
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/vMixController/Converters/AudiobusToVisibilityConverter.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.Windows.Markup;
10 | using vMixAPI;
11 |
12 | namespace vMixController.Converters
13 | {
14 | [ValueConversion(typeof(List), typeof(Visibility))]
15 | public class AudiobusToVisibilityConverter : MarkupExtension, IValueConverter
16 | {
17 | private static IValueConverter _instance;
18 |
19 | ///
20 | /// Static instance of this converter.
21 | ///
22 | public static IValueConverter Instance => _instance ?? (_instance = new AudiobusToVisibilityConverter());
23 |
24 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
25 | {
26 | if (value is List && parameter is string)
27 | foreach (var item in (List)value)
28 | {
29 | if (item.Name == (string)parameter)
30 | return Visibility.Visible;
31 | }
32 | return Visibility.Collapsed;
33 | }
34 |
35 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
36 | {
37 | throw new NotImplementedException();
38 | }
39 |
40 | public override object ProvideValue(IServiceProvider serviceProvider)
41 | {
42 | return Instance;
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/vMixController/Converters/BitToVisibilityConverter.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.Windows.Markup;
10 | using vMixController.Classes;
11 |
12 | namespace vMixController.Converters
13 | {
14 | [ValueConversion(typeof(byte), typeof(Visibility))]
15 | public class BitToVisibilityConverter : MarkupExtension, IValueConverter
16 | {
17 | private static IValueConverter _instance;
18 |
19 | ///
20 | /// Static instance of this converter.
21 | ///
22 | public static IValueConverter Instance => _instance ?? (_instance = new BitToVisibilityConverter());
23 |
24 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
25 | {
26 | byte.TryParse((string)parameter, out byte bit);
27 | return ((byte)value).GetBit(bit) ? Visibility.Visible : Visibility.Collapsed;
28 |
29 | }
30 |
31 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
32 | {
33 | throw new NotImplementedException();
34 | }
35 |
36 | public override object ProvideValue(IServiceProvider serviceProvider)
37 | {
38 | return Instance;
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/vMixController/Converters/BoolToOrientationConverter.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.Controls;
8 | using System.Windows.Data;
9 | using System.Windows.Markup;
10 |
11 | namespace vMixController.Converters
12 | {
13 | [ValueConversion(typeof(bool), typeof(Orientation))]
14 | public class BoolToOrientationConverter : MarkupExtension, IValueConverter
15 | {
16 |
17 | private static IValueConverter _instance;
18 |
19 | ///
20 | /// Static instance of this converter.
21 | ///
22 | public static IValueConverter Instance => _instance ?? (_instance = new BoolToOrientationConverter());
23 |
24 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
25 | {
26 | return ((bool)value) ? Orientation.Horizontal : Orientation.Vertical;
27 | }
28 |
29 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
30 | {
31 | throw new NotImplementedException();
32 | }
33 |
34 | public override object ProvideValue(IServiceProvider serviceProvider)
35 | {
36 | return Instance;
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/vMixController/Converters/BoolToSolidColorBrushConverter.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.Data;
8 | using System.Windows.Markup;
9 | using System.Windows.Media;
10 |
11 | namespace vMixController.Converters
12 | {
13 | [ValueConversion(typeof(bool), typeof(SolidColorBrush))]
14 | public class BoolToSolidColorBrushConverter : MarkupExtension, IValueConverter
15 | {
16 | private static IValueConverter _instance;
17 |
18 | ///
19 | /// Static instance of this converter.
20 | ///
21 | public static IValueConverter Instance => _instance ?? (_instance = new BoolToSolidColorBrushConverter());
22 |
23 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
24 | {
25 | var t = (bool)value;
26 | if (parameter != null)
27 | t = !t;
28 | if (t)
29 | return new SolidColorBrush(Colors.Red);
30 | else
31 | return new SolidColorBrush(Colors.SlateGray);
32 | }
33 |
34 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
35 | {
36 | throw new NotImplementedException();
37 | }
38 |
39 | public override object ProvideValue(IServiceProvider serviceProvider)
40 | {
41 | return Instance;
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/vMixController/Converters/ColorToDarkerSolidBrushConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Globalization;
3 | using System.Windows.Data;
4 | using System.Windows.Markup;
5 | using System.Windows.Media;
6 | using vMixController.Classes;
7 |
8 | namespace vMixController.Converters
9 | {
10 | [ValueConversion(typeof(Color), typeof(SolidColorBrush))]
11 | public class ColorToDarkerSolidBrushConverter : MarkupExtension, IValueConverter
12 | {
13 | private static IValueConverter _instance;
14 |
15 | ///
16 | /// Static instance of this converter.
17 | ///
18 | public static IValueConverter Instance => _instance ?? (_instance = new ColorToDarkerSolidBrushConverter());
19 |
20 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
21 | {
22 | if (value == null)
23 | return Brushes.Black;
24 | var c = (Color)value;
25 | var hsb = SimpleColorTransforms.RgBtoHsb(c);
26 | return new SolidColorBrush(SimpleColorTransforms.HsBtoRgb(hsb[0], Math.Min(1, hsb[1] * 1.5), hsb[2] * 0.75));
27 | }
28 |
29 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
30 | {
31 | throw new NotImplementedException();
32 | }
33 |
34 | public override object ProvideValue(IServiceProvider serviceProvider)
35 | {
36 | return Instance;
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/vMixController/Converters/ColorToSolidBrushConverter.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.Data;
8 | using System.Windows.Markup;
9 | using System.Windows.Media;
10 |
11 | namespace vMixController.Converters
12 | {
13 | [ValueConversion(typeof(Color), typeof(SolidColorBrush))]
14 | public class ColorToSolidBrushConverter : MarkupExtension, IValueConverter
15 | {
16 | private static IValueConverter _instance;
17 |
18 | ///
19 | /// Static instance of this converter.
20 | ///
21 | public static IValueConverter Instance => _instance ?? (_instance = new ColorToSolidBrushConverter());
22 |
23 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
24 | {
25 | return new SolidColorBrush((Color)value);
26 | }
27 |
28 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
29 | {
30 | return ((SolidColorBrush)value).Color;
31 | }
32 |
33 | public override object ProvideValue(IServiceProvider serviceProvider)
34 | {
35 | return Instance;
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/vMixController/Converters/ControlIntToParameterConverter.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.Data;
8 | using System.Windows.Markup;
9 | using vMixController.Classes;
10 | using vMixController.Widgets;
11 |
12 | namespace vMixController.Converters
13 | {
14 | public class ControlIntToParameterConverter : MarkupExtension, IMultiValueConverter
15 | {
16 | private static IMultiValueConverter _instance;
17 |
18 | ///
19 | /// Static instance of this converter.
20 | ///
21 | public static IMultiValueConverter Instance => _instance ?? (_instance = new ControlIntToParameterConverter());
22 |
23 | public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
24 | {
25 | return new ControlIntParameter((vMixControl)values[0], (int)values[1]);
26 | }
27 |
28 | public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
29 | {
30 | throw new NotImplementedException();
31 | }
32 |
33 | public override object ProvideValue(IServiceProvider serviceProvider)
34 | {
35 | return Instance;
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/vMixController/Converters/DateTimeKeepMillisecondsConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Globalization;
4 | using System.Linq;
5 | using System.ServiceModel.Channels;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 | using System.Windows.Controls;
9 | using System.Windows.Data;
10 |
11 | namespace vMixController.Converters
12 | {
13 | public class DateTimeKeepMillisecondsConverter : ValidationRule, IValueConverter
14 | {
15 | private DateTime date;
16 |
17 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
18 | {
19 | date = ((DateTime)(value));
20 |
21 | return value;
22 | }
23 |
24 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
25 | {
26 | if (value == null) return date;
27 |
28 | DateTime dateIn;
29 | DateTime.TryParse((string)value, out dateIn);
30 |
31 | var result = dateIn.AddMilliseconds(date.Millisecond);
32 |
33 | // return, because this event handler will be executed a second time
34 | return result;
35 | }
36 |
37 | public override ValidationResult Validate(object value, CultureInfo cultureInfo)
38 | {
39 | if (value == null) return new ValidationResult(true, null);
40 | DateTime dateIn;
41 | return new ValidationResult(DateTime.TryParse((string)value, out dateIn), null);
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/vMixController/Converters/DoubleToThicknessConverter.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.Windows.Markup;
10 |
11 | namespace vMixController.Converters
12 | {
13 | [ValueConversion(typeof(double[]), typeof(Thickness))]
14 | public class DoubleToThicknessConverter : MarkupExtension, IMultiValueConverter
15 | {
16 | private static IMultiValueConverter _instance;
17 |
18 | ///
19 | /// Static instance of this converter.
20 | ///
21 | public static IMultiValueConverter Instance => _instance ?? (_instance = new DoubleToThicknessConverter());
22 |
23 | public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
24 | {
25 | return new Thickness(values.Length > 0 ? (double)values[0] : 0,
26 | values.Length > 1 ? (double)values[1] : 0,
27 | values.Length > 2 ? (double)values[2] : 0,
28 | values.Length > 3 ? (double)values[3] : 0);
29 | //throw new NotImplementedException();
30 | }
31 |
32 | public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
33 | {
34 | throw new NotImplementedException();
35 | }
36 |
37 | public override object ProvideValue(IServiceProvider serviceProvider)
38 | {
39 | return Instance;
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/vMixController/Converters/EnumToStringConverter.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.Data;
8 | using System.Windows.Markup;
9 |
10 | namespace vMixController.Converters
11 | {
12 | [ValueConversion(typeof(Enum), typeof(string))]
13 | public class EnumToStringConverter : MarkupExtension, IValueConverter
14 | {
15 | private static IValueConverter _instance;
16 |
17 | ///
18 | /// Static instance of this converter.
19 | ///
20 | public static IValueConverter Instance => _instance ?? (_instance = new EnumToStringConverter());
21 |
22 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
23 | {
24 | return Enum.GetName(value.GetType(), value);
25 | //throw new NotImplementedException();
26 | }
27 |
28 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
29 | {
30 | return Enum.Parse(targetType, (string)value);
31 | }
32 |
33 | public override object ProvideValue(IServiceProvider serviceProvider)
34 | {
35 | return Instance;
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/vMixController/Converters/EscapeAt.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 vMixController.Converters
8 | {
9 | public static class Helpers
10 | {
11 | public static string EscapeSymbol = "~";
12 |
13 | public static string EscapeAt(string val)
14 | {
15 | if (val == null) return "";
16 | return val.Replace(EscapeSymbol + EscapeSymbol, string.Format("{0}", (char)0));
17 | }
18 | public static string UnescapeAt(string val)
19 | {
20 | if (val == null) return "";
21 | return val.Replace(string.Format("{0}", (char)0), EscapeSymbol);
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/vMixController/Converters/Int32ToVisibilityConverter.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 |
10 | namespace vMixController.Converters
11 | {
12 | public class Int32ToVisibilityConverter : IValueConverter
13 | {
14 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
15 | {
16 | return (int)value == (int)parameter ? Visibility.Visible : Visibility.Collapsed;
17 | //throw new NotImplementedException();
18 | }
19 |
20 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
21 | {
22 | throw new NotImplementedException();
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/vMixController/Converters/IntegersToVisibilityConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Diagnostics;
4 | using System.Globalization;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 | using System.Windows;
9 | using System.Windows.Data;
10 |
11 | namespace vMixController.Converters
12 | {
13 | [ValueConversion(typeof(int[]), typeof(Visibility))]
14 | public class IntegersToVisibilityConverter : IMultiValueConverter
15 | {
16 | public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
17 | {
18 | bool result = true;
19 | bool areInts = true;
20 | foreach (var item in values)
21 | areInts = areInts && item is int;
22 | if (!areInts)
23 | return Visibility.Visible;
24 | for (int i = 0; i < values.Length - 1; i++)
25 | result = result && ((int)values[i] == (int)values[i + 1]);
26 | return result ? Visibility.Visible : Visibility.Hidden;
27 | }
28 |
29 | public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
30 | {
31 | return Array.Empty