Development Info

Building and Development info goes here

Quickest editing

The quickest way to edit is to change directly “Traktor Settings.tsi”, and run traktor without a collection. When you finish edits, just restart traktor (no need to import mappings, etc)

Development Quick Start

The simplest way to get started is to install VS2017 and implement a small feature via “cloning”. This ensures the WPF “glue” will work immediatly.

Another simple approach is to read the check-ins of small features (small changes often touch a lot of files because of the WPF “glue”)

Building using VS2017

Forum Threads:

Specific Versions used (as of Dec 2019):

Microsoft Visual Studio Community 2017 
Version 15.9.13
VisualStudio.15.Release/15.9.13+28307.718
Microsoft .NET Framework
Version 4.8.03752
Installed Version: Community

C# Tools   2.10.0-beta2-63501-03+b9fb1610c87cccc8ceb74a770dba261a58e39c4a
Common Azure Tools   1.10
NuGet Package Manager   4.6.0
ProjectServicesPackage Extension   1.0
ResourcePackage Extension   1.0
ResourcePackage Extension   1.0
Visual Basic Tools   2.10.0-beta2-63501-03+b9fb1610c87cccc8ceb74a770dba261a58e39c4a
Visual Studio Code Debug Adapter Host Package   1.0

Visual studio tips

Cant change code on the fly in the debugger:

Auto sync solution explorer: Tools->Options->Projects and Solutions->Track Active Item in Solution Explorer

Visual studio extensions

C# Tutorials:

C# for python programmers:

Visual Studio debugger tutorial:

WPF FAQ: https://social.msdn.microsoft.com/Forums/en-US/a2988ae8-e7b8-4a62-a34f-b851aaf13886/windows-presentation-foundation-faq?forum=wpf#search_text

DotNet Fiddle: https://dotnetfiddle.net/

C# 7.3 info

git cheatsheet

This is how the filtering remote branch was merged. git clone “https://github.com/TomWeps/cmdr.git” git branch -a -vv git checkout remotes/origin/feature/filtering

WPF Filtering feature

pull request: https://github.com/pestrela/cmdr/commit/b7b6312bf4e9fe7649e1d8a88d6b71a910489465 original WPF example: https://www.codeproject.com/Articles/41755/Filtering-the-WPF-DataGrid-automatically-via-the-h unchanged datagrid tutorial: https://www.wpftutorial.net/DataGrid.html

VS2017 Keyboard shortcuts CTRL+J - find references CTRL+SHIFT+J - search files CTRL+G - format document CTRL+B - breakpoint CTRL+E, C - comment CTRL+E, U - uncomment CTRL+O - Options CTRL+; - go to solution explorer

Traktor global midi controls:
https://djtechtools.com/2015/09/08/traktor-global-midi-control-control-multiple-midi-devices-one-controller/

WPF tutorial:

https://docs.microsoft.com/en-us/dotnet/framework/wpf/getting-started/walkthrough-my-first-wpf-desktop-application

Canvas - children positied by coordinates relative to the Canvas area.
DockPanel - child elements arranged horizontally or vertically relative to each other.
Grid - Organizes columns and rows.
StackPanel - Children are a single horizontal or vertical line 
VirtualizingStackPanel - ?
WrapPanel - child in sequential position from left to right, breaking content to the next line 

datagrid tutorial: https://www.wpftutorial.net/DataGrid.html
fundamentals: https://www.wpftutorial.net/ArchitecturePattern.html

XAML designer info: https://docs.microsoft.com/en-us/visualstudio/xaml-tools/creating-a-ui-by-using-xaml-designer-in-visual-studio?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev15.query%3FappId%3DDev15IDEF1%26l%3DEN-US%26k%3Dk(VS.XamlEditor);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5)%26rd%3Dtrue&view=vs-2019

Github

how to get a staic download link to latets releae: https://www.rarst.net/code/link-latest-github-release-binary/

out of memory situations

https://stackoverflow.com/questions/1153702/system-outofmemoryexception-was-thrown-when-there-is-still-plenty-of-memory-fr
 
https://msdn.microsoft.com/en-us/library/system.outofmemoryexception(v=vs.110).aspx
 
https://www.codeproject.com/Questions/224672/Exception-of-type-System-OutOfMemoryException-was

WPF C# console:

https://github.com/Iron-YeHong/.NETUtilities http://www.programmersought.com/article/39642139957/ https://stackoverflow.com/questions/160587/no-output-to-console-from-a-wpf-application

C# new operators:

What is the fastest way to edit mappings:

I’ve found that the fastest to edit mappings is to directly edit your settings, having an empty collection, and restart whole traktor every time.

Specific steps:

How to make a new CMDR Release

Note: lots of automation opportunities here :)