How to use command line options

Trouble with Synthesia, your keyboard, or adapter? Think you found a bug?
When describing problems, always mention your OS and game version (shown at the bottom of the title screen).

If your keyboard has USB or MIDI ports, there is a tremendously high chance (>99%) it will work with Synthesia. See what you'll need on the keyboards page.
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Nicholas wrote:I just noticed both of you had email addresses with a non-US country code TLD. The bug in the library had to do with running on systems with locales set to something other than "en.US".
Which exact library do you mean, I suppose you are talking of the FreeImage image library.
Nicholas
Posts: 13135

Post by Nicholas »

Nope, Boost actually. I was using 1.35. As of 1.36 they fixed a bug in boost::wpath that caused problems (sometimes?) when setting the locale.

Now that you made me recall even more details, I'm less hopeful all of a sudden. I think I do recall the description saying it was a Mac-only thing.

We'll see in the next preview. ;)
Nicholas
Posts: 13135

Post by Nicholas »

Like I said, I am less hopeful. But, there is still a chance it might be fixed. Please try again in r665. Thanks!
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Nicholas wrote:Like I said, I am less hopeful. But, there is still a chance it might be fixed. Please try again in r665. Thanks!
I just tried the new --windowed option and it works nicely.

It would be also useful to have somewhere a button to see the high score list. e.g. if you use --on-song-end RestartSong for a few times, you might want to see the high scores list at some point, without having to restart Synthesia, but restarting it is also not a big deal.

I like the new --windowed mode, will it always have a constant size, or can we make the windows even smaller in future?
Nicholas
Posts: 13135

Post by Nicholas »

I was already thinking of adding a --windowed=900x700 style of notation to make it more flexible.

I think that will make it in at the same time that "Windowed Mode and Resolution Picker" are implemented.

There are still some resolution assumptions buried down in the code. Most of the new UI work that went into 0.7.0 is good, but the conversion isn't 100% yet. At some point, live resizing of the window should be possible.
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Nicholas wrote:I was already thinking of adding a --windowed=900x700 style of notation to make it more flexible.

I think that will make it in at the same time that "Windowed Mode and Resolution Picker" are implemented.
Great news, it does not hurry at all, until then we can play sequentially, I have anyway nobody else here who is interested in Synthesia. :lol:
aria1121
Posts: 1505

Post by aria1121 »

Can someone please make a screenshot of the dialogbox that appears by "synthesia --help" because my laptop is I guess a bit too much widescreen so I can't read it.
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Code: Select all

usage: Synthesia.exe [options] [filename]
(If filename contains spaces, it should be wrapped in quotes.)

Options:
  --help                 Shows this help message
  --version              Output the version number
                         
  --speed arg            Percentage speed [0-400]
  --visible-duration arg Milliseconds visible on screen [250-10000]
                         
  --keyboard-zoom arg    All, Song, YouPlay, or Keyboard
  --play-mode arg        Rhythm or Practice (requires Learning Pack)
  --sheet-mode arg       Scrolling or PageFlip (requires Learning Pack)
                         
  --copy-score           Copies the most recent score to the system clipboard.
                         
  --dont-save            Prevents track settings from being saved this run.  
                         Useful with channel mode 'All'.
                         
  --on-startup arg       What screen should show when Synthesia starts?
                         
                         Title, SongLibrary, TrackSettings, PlaySettings, or 
                         Play.
                         
                         Title is default if no file specified.  TrackSettings 
                         is default otherwise.  Anything past SongLibrary 
                         requires a file argument.
                         
  --on-song-end arg      What should happen when the song is over?
                         
                         RestartSong, Quit, or ShowScoresThenQuit.
                         
  --channel-mode arg     Examples:
                           Ch1=YouPlay
                           Ch3=PlayedAutomatically,ShowSheet
                           All=PlayedButHidden
                         
                         In general you can have up to both a track mode and 
                         sheet mode separated by a comma:
                           ChX=Mode
                           ChX=Mode,ShowSheet
                           ChX=Mode,NoSheet
                         
                         Channel is between 1 and 16 (or All).
                         
                         Modes are YouPlay, YouPlayMuted, PlayedAutomatically, 
                         PlayedButHidden, DisplayOnly, or NotPlayed.
                         
                         You can specify more than one.  Modes will be set in 
                         the order they're received.  So, you can use All and 
                         follow it with individual channels to override the 
                         first setting.  (ShowSheet requires the Learning 
                         Pack.)
                         
  --loop-start arg       Starts all songs with the start of the loop already 
                         set.  (This implies using --loop-end.)  Value is one 
                         character for the unit followed immediately by an 
                         integer value.  Examples:
                           m3 will start at the 3rd measure.
                           b2 will start at the 2nd stored bookmark.
                           t5000 will start 5000 milliseconds (5 seconds) in.
                         
  --loop-end arg         Starts all songs with the end of the loop already set.
                           (If you don't use --loop-start, the loop will run 
                         from the beginning of the song to this point.)  Value 
                         is defined the same as --loop-start.
                         
  --bookmark-count       Quits immediately with the number of bookmarks in the 
                         specified file returned as the status code.
                     
Lemo
Posts: 313

Post by Lemo »

TonE wrote:I just tried the new --windowed option and it works nicely.
Didn't work for me :\
Nicholas wrote:I was already thinking of adding a --windowed=900x700 style of notation to make it more flexible.
Would be cool indeed.
Stuff & experiments for Synthesia: Gramp v0.2SkinboxFireSynthVideoWebradio
Nicholas
Posts: 13135

Post by Nicholas »

The way he did that was Ctrl-V after seeing the --help box. It copies the whole thing to the clipboard. ;)
Lemo wrote:
TonE wrote:I just tried the new --windowed option and it works nicely.
Didn't work for me :\
That method has been superseded. Use the config tool to choose any window size. It's less of a hack now. ;)
Lemo
Posts: 313

Post by Lemo »

Yeah, I know about the config tool.
Actually I would like to set up a right-click behaviour to preview a midi file in a small window, while I'm playing in fullscreen the rest of the time.
That would do part of the trick, if you don't plan to have a compact player someday.

(btw that player could be launched as a command line mode "--player", so you'd just have a single executable, and only layout code switches)
Stuff & experiments for Synthesia: Gramp v0.2SkinboxFireSynthVideoWebradio
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Nicholas wrote:The way he did that was Ctrl-V after seeing the --help box. It copies the whole thing to the clipboard. ;)
Eeeah, of course. :)

But using the config tool, can we start also twice Synthesia.exe on the same machine using different sizes for each of them? If we would have command line sizing feature as you wrote above "--windowed=900x700" this would be easily possible. Anyway nobody will use it in this scenario, as you would need a soundcard with two different audio outputs, and two headphones for each player, so they hear only what they are playing. It would be like a racing scenario and the winner can stay on the machine and a new opponent comes or some other tournament management systems. I still like the idea of having two players playing the same song simultaneously, so Synthesia matches get a feel of a soccer match, leagues, champions leagues... :)

In a party scenario, playing the matches in sequence one by one would be more fun probably, the looser of each match has to drink one more tequila, getting more and more red. :oops:
Lemo
Posts: 313

Post by Lemo »

Lemo wrote:while I'm playing in fullscreen the rest of the time.
Sorry that wasn't quite explicit, I need a few english lessons maybe :p
I don't want to launch two instances of synthesia at the same time, but just to be able to switch to window mode for previews thanks to command line, while the config stays in fullscreen for the moments I'll just play regularly.
Your multiplayer thing is interesting still =)
Stuff & experiments for Synthesia: Gramp v0.2SkinboxFireSynthVideoWebradio
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Lemo wrote:I don't want to launch two instances of synthesia at the same time...
Well, I just wrote what I want, independently of what you want. :)
Lemo
Posts: 313

Post by Lemo »

--copy-score: The number maybe be quite out of context on its own,
how about some additional details?
maybe some way to configure the output for example :

Value | Grade | Percent | Rank | Notes| Errors

--copy-score VGPRNE -> 3568568 A+++ 98 3 563 5
--copy-score RGV -> 3 A+++ 3568568
--copy-score V -> 3568568
Stuff & experiments for Synthesia: Gramp v0.2SkinboxFireSynthVideoWebradio
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

It has already more details: score, time error, notes error, holding score, actually anything what is really important is already there. Check Synthesia Arcade Mode.
Lemo
Posts: 313

Post by Lemo »

Okay I get it now.
You're using --play-mode Practice in your Arcade mode and you're retrieving all the details,
but in the --play-mode Rhythm I was using, Synthesia seems to retrieve the score (3568568) only :/
Stuff & experiments for Synthesia: Gramp v0.2SkinboxFireSynthVideoWebradio
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Lemo wrote:but in the --play-mode Rhythm I was using, Synthesia seems to retrieve the score (3568568) only :/
Yes, only in Practice mode, but I do not know why Nicholas designed it in this way? Probably it would require much more work to collect all the required information, there would be not only "simple" note errors, but missed notes, wrong notes, but holding score and extra time would be essentially the same.

In my case, usually after practicing enough in Practice mode, in Rhythm mode it is only about reaching 100% :) , well only for simple midi files.
vicentefer31
Posts: 899

Post by vicentefer31 »

Hi TonE:
I wonder if we can use the command line to use the metronome
Thanks
Picasso: I am always doing that which I cannot do, in order that I may learn how to do it.
Post Reply