A brief introduction to the SharpCap Sequencer
Posted: Sat Jun 20, 2020 2:45 pm
The sequencer is perhaps the biggest new feature in SharpCap 4.0 and therefore deserves some introduction to help avoid people having to stumble around in the dark whilst working out how it works. It's probably best to start with a screenshot...
Anyone who is familiar with some of the tools that are used to teach kids programming (like Scratch, or the Lego robotics invention system) is properly going to recognise what is going on here – there are a whole range of blocks that can each make SharpCap to a specific task available on the left-hand side. You simply need to drag the blocks that you want into the middle area where your sequence builds up as you add new blocks to it. Some of the blocks are very simple such as opening or closing a camera while others are much more complicated such as performing an autofocus operation or plate solving and re-synchronising the mount position.
Each block may have a number of properties that are shown on the right-hand side. SharpCap tries to provide help for you when adjusting these properties for a block – for instance if the block that you are working with is one that moves the filter wheel to a particular filter, SharpCap will list the filters on your filter wheel if it is currently connected whilst you are editing the block. For this reason it's a good idea to have the camera that you are writing a sequence for open in SharpCap while you are designing the sequence.
Sequences can, of course, be saved to file and load it again later. Running a sequence is as simple as pressing the 'Run' button after you have created it or loaded it. I'm expecting to add additional ways to run sequences before SharpCap 3.3 is finished – for example perhaps menu items to run any of the last 10 most recently used sequences with a single click. Once the sequence is running, you can stop it at any point by pressing the 'Stop' button in the sequencer window or choosing the 'Cancel Sequencer Script' menu item. Note that the sequence may not stop instantly – the block that is already in progress may need to complete before the sequence can be stopped.
Another button to be aware of is the 'Test' button in the sequencer window. This run just single block that is currently highlighted in the sequence block list in the centre of the window. This is great for testing whether a block behave just the way you want without having to run the whole sequence.
There are a number of blocks in the 'Repeat' tab on the left-hand side that allow you to perform the same steps over and over again – these blocks are special in that they can contain a list of other blocks. So far you can repeat a fixed number of times or repeat for a list of filters or repeat until dawn/dusk/midnight. More types of repeat blocks may be added later.
If you have any experience in programming you may have noticed that there are no conditional blocks – that is there is no way to write a sequence that will perform some of its steps only if a particular condition is true. I haven't seen the need for these to exist just yet, but might consider adding them if we could work out a good justification for them existing. There are also no variables or functions, although there is a block that will run another saved sequence file which can be used to implement very simple functions if required.
Feedback:
To give you an idea of the sort of feedback I'm looking for in respect of the sequencer, some things I would like to hear about are :
Bugs : sequence steps that don't work or crash SharpCap, ways to crash SharpCap in the sequence designer or parts of the sequence designer that don't work as they should
Hard to Use : bits of the sequence designer that are harder to use than they should be – for example missing suggestions for block properties, things that are difficult to do that should be easier.
Ideas for other blocks : it can be quite easy to write new blocks, particularly simple ones, so if you feel that there is something missing let me know and I will investigate whether it can be added.
UI Improvements : could the layout of the sequence designer be improved to make it easier to use?
What is still to come?
I suspect that the sequence designer tool may be too complicated for many users – I have an idea for creating a simpler tool that we might end up calling the 'Sequence Wizard' that will build a sequence for you taking into account choices you have made (for instance capturing darks, flats, using different filters, etc)
I want to add better support for periodic events in the sequence – that is having a way to say that dithering should occur every six frames or every 10 minutes rather than having to put a specific dither step in every time you want the sequence to dither.
I'm undecided on whether making live stacking available through the sequencer is a good idea or not – in a way they cater to different audiences with Live Stacking aiming at the image who likes to watch what is going on and the sequencer aiming at the image who likes to set things running and go back indoors for a cup of tea or a beer.
Anyway, hope that this introduction is helpful. Feel free to ask questions.
Cheers, Robin
Anyone who is familiar with some of the tools that are used to teach kids programming (like Scratch, or the Lego robotics invention system) is properly going to recognise what is going on here – there are a whole range of blocks that can each make SharpCap to a specific task available on the left-hand side. You simply need to drag the blocks that you want into the middle area where your sequence builds up as you add new blocks to it. Some of the blocks are very simple such as opening or closing a camera while others are much more complicated such as performing an autofocus operation or plate solving and re-synchronising the mount position.
Each block may have a number of properties that are shown on the right-hand side. SharpCap tries to provide help for you when adjusting these properties for a block – for instance if the block that you are working with is one that moves the filter wheel to a particular filter, SharpCap will list the filters on your filter wheel if it is currently connected whilst you are editing the block. For this reason it's a good idea to have the camera that you are writing a sequence for open in SharpCap while you are designing the sequence.
Sequences can, of course, be saved to file and load it again later. Running a sequence is as simple as pressing the 'Run' button after you have created it or loaded it. I'm expecting to add additional ways to run sequences before SharpCap 3.3 is finished – for example perhaps menu items to run any of the last 10 most recently used sequences with a single click. Once the sequence is running, you can stop it at any point by pressing the 'Stop' button in the sequencer window or choosing the 'Cancel Sequencer Script' menu item. Note that the sequence may not stop instantly – the block that is already in progress may need to complete before the sequence can be stopped.
Another button to be aware of is the 'Test' button in the sequencer window. This run just single block that is currently highlighted in the sequence block list in the centre of the window. This is great for testing whether a block behave just the way you want without having to run the whole sequence.
There are a number of blocks in the 'Repeat' tab on the left-hand side that allow you to perform the same steps over and over again – these blocks are special in that they can contain a list of other blocks. So far you can repeat a fixed number of times or repeat for a list of filters or repeat until dawn/dusk/midnight. More types of repeat blocks may be added later.
If you have any experience in programming you may have noticed that there are no conditional blocks – that is there is no way to write a sequence that will perform some of its steps only if a particular condition is true. I haven't seen the need for these to exist just yet, but might consider adding them if we could work out a good justification for them existing. There are also no variables or functions, although there is a block that will run another saved sequence file which can be used to implement very simple functions if required.
Feedback:
To give you an idea of the sort of feedback I'm looking for in respect of the sequencer, some things I would like to hear about are :
Bugs : sequence steps that don't work or crash SharpCap, ways to crash SharpCap in the sequence designer or parts of the sequence designer that don't work as they should
Hard to Use : bits of the sequence designer that are harder to use than they should be – for example missing suggestions for block properties, things that are difficult to do that should be easier.
Ideas for other blocks : it can be quite easy to write new blocks, particularly simple ones, so if you feel that there is something missing let me know and I will investigate whether it can be added.
UI Improvements : could the layout of the sequence designer be improved to make it easier to use?
What is still to come?
I suspect that the sequence designer tool may be too complicated for many users – I have an idea for creating a simpler tool that we might end up calling the 'Sequence Wizard' that will build a sequence for you taking into account choices you have made (for instance capturing darks, flats, using different filters, etc)
I want to add better support for periodic events in the sequence – that is having a way to say that dithering should occur every six frames or every 10 minutes rather than having to put a specific dither step in every time you want the sequence to dither.
I'm undecided on whether making live stacking available through the sequencer is a good idea or not – in a way they cater to different audiences with Live Stacking aiming at the image who likes to watch what is going on and the sequencer aiming at the image who likes to set things running and go back indoors for a cup of tea or a beer.
Anyway, hope that this introduction is helpful. Feel free to ask questions.
Cheers, Robin