I've been working on my Gold Exam and a good chunk of it is written in SIMPL#. It's been a good reminder that getting code in SIMPL# to play nicely with SIMPL logic can sometimes turn into a chore. We have SIMPL+ to thank for most of the hair-pulling. I thought a post about delegates … Continue reading SIMPL+ and Delegates
Tag: simpl sharp
Multithreaded Programming
In this post, I'm going to explore the different threading options on 3- and 4-series processors. I find it difficult to keep everything straight when working in different Crestron environments, so hopefully this post will be a good refresher when I need it. What are threads? Threads are an execution path through your program. See … Continue reading Multithreaded Programming
ATEM Mini Pro
Blackmagic Design makes some cool production switchers that are reasonably priced and work great. They even distribute an SDK to control them from Windows or Mac programs. Controlling from Crestron is tougher, but not impossible. Some third-party products have sprung up to make it easier, too. In this post, I'm going to walk through how … Continue reading ATEM Mini Pro
Soup to Nuts: Cisco Codec – Part 4
In the final part of this series, we'll finish by adding some basic functionality to the module we created in Part 3. Then we'll look at how to drop this module into a real program and debug it when things go wrong. Lastly, we'll consider how we could extend this module in the future. Dialing … Continue reading Soup to Nuts: Cisco Codec – Part 4
Soup to Nuts: Cisco Codec – Part 3
In this part, we'll extend our Device class and create a subclass specialized for talking to Cisco devices. Then we'll work on properly wrapping our SIMPL+ module into a SIMPL User Macro. Let's add a new Codec class to our project: Start off with a simple definition for Codec: using System; using Crestron.SimplSharp; namespace CiscoRoomKit … Continue reading Soup to Nuts: Cisco Codec – Part 3
Soup to Nuts: Cisco Codec – Part 2
In the last part, we got a basic SSH connection working to our Cisco codec. Now we're going to try sending and receiving some commands! We need to add a ShellStream to our Device class: public class Device { private SshClient _ssh; private ShellStream _stream; public string Host { get; set; } Then in our … Continue reading Soup to Nuts: Cisco Codec – Part 2
Soup to Nuts: Cisco Codec – Part 1
In this series of posts, we'll develop a basic module for controlling Cisco Room Kit devices. It can be used in SIMPL Windows or SIMPL# Pro programs. It won't be as exhaustive as the official module available from the Application Market, but it will be enough to handle most video conferencing tasks. Create a new … Continue reading Soup to Nuts: Cisco Codec – Part 1
Soup-to-Nuts: Phonebook Module (Part 4)
Here is the final part to this module: wrapping it up and making it easy to use. SIMPL Windows is a powerful tool because it easily abstracts away a lot of details about how things happen. The way our phonebook works under the hood will be a detail we needn't worry about, it will just … Continue reading Soup-to-Nuts: Phonebook Module (Part 4)
Soup-to-Nuts: Phonebook Module (Part 3)
In this part, we'll add support for pages to our phonebook. That may not sound like much, but it will set us up for the 4th (and final) part where we wrap everything into a SIMPL User Macro that we can easily drop into our programs. Before we get into the new stuff, let's fix … Continue reading Soup-to-Nuts: Phonebook Module (Part 3)
Soup-to-Nuts: Phonebook Module (Part 2)
In this part, we'll continue to develop our Phonebook class to provide more functionality to our SIMPL Windows programs. We won't quite finish in this part, but we'll be very close. Make sure you download the current source code from GitHub, too. Right now, the Phonebook class tries to load from a file of our … Continue reading Soup-to-Nuts: Phonebook Module (Part 2)