Flows

This thread is an invitation to discuss the concept of “flows”, and hopefully to get some more information about them by Daniel and the staff, and also to give them feedback in return.

How do you imagine this feature to change/improve your workflow? What problems might it solve (maybe: what kind of problems might it create)? What might be the limits? Also, what are the similarities and differences between Dorico’s flows and the related concept of the same name in desktop publishing?

To start things off, I’d like to ask (@Daniel) what the smallest imaginable flow could be. Philip Rothman’s Sibelius Blog entry quotes Daniel with “a two bar ossia”, but clearly this is just a tangible example. So, what is a flow, at its barest minimum?

Alex

The smallest imaginable flow is, I guess, a single note or rest.

The idea behind flows is simply to allow proper management of music that is in more than one chunk, whether that’s a songbook containing multiple independent songs, or a symphony containing multiple movements, or an exam paper containing multiple questions, or a musical containing multiple numbers, or a critical edition containing multiple footnotes, and so on.

So to take your example of a symphony with multiple movements, will one movement be considered a flow, or will one instrumental part in one movement be considered a flow? Or will they both be considered flows, at which point the concept of “flow” escapes me.

Can you explain further please?

Thanks!

A Flow is a (potentially) independent fragment of music. So in the orchestral score case, each movement is a Flow. In the songbook case, each song is a Flow. In the case of a PVG score with a guitar fill box (eg a box that expands one of the parts, or shows a solo line) - the fill box would be a Flow, as would the main score.

Players can be common to all Flows or can be different. This allows for a movement where a second choir joins in. Because a Player has a relationship with one more Flows, when you print the parts it will include all the Flows (movements) that the player participates in.

Flows is the feature that’s going to change the way I work. At the moment, using Sibelius, I have sketches and Ideas littered around in folders all over the place and sometimes with no way of telling which score the sketch originally sprang from. In Sibelius Ideas sounded like a great idea but it was very limited in scope and started playing up (so much so I lost some vital work as a result).

I intend to make good use of Dorico’s Flows instead. That way I can write an idea that hasn’t anywhere to go in the main score yet, but also be able to keep my eye on that idea (those ideas) during the composition process in the main flow. It cannot come soon enough for me.

Major thing for me. Major.

Just to expand a little on what Paul said:

As far as I’ve seen and read a Flow is a discrete chunk of music. You can have many flows in a single document and each one may contain whatever you choose to put in it. A flow can be a single movement or it can be part of a movement, you decide. I saw it said somewhere the smallest flow might be a single note (can’t see how useful a single note might be but there you have it).

Edit: it would have been helpful if I’d first read Daniel’s reply above. Must do better. :blush:

That’s all correct apart from a Flow able to be part of a movement. In terms of the size of a Flow, it can be as small as a stave fragment with a single note (that’s not as useless as it seems - imagine writing tutorial content where you are showing the different types of clefs or key signatures in the Legend).

However, the flow can’t really be part of a movement, because the movement is itself a flow. Basically if you have a single ‘piece’ of music that you want to have displayed and played back as a continuous entity then that is your Flow. We do though hope to have a time filter on a flow so that you can show a fragment of a Flow (it may be this that you’re thinking of).

Thanks Paul. Am I wrong in the assumption then -(I thought I had good reason to think I could do this)- that you can compose a movement in two discrete chunks (flows) and then build a third flow out of the two? That’s what I mean.

By copying and pasting music from one flow to another you should be able to do that, Pete.

Thanks Daniel - that’s what i meant. My use of the word ‘movement’ was causing confusion - sorry about that!

Can anyone please plainly elaborate on “flows” as they relate to files? Can multiple flows exist in a file? Or is each flow an individual file? I’m sorry if this was discussed in detail on another site or page.

+1. I’m trying to understand this too. I seem a bit out of the loop, can someone please post a link to where this concept was introduced with regard to Dorico?

All Flows exist in a single file.

There’s an introduction to the key concepts of players, instruments, flows, and layouts in the most recent developer diary installment, which you can read here:

An explanation of “Flows” is here:

and here:

and here:

. . . but doesn’t go much deeper that the explanation in this thread.

The definition is (from Steinberg Blog):
". . . independent pieces of music stored within the project . . . " so as Peter McAleer describes above, it seems to be a feature similar to “Ideas” in Sibelius, but more vast.

I’m sure Daniel and/or others will have YouTube videos showing this feature in action soon.

So this would mean that Flows are not nestable, correct? I try to think of cases where this would be useful and I am pretty sure they exist, but I am also drawing blanks so far. What you describe certainly(?) should be sufficient for anything that resembles the common “movement”.

OK: Let’s say I have a larger work, already organized in Flows on the movement level. Now I want to make a suite from this piece, linking several shorter passages together in new order. [begging the question: can I have more than one “full score” within one file?] If I understand Paul correctly, I cannot pull them out as Flows from the movement, since the movement is the Flow already. But could I define new Flows (on the same level as the movements), encompassing the relevant passages, and then arrange those Flows into something new? Basically: Can something be part of several flows, just as players can be common to several Flows?

Is a Flow necessarily linked to concrete timings? I see how that would be almost unavoidable for anything within one Flow; if it is built from notes and rests it has to have durations (but I could imagine interesting cases where these are strictly relational, without a tempo). However, can two Flows exist within the same file and have no temporal relation towards each other? Or does each flow have a defined start and end moment defined in clock time?

Also, can I reuse Flows or will they always be single instances? Taking Paul’s example of using very short Flows for explanatory purposes: Can I compile a exhaustive collection of snippets to explain extended techniques notation at the start of a score and then, at the start of a new movement, compile a smaller list reusing just the notations relevant to the movement?


Which makes me think what the more suitable way for the understanding of Flows might be: is the Flow concept predominantly a solution to problems of music modelling or to problems in laying out materials?

Woah, so many questions! Great to see the concepts sparking some interest :smiley:

Correct.

OK: Let’s say I have a larger work, already organized in Flows on the movement level. Now I want to make a suite from this piece, linking several shorter passages together in new order. [begging the question: can I have more than one “full score” within one file?] If I understand Paul correctly, I cannot pull them out as Flows from the movement, since the movement is the Flow already. But could I define new Flows (on the same level as the movements), encompassing the relevant passages, and then arrange those Flows into something new? Basically: Can something be part of several flows, just as players can be common to several Flows?

You are correct in that the content from one Flow can’t be recombined into another (aside from copy & paste). Each Flow owns the music within it (however, at the lowest level we store these as blocks, which may provide a means of having ‘linked copies’ at some point in the future, but they still have to be owned by a single Flow).

Is a Flow necessarily linked to concrete timings? I see how that would be almost unavoidable for anything within one Flow; if it is built from notes and rests it has to have durations (but I could imagine interesting cases where these are strictly relational, without a tempo). However, can two Flows exist within the same file and have no temporal relation towards each other? Or does each flow have a defined start and end moment defined in clock time?

Each Flow is thought to be a single ‘piece’ of music that is generally assumed to be displayed and played back from start to end. However, where there’s more than one Flow we hope to give some control as to how you would want these to be played back - eg play back in Flow order with a 2 bar gap between each, omitting Flow 3 because that’s an Ossia. It should be quite flexible.

Also, can I reuse Flows or will they always be single instances? Taking Paul’s example of using very short Flows for explanatory purposes: Can I compile a exhaustive collection of snippets to explain extended techniques notation at the start of a score and then, at the start of a new movement, compile a smaller list reusing just the notations relevant to the movement?

Yes, I think so, because there is an additional concept: Music Frames (caveat: this is the development name, I don’t know whether that will be the user-facing name). Flows define the content, and Music Frames define how that is to be presented on the page. Music ‘flows’ through a sequence of Music Frames until it runs out, then it will move on to the next Flow. You can create a new sequence of music frames if you want to reuse the content from a Flow.

Which makes me think what the more suitable way for the understanding of Flows might be: is the Flow concept predominantly a solution to problems of music modelling or to problems in laying out materials?

It’s very similar to the concepts of a DTP application, though I’m not sure if they use the same names. In short:

    • Flow = a section of musical content
  • Music Frame = a box on a page through which music is to be ‘flowed’, in sequence
  • Layout = a visual presentation of a combination of Flows and Players, displayed using a particular page layout. Think: ‘Parts’

A picture is worth 1000 words, but I hope you enjoyed these 1000 words…

I think I’m getting an idea of how the pieces fit together, but could you explain how this might work for footnotes in critical editions?

This is my concept of what I would want to achieve:

  • I select a position on a particular staff in a score, and say “add a footnote here”.
  • Dorico should know (or I should be able to tell it somehow) that footnotes should be marked in some way (e.g. (a), (b), (c) restarting on each new page) in the score, and the content of the footnotes should be stacked at the bottom of the page.
  • I define the content of this footnote somehow as mixture of text and snippets of music, e.g. “Sources A and B have , Sources X and Y have .”

It seems like the two snippets of music notation in the footnote could be two separate flows - but how (conceptually) is the complete footnote assembled from the two bits of text and the two (small) flows, and then associated with the (large) flow that contains the score?

We don’t have a dedicated footnotes feature just yet, Rob. But you’re otherwise pretty close: you would create a new flow to contain the music that should appear in the footnote, and then in Engrave mode adjust the positions and sizes of the frames on the page such that there is room at the bottom of the page for a new music frame, to which you allocate your new flow. If you require the stave size in the new frame to be smaller than the default global space size (i.e. four times this gives you the stave height), you have two ways of doing it: you can either specify the new stave size as a percentage of the global space size in the main music frame, or you can set a new global space size for the new frame (by creating a system break at the start of the flow, which is the point at which you can specify a change of space size; if you create a system break at the very start of a flow, of course you don’t get an empty system before the first note).

These frames are relative to a specific page in the layout, so the footnote won’t move from page to page in the event that you change the layout of the music in the main music frame. We have designed to make the layout as stable as possible, which means that music can flow freely within frames (until you lock it down by way of explicit formatting), but the frames themselves are locked to pages. I will write more about the page layout features of Dorico in a future blog post.

There’s no direct association between flows, except that they may use the same players/instruments, and they live together in the same project.

That’s helpful. I expect that a road map of how all these “new” concepts (flows, frames, blocks, etc) fit together is going to be an essential part of the “read this first” documentation to get the best out of Dorico!

I put “new” in quotes because they are perhaps not really new concepts in a broader context of document creation - but having them all well-integrated in a single music-notation app certainly is new.