PDF Viewer With OSC Control

00AVD

Active Member
I've written a program to display PDF files in a window. You can control the displayed page by sending OSC messages to it.

Although I wrote it to display scripts and change page under control of MultiPlay, it can be controlled by any program sending OSC messages.

More details are in the da-share forum.
 
Well, that sounds like it could be fun, particularly in the context of "keeping everyone on the same page of the script" while mounting a play...

How hard would it be to make it listen to a multicast address?
 
Last edited:
Were you thinking of the 239.255.x.x range as used by SACN or some of the other ranges?
 
Well, any multicast IP, which I think is 224/4, right?

Whatever's suitable for an implementer, who wants to be able to -- my hobby horse -- have everyone on a production's script displays change pages as the show proceeds.
 
The whole multicast range is 224.0.0.0 to 239.255.255.255 so I'll allow that. I have it working now. Just need to make the settings a bit nicer.
 
Thinking about this more, would it be useful to have the option of making one of the PDF readers a master?

That way it could send page change messages to the other instances instead of having a different application do the sending.
 
Thinking about this more, would it be useful to have the option of making one of the PDF readers a master?

That way it could send page change messages to the other instances instead of having a different application do the sending.
It might, yes.

Let me think about this some more, cause now that I head-walk it, there are a number of edge cases; you don't necessarily want everything in lockstep at all times.
 
It might, yes.

Let me think about this some more, cause now that I head-walk it, there are a number of edge cases; you don't necessarily want everything in lockstep at all times.
Like a lot of things, Jay, it makes sense for the use case the proposer has in mind and probably is useful for some other applications. Then there are the outliers where having everyone on the same page means a few are not far enough ahead to execute their best work.

I was briefly a page-turner for a well regarded rehearsal pianist. She could read (and recall) at least 12 measures ahead of the current performance beat. Normally I would read along and usually turn the page 2 or 3 measures ahead. She took me aside and told me to turn the page when she nodded her head. At one show I was leaving the piano with 2 pages of score left. Having everyone in lock step would not have helped her.

But I *do* like the idea of being able to direct attention of all the LX/audio/props/fly rail/projection crew/SM to the same exact spot on a script and see value in such a feature.
 
Having the page change transmitted would only be an option. A separate option would be to accept page change requests. A reader could be standalone by default.

You could have one or more readers that send out page change data. It's up to the other readers if they respond to it.

So you could configure it so anyone can change the page and the others automatically track, or some combination thereof.

Because there are lots of mutlicast addresses to choose from, you could even have multiple groups of readers, each with their own interactions.
 
Yeah, the outliers Tim suggests are the sorts of things I had at the edge of my mind, and had to think about some more. I still do, cause I've been sick this week, and not doing my best thinking.

But yes, the use cases *I* tend to think about are live-theatre/television production, where making it possible/easy for people to get/stay on the same page is the important feature.

Still doing that thinking, and I'll get back to you when I've thought it, if it's still useful.
 
Yeah, the outliers Tim suggests are the sorts of things I had at the edge of my mind, and had to think about some more. I still do, cause I've been sick this week, and not doing my best thinking.

But yes, the use cases *I* tend to think about are live-theatre/television production, where making it possible/easy for people to get/stay on the same page is the important feature.

Still doing that thinking, and I'll get back to you when I've thought it, if it's still useful.
Considering how many folks can't find a place in a script when told "page 23, at Mr Jones entrance at mid-page", the ability to direct their attention could be a very good thing.
 
Considering how many folks can't find a place in a script when told "page 23, at Mr Jones entrance at mid-page", the ability to direct their attention could be a very good thing.
You betcha. :)

I have people who ask "where we are" and have trouble understanding "23 and a half". :)

That's kind of why I think having the page navigation control stuff outside the reader, in a standalone wrapper, is a better target; different strokes, and like that.

Like you, I think people need to be able to a) flip around pages (and here, of course, I am thinking of "Script"; music obviously has even more stringent navigation flexibility requirements), b) see the current and the next page, and c) jump back from where you are onto where the production is (probably going back into autofollow mode at the same time)...

Annotation is another issue entirely, I suspect.
 
I had an "exciting" performance not too long ago that involved skipping about a third of the script in 2-3 big jumps--then suddenly throwing in one scene from the skipped section just before the end of the show. There was a lot of mad page turning that would have been absolute chaos if everyone was synced. I'm thinking either a "Pause Syncing" button or a "Sync Now" button would help cover those sorts of edge cases. I'd probably lean towards running it in an individual mode by default with occasional use of the "Sync Now" button, but I could see plenty of people preferring the opposite default. Giving all the individual users a "Sync to SM" button could be useful too...

Interesting idea!
 
I once had a cast:

* skip a page and a half
* go a half a page
* realize
* one actor dragged them back to the top of the page and a half and they ran it
* and JUST as I expected the train wreck, same actor grabbed hold and yanked them over all 2 pages to the next line

We were *all* flabbergasted.

And yeah, Mal, I like a Pause button that when you unpause it, jumps to the current page, flanked by left and right buttons. It might even show the current page number under (or in) the button.

That part can easily be done from outside; but the companion "always display a 2-page spread with the current page on the left" thing that makes it really useful requires connivance from the Reader, since it's really not the standard View Spreads thing...
 
I once had a cast:

* skip a page and a half
* go a half a page
* realize
* one actor dragged them back to the top of the page and a half and they ran it
* and JUST as I expected the train wreck, same actor grabbed hold and yanked them over all 2 pages to the next line

We were *all* flabbergasted.

And yeah, Mal, I like a Pause button that when you unpause it, jumps to the current page, flanked by left and right buttons. It might even show the current page number under (or in) the button.

That part can easily be done from outside; but the companion "always display a 2-page spread with the current page on the left" thing that makes it really useful requires connivance from the Reader, since it's really not the standard View Spreads thing...
Your story just ruined months of intensive therapy.

William Shattner. Captain Kirk. Banquet speaker for an aerospace conference. Twenty years ago. MUST have teleprompter, day of show request. AV company comes in and sets it up, secretary transcribes Shattner's script into the machine. Someone comes in, puts on the lavaliere mic and reads the first couple of pages of the script, the prompter op gets a feel, and tech is done. Three hours later, Shattner is introduced and it's all great until the second paragraph of his presentation. WHERE THE HELL IS HE? What page is he on? And he keeps looking at his prompters as he works the stage. I think I can hear the prompter operators gut tighten. For the next 15 or 20 minutes it's a presentation free for all as Shattner re-crafts his script, covers every word, and ends up on the last page, delivered verbatim, without a glance at the prompter. I think the operator still has PTSD reactions when she hears the Star Trek theme...

Oh, and Shattner walks off stage, is escorted into the banquet hallway to a waiting car to be taken to the waiting business jet. He's still wearing his lav mics/transmitters. That's another story.
 
Thanks for the continued discussion. It's given me some ideas for how to implement some of the features and controls.
 

Users who are viewing this thread

  • Back