EDITOR PLUGIN: Speech Center - Version 2.2.0

Started by SpeechCenter, Thu 22/03/2012 14:50:32

Previous topic - Next topic

rmonic79

Right now i'm only need to renumber no-numbered characters lines speech, is it safe with 3.5?

SpeechCenter

The issue is only with playback, the rest of the functionality should work with 3.5. I believe I'll have a solution within a few weeks, I'll do my best to speed things up.

Grundislav

Quote from: SpeechCenter on Sun 19/01/2020 02:41:25
The issue is only with playback, the rest of the functionality should work with 3.5. I believe I'll have a solution within a few weeks, I'll do my best to speed things up.

Great, thanks!

Crimson Wizard

Is this an AGS issue or SpeechCenter's, that it writes its data into Game.agf even if not used in the particular game project?

SpeechCenter

Quote from: Crimson Wizard on Sun 26/01/2020 12:47:40
Is this an AGS issue or SpeechCenter's, that it writes its data into Game.agf even if not used in the particular game project?
What's the expected behavior if AGS loaded the plugin? It's possible it writes an empty node, but not sure what's the issue.

Crimson Wizard

Quote from: SpeechCenter on Sun 26/01/2020 13:32:47
Quote from: Crimson Wizard on Sun 26/01/2020 12:47:40
Is this an AGS issue or SpeechCenter's, that it writes its data into Game.agf even if not used in the particular game project?
What's the expected behavior if AGS loaded the plugin? It's possible it writes an empty node, but not sure what's the issue.

I never knew how editor plugins are expected to work in this regard. When you work with engine plugins, these may be turned on and off for the individual projects, but not editor plugins, it seems.
SpeechCenter writes a node into Game.agf whenever I save a game, even if I don't really use it in this project. This does not seem right, because Game.agf is a part of project source, and it's not supposed to have data that does not belong to the game.
This is not a critical issue, but may be an annoyance, because if I share project code with someone else, and they don't have SpeechCenter installed, they will keep getting warnings upon opening a project. Also, data will get lost and recreated, and these recurring changes become part of version control commits.

For the reference, here is what it adds:
Spoiler
Code: xml

  <Component Name="SpeechCenter">
    <SpeechCenter Version="2.1.0.0">
      <Document Version="2.0.0.0">
        <Settings>
          <CustomFunctions />
          <VoiceActorScripts NewParagraph="PER_FUNCTION">
            <Format>
              <Styles>
                <CSSStyle CSSName="body" FontFamily="Cambria" Color="" FontStyle="inherit" FontWeight="inherit" />
                <CSSStyle CSSName=".currentCharacter" FontFamily="" Color="" FontStyle="inherit" FontWeight="inherit" />
                <CSSStyle CSSName=".otherCharacter" FontFamily="" Color="LightGray" FontStyle="inherit" FontWeight="inherit" />
                <CSSStyle CSSName=".lineNumber" FontFamily="" Color="Firebrick" FontStyle="inherit" FontWeight="inherit" />
                <CSSStyle CSSName=".duplicate" FontFamily="" Color="Thistle" FontStyle="inherit" FontWeight="inherit" />
                <CSSStyle CSSName=".speechCorrect" FontFamily="" Color="MediumBlue" FontStyle="inherit" FontWeight="inherit" />
                <CSSStyle CSSName=".speechIncorrect" FontFamily="" Color="Red" FontStyle="inherit" FontWeight="inherit" />
                <CSSStyle CSSName=".filtered" FontFamily="" Color="LightSlateGray" FontStyle="italic" FontWeight="inherit" />
              </Styles>
            </Format>
          </VoiceActorScripts>
          <Translations EnableEditing="false" />
          <Edit ShowWarning="true" ExitEditModeAfterSave="true" RefreshProjectAfterSave="Any" />
          <DialogParsing ShowAllOoptionText="false" />
        </Settings>
        <SpeechLines />
        <Translations />
      </Document>
    </SpeechCenter>
  </Component>
[close]


What kind of data is this, as in, is this supposed to be a persistent data used in game, or "workspace data" used for plugin's work? I don't remember if AGS editor API provides good alternatives though. I know there's also *.agf.user file where optional workspace settings could be saved, but have no idea if it is suitable for SpeechCenter's needs.

SpeechCenter

This data is in game.agf since my thought process was that this behavior should be consistent between different collaborators. Specifically, anything that affects the way the voice script is generated and the custom functions that were chosen, as well the checkboxes that were selected/unselected should also be stored and synced between users. Usually a .user file is per specific user preferences and this would mean different users of the same game project would not see the same outcome of the plugin.

Is there a different place to store project-level data (and not per user preferences)?

SpeechCenter

Plugin updated to address the playback issue with AGS 3.5.0. Please update me if you run into any additional issues.
Another minor feature is that if you use the new AGS 'custom say function in dialogs' capability, then the plugin will detect these functions, therefore there is no need to add these particular functions in the SpeechCenter plugin custom functions configuration.

AGS 3.4 is still supported for now to give people enough time to update to the newer editor version. I'll likely update the minimum version to AGS 3.5 later in the future.

Dave Gilbert


Crimson Wizard

Quote from: SpeechCenter on Sun 26/01/2020 17:51:39
This data is in game.agf since my thought process was that this behavior should be consistent between different collaborators. Specifically, anything that affects the way the voice script is generated and the custom functions that were chosen, as well the checkboxes that were selected/unselected should also be stored and synced between users. Usually a .user file is per specific user preferences and this would mean different users of the same game project would not see the same outcome of the plugin.

Is there a different place to store project-level data (and not per user preferences)?

I apologize for forgetting to reply.
Yes, it looks like that Editor does not currently provide an appropriate config for shared "workspace" data. It's hard to tell whether the *user file does work as you expect though, because nothing prevents from copying it between collaborators as well. But it contains more "volatile" data, such as last build configuration (debug/release).

SpeechCenter

Quote from: Crimson Wizard on Mon 17/02/2020 13:24:32
Yes, it looks like that Editor does not currently provide an appropriate config for shared "workspace" data. It's hard to tell whether the *user file does work as you expect though, because nothing prevents from copying it between collaborators as well. But it contains more "volatile" data, such as last build configuration (debug/release).
I think most of what's stored in there is data related to the plugin and not per user data. I think I've seen an AGS editor feature request to separate each section to its own XML file, so if that's implemented, and each plugin can store its data in its XML and it's all part of source control integration, then I think it will address the need to store the data and not create a huge project file. Another option is that each section specifies the files, this is more generic, but requires more work/changes. At the moment if I do this without an underlying feature from the editor, then there is no way to tell it that there are additional files that should be part of the project.

Assuming this makes sense then it might be best to see how to do this automatically without breaking the plugin's code, but this is a detail, if not possible we can find ways to have the plugin work with both options.

Grundislav


Blackthorne

I keep getting a strange error when I load AGS - and I can't get Speech Center to work. Has anyone else had this issue?

-----------------------------------
"Enjoy Every Sandwich" - Warren Zevon

http://www.infamous-quests.com

Privateer Puddin'

Do you have the latest version? I thought it was fixed.. anyway, Dave posted a fix:

Quote from: Dave Gilbert on Wed 18/09/2019 13:50:19
Sorry! I thought I replied here. I figured out the solution. I right-clicked on the speech center DLL, went to properties, and selected "unblock."

Blackthorne

Yeah, I have the latest version! I missed this though, I'm going to try. My guess is it will work, and my brain fog has flustered me once again! Thanks, man.
-----------------------------------
"Enjoy Every Sandwich" - Warren Zevon

http://www.infamous-quests.com

eri0o

I also added a mention in the manual and a page (originally written by MorganW) there: https://adventuregamestudio.github.io/ags-manual/TroubleshootingWindowsZoneID.html

Curious, which AGS are you using? I think in the latest one it should detect and offer a pop up to unlock.

SpeechCenter

There is no easy for for this on the plugin (probably creation of an installer would work, but then need to think about multiple AGS destinations and it becomes complicated).
This is a security feature and starting from .net 4, it won't load DLLs that came from another computer (hence the need to unblock the dll). One other option is to add the following to the AGS runtime configuration file:
Code: xml

<configuration>
   <runtime>
      <!-- Treat assemblies from network locations as fully trusted. -->
      <loadFromRemoteSources enabled="true" />
   </runtime>
</configuration>


HanaIndiana

Thank you for the 3.5 update! ;-D This module has saved me sooo much time and effort.

Dualnames

I'm using latest version of AGS and latest version of speech center, and oggs and mp3s dont seem to work, I get "error playing" any thoughts/solutions about that?
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

SpeechCenter

Quote from: Dualnames on Mon 04/01/2021 23:26:01
I'm using latest version of AGS and latest version of speech center, and oggs and mp3s dont seem to work, I get "error playing" any thoughts/solutions about that?
There was an issue with 3.5, but I fixed the plugin a year ago so it should work, I'll check.

SMF spam blocked by CleanTalk