How to search for/find pulses that are longer than a given duration in a digital capture?

Let’s say I have a a digital capture of a channel, resulting with many thousands of positive pulses in duration anywhere between 5 us and 40 us in a 30 second capture - and I would like to find - and visually indicate - all pulses that have a duration greater than or equal to 30 us. Is it possible to do in Saleae Logic software (I use v1 still, but it would be good to know if v2 has something for this)?

If I use a measurement, I can have written out what is the max positive pulse duration ( “Maximum Pos Pulse” ) - but I will not get a visual indication of where in the capture that pulse is.

So, I guess for such markings - multiple ones even - one would have to use analyzer? In that case, is there an existing analyzer that would accept a specification like “positive pulse duration >= 30 us”, and then mark those pulses that fit the description/search query?

Great question.

We did release a “preview” version of measurements V2 in our Logic 2 software which does support annotations, unfortunately we only released it for analog measurements. We plan to get back to this, but we don’t have plans to add annotation support to digital yet.

The more direct solution to this would be to write a C++ analyzer plugin instead, which can add little markers to any positions on the digital channel you like, such as the dots we add to the async serial analyzer, or the arrows we add to the clock edges for the I2C and SPI analyzers.
Technically this API supports Logic 1 and Logic 2, however the official examples now only support Logic 2. It would be pretty easy to back-port to Logic 1, as long as FrameV2 features are not used.

details here: https://support.saleae.com/saleae-api-and-sdk/protocol-analyzer-sdk