Git Product home page Git Product logo

storybrew's Introduction

storybrew is an osu! storyboard editor for people that don't want to form an intimate relationship with the Ctrl-L shortcut: It lets you see changes to code or sprite textures as soon as you save them.

Download the latest version, or learn more on the Wiki.

storybrew's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

storybrew's Issues

Toggle configurations menus

A press on the "Configure" button in the "Effects" menu opens the Configuration panel, a repeated click doesn't do anything.

Request: If the menu is already opened, close it on a repeated click on the "Configure" button.

Completed Wiki

Hey,

First, thank you for making such an amazing tool. I'm just posting this because I think the Wiki needs more informations; I've been struggling with some issues about storyboarding such as Easings and element declarations (OsbSprite? StoryboardLayer?).

looping one image when having font declaration within a loop

simple error, easy to avoid (as a user), but is somewhat annoying, if you can't figure out why your scripts won't work.

when font declaration happens outside of the loop, everything is working as expected.

example (with error):
var layer = GetLayer("Karaoke1");
var subtitles = LoadSubtitles(@"G:\storybrew.1.44\projects\Lol - Sousei no Onmyouji\sync.ass");
foreach (var line in subtitles.Lines)
{
var font = LoadFont("/sb/lyrics/kanji", new FontDescription()
{
FontPath = "Allura",
FontSize = 26,
Color = new Color4(255, 255, 0, 100)
});
var texture = font.GetTexture(line.Text);
var sprite = layer.CreateSprite(texture.Path, OsbOrigin.Centre, new Vector2(320, 400));
sprite.Move(OsbEasing.In, line.StartTime, line.StartTime + 80, 590, 80, 590, 100);
sprite.Fade(line.StartTime, line.StartTime + 40, 0, 1);
sprite.Move(OsbEasing.In, line.EndTime - 80, line.EndTime, 590, 100, 590, 120);
sprite.Fade(line.EndTime - 40, line.EndTime, 1, 0);
}

leads to:
Sprite,Background,Centre,"\sb\lyrics\kanji_000.png",320,400
F,0,6660,6860,0,1
M,2,6860,11400,290,100,330,100
F,0,11400,11600,1,0
Sprite,Background,Centre,"\sb\lyrics\kanji_000.png",320,400
F,0,11200,11400,0,1
M,2,11400,14110,290,100,330,100
F,0,14110,14310,1,0
Sprite,Background,Centre,"\sb\lyrics\kanji_000.png",320,400
F,0,14160,14360,0,1
M,2,14360,18860,290,100,330,100
F,0,18860,19060,1,0
Sprite,Background,Centre,"\sb\lyrics\kanji_000.png",320,400
...

Opening project with invalid MapsetPath crashes storybrew

Only occurs with the recent 1.70 release.

Repro:

  1. Edit the MapsetPath of project.sbrew\index.yaml to a folder that doesn't exist.
  2. Try to open the project with storybrew

Result:
grafik

This is relevant for sharing storybrew projects between people as the folder path will naturally not exist. That's how I ran into the issue at first.

Not relevant for the issue:
I didn't look into why this occurs yet because I'm a git noob and the commit specific versions of brewlib and tiny in the current master causes some problems when syncing so I wasn't able to compile / debug the current master so far.

One very specific type of slider gives (NaN, NaN) when calling PositionAt at anywhere except StartTime

A slider gives (NaN, NaN) as its EndPosition if it is:

  1. A slider of curveType 'p' in the .osu file (a perfect curve slider) and,
  2. The sliderend has a red control point.

Example: 93,114,1000,2,0,P|373:103|373:103,1,280

This breaks scripts like HitObjectHighlight.
These kinds of sliders can be created in the editor.
osu! won't convert them to a straight-line or Bezier slider when saving a map.

Extra Info

I also tested this with different kinds of sliders:

3,114,80,6,0,L|373:103|373:103,1,280
93,114,1003,2,0,P|373:103|373:103,1,280
93,114,1926,2,0,B|373:103|373:103,1,280
93,114,2849,2,0,C|373:103|373:103,1,280
93,114,3772,2,0,L|373:103,1,280

Script I used for testing:

using StorybrewCommon.Mapset;
using StorybrewCommon.Scripting;

namespace StorybrewScripts
{
  public class SomeSliderEffect : StoryboardObjectGenerator
  {
    public override void Generate()
    {      
      foreach (var hitObject in Beatmap.HitObjects)
      {
        if (hitObject is OsuSlider)
        {
          var slider = (OsuSlider) hitObject;
          var controlPointString = "";
          foreach (var controlPoint in slider.ControlPoints)
            controlPointString += controlPoint.Position + " ";

          Log("------");
          Log($"CurveType: {slider.CurveType}");
          Log($"ControlPoints: {controlPointString}");
          Log($"StartPosition: {slider.Position}");
          Log($"EndPosition: {slider.EndPosition}");
          Log($"PositionAtStart: {slider.PositionAtTime(slider.StartTime)}");
          Log($"PositionAtEnd: {slider.PositionAtTime(slider.EndTime)}");
          Log("------");
        }
      }
    }
  }
}

Result:

------
CurveType: Linear
ControlPoints: (437, 159) (437, 159) 
StartPosition: (157, 170)
EndPosition: (436.7842, 159.0085)
PositionAtStart: (157, 170)
PositionAtEnd: (436.7842, 159.0085)
------
------
CurveType: Perfect
ControlPoints: (437, 159) (437, 159) 
StartPosition: (157, 170)
EndPosition: (NaN, NaN)
PositionAtStart: (157, 170)
PositionAtEnd: (NaN, NaN)
------
------
CurveType: Bezier
ControlPoints: (437, 159) (437, 159) 
StartPosition: (157, 170)
EndPosition: (436.7842, 159.0085)
PositionAtStart: (157, 170)
PositionAtEnd: (436.7842, 159.0085)
------
------
CurveType: Catmull
ControlPoints: (437, 159) (437, 159) 
StartPosition: (157, 170)
EndPosition: (436.7842, 159.0085)
PositionAtStart: (157, 170)
PositionAtEnd: (436.7842, 159.0085)
------
------
CurveType: Linear
ControlPoints: (437, 159) 
StartPosition: (157, 170)
EndPosition: (436.7842, 159.0085)
PositionAtStart: (157, 170)
PositionAtEnd: (436.7842, 159.0085)
------

Diff spec storyboard

nice work!
and how about adding a diff spec interface or something to generate storyboard into .osu file?

Cryptic error message if GetMapsetBitmap is used for non-existing file in a subfolder

Repro code:
public override void Generate() { var bitmap = GetMapsetBitmap("sb/f/hello world.png"); }

This assumes that the folders sb and sb/f both exist in the mapset folder.

Resulting error message:
grafik

Apparently something goes awry as it tries to do the fallback in GetMapsetBitmap and starts looking in the project folder but somehow gets lost there.

This only seems to occur when at least 2 folders are specified before the non-existing file, if I try the same with "sb/hello world.png" it correctly gives me a FileNotFoundException in Mapsetfolder/sb.

Editor Crashes on Startup when Windows has no enabled Audio Output devices

Probably a niche case, but this was happening to me and it took me a while to figure out what was going on, so I figured I might as well file an issue for it.

Feel free to deprioritize or close this issue if you think it's too niche to be worth pursuing.

Observations:
I have a PC setup with only a DAC/AMP combo as my only audio output. The DAC/AMP uses its own external power supply, and I pretty much only turn it on when I plan to listen to something. When the DAC/AMP is off, it doesn't appear as a connected device in Windows.

I was opening my project in Storybrew and forgot to turn on my DAC/AMP. Basically this resulted in crashing on startup - and I realized the same thing applies for opening other projects, or creating a new one. Dived through the logs a bit, and figured out it was something related to initialization of the audio streams, and that made me finally remember to turn on my audio. After flipping the DAC/AMP on, I was able to finally open the editor.

Also worth noting that it's possible to start the editor with the DAC/AMP enabled successfully, then if I turn off the DAC/AMP, the editor doesn't crash (as expected). Turning it back on, also does not result in a crash, but preview audio can't be heard after doing so.

Points of Interest:
Probably need to gate out this method call:
https://github.com/Damnae/storybrew/blob/master/editor/ScreenLayers/ProjectMenu.cs#L77

Just not sure what the determination logic would look like for seeing if there's any connected audio devices.

I think the situation of adding an audio device mid-session after launching the editor, and having that trigger this method call is probably not worth the effort pursuing. However, just handling the initial editor launch gracefully (just preventing the crash, but not being able to play audio would be fine) might be worthwhile to prevent confusion.

Multiple fonts not working

Hello,
Whenever I try to use multiple fonts/sizes/color/etc, Storybrew ends up mixing them. Will these be fixed?

Preview for Intro and Outro sb's

An idea great for anything that happens before the actual mp3 starts or once it finishes.

If Storybrew recognizes that any of the times is less than 0 or higher than the mp3's length, then it would expand the timeline and mark then as little areas (like the kiai color placed on) to indicate the intro and outro parts of the sb.
This will be a great addition for Logos that can't be placed on the song itself or some extra funny gags that happen only at the end of the mp3.

Color function not recognized

Just tried to use some simple coloring (using RGB) (recreating Okaerinasai) when I got to this problem
When trying to do the sprite that overlaps the spectums,I found that the color only goes once, then stays white in the Storybrew program. But when exported, the first color is black, then all rest are white.

Here is the code for the CS
//Layers Init var BackgroundLayer = GetLayer("Background Layer"); var SpectrumLayer = GetLayer("Spectrum Layer"); var SpectrumTopLayer = GetLayer("Spectrum Layer Top"); var LyricsLayer = GetLayer("Lyrics Layer"); //Objects Init var SpectrumTop = SpectrumTopLayer.CreateSprite("sb/pixel-2.png", OsbOrigin.Centre, new Vector2(320,240)); SpectrumTop.Color(OsbEasing.None, 259675, 259718, 0, 0, 0, 12, 38, 52); SpectrumTop.ScaleVec(OsbEasing.None, 259675, 286948, 426.875, 21.875, 426.875, 21.875); SpectrumTop.Fade(OsbEasing.None, 275996, 276039, 1, 0); SpectrumTop.Color(OsbEasing.None, 259718, 259761, 12, 38, 52, 22, 71, 98); SpectrumTop.Color(OsbEasing.None, 259761, 259803, 22, 71, 98, 31, 99, 136); SpectrumTop.Color(OsbEasing.None, 259803, 259846, 31, 99, 136, 39, 123, 168); SpectrumTop.Color(OsbEasing.None, 259846, 259888, 39, 123, 168, 44, 140, 192); SpectrumTop.Color(OsbEasing.None, 259888, 259931, 44, 140, 192, 48, 153, 210); SpectrumTop.Color(OsbEasing.None, 259931, 259974, 48, 153, 210, 51, 161, 220); for (int i = 259974; i < 267261; i += 22) { int lateI = i + 22; if(i % 2 == 0) { SpectrumTop.Color(OsbEasing.None, i, lateI, 51, 161, 220, 52, 164, 224); }else{ SpectrumTop.Color(OsbEasing.None, i, lateI, 52, 164, 224, 52, 164, 224); } }
And the exported OSB
[Events] //Background and Video events //Storyboard Layer 0 (Background) //Storyboard Layer 1 (Fail) //Storyboard Layer 2 (Pass) //Storyboard Layer 3 (Foreground) Sprite,Foreground,Centre,"sb/pixel-2.png",320,240 C,0,259675,259718,0,0,0,255,255,255 V,0,259675,286948,426.875,21.875 F,0,275996,276039,1,0 C,0,259718,259761,255,255,255 C,0,259761,259803,255,255,255 C,0,259803,259846,255,255,255 C,0,259846,259888,255,255,255 C,0,259888,259931,255,255,255 C,0,259931,259974,255,255,255 C,0,259974,259996,255,255,255 C,0,259996,260018,255,255,255 C,0,260018,260040,255,255,255 C,0,260040,260062,255,255,255 C,0,260062,260084,255,255,255 C,0,260084,260106,255,255,255 C,0,260106,260128,255,255,255 C,0,260128,260150,255,255,255 C,0,260150,260172,255,255,255 C,0,260172,260194,255,255,255 C,0,260194,260216,255,255,255 C,0,260216,260238,255,255,255 C,0,260238,260260,255,255,255 C,0,260260,260282,255,255,255 C,0,260282,260304,255,255,255 C,0,260304,260326,255,255,255 C,0,260326,260348,255,255,255 C,0,260348,260370,255,255,255 C,0,260370,260392,255,255,255 C,0,260392,260414,255,255,255 C,0,260414,260436,255,255,255 C,0,260436,260458,255,255,255 C,0,260458,260480,255,255,255 C,0,260480,260502,255,255,255 C,0,260502,260524,255,255,255 C,0,260524,260546,255,255,255 C,0,260546,260568,255,255,255 C,0,260568,260590,255,255,255 C,0,260590,260612,255,255,255 C,0,260612,260634,255,255,255 C,0,260634,260656,255,255,255 C,0,260656,260678,255,255,255 C,0,260678,260700,255,255,255 C,0,260700,260722,255,255,255 C,0,260722,260744,255,255,255 C,0,260744,260766,255,255,255 C,0,260766,260788,255,255,255 C,0,260788,260810,255,255,255 C,0,260810,260832,255,255,255 C,0,260832,260854,255,255,255 C,0,260854,260876,255,255,255 C,0,260876,260898,255,255,255 C,0,260898,260920,255,255,255 C,0,260920,260942,255,255,255 C,0,260942,260964,255,255,255 C,0,260964,260986,255,255,255 C,0,260986,261008,255,255,255 C,0,261008,261030,255,255,255 C,0,261030,261052,255,255,255 C,0,261052,261074,255,255,255 C,0,261074,261096,255,255,255 C,0,261096,261118,255,255,255 C,0,261118,261140,255,255,255 C,0,261140,261162,255,255,255 C,0,261162,261184,255,255,255 C,0,261184,261206,255,255,255 C,0,261206,261228,255,255,255 C,0,261228,261250,255,255,255 C,0,261250,261272,255,255,255 C,0,261272,261294,255,255,255 C,0,261294,261316,255,255,255 C,0,261316,261338,255,255,255 C,0,261338,261360,255,255,255 C,0,261360,261382,255,255,255 C,0,261382,261404,255,255,255 C,0,261404,261426,255,255,255 C,0,261426,261448,255,255,255 C,0,261448,261470,255,255,255 C,0,261470,261492,255,255,255 C,0,261492,261514,255,255,255 C,0,261514,261536,255,255,255 C,0,261536,261558,255,255,255 C,0,261558,261580,255,255,255 C,0,261580,261602,255,255,255 C,0,261602,261624,255,255,255 C,0,261624,261646,255,255,255 C,0,261646,261668,255,255,255 C,0,261668,261690,255,255,255 C,0,261690,261712,255,255,255 C,0,261712,261734,255,255,255 C,0,261734,261756,255,255,255 C,0,261756,261778,255,255,255 C,0,261778,261800,255,255,255 C,0,261800,261822,255,255,255 C,0,261822,261844,255,255,255 C,0,261844,261866,255,255,255 C,0,261866,261888,255,255,255 C,0,261888,261910,255,255,255 C,0,261910,261932,255,255,255 C,0,261932,261954,255,255,255 C,0,261954,261976,255,255,255 C,0,261976,261998,255,255,255 C,0,261998,262020,255,255,255 C,0,262020,262042,255,255,255 C,0,262042,262064,255,255,255 C,0,262064,262086,255,255,255 C,0,262086,262108,255,255,255 C,0,262108,262130,255,255,255 C,0,262130,262152,255,255,255 C,0,262152,262174,255,255,255 C,0,262174,262196,255,255,255 C,0,262196,262218,255,255,255 C,0,262218,262240,255,255,255 C,0,262240,262262,255,255,255 C,0,262262,262284,255,255,255 C,0,262284,262306,255,255,255 C,0,262306,262328,255,255,255 C,0,262328,262350,255,255,255 C,0,262350,262372,255,255,255 C,0,262372,262394,255,255,255 C,0,262394,262416,255,255,255 C,0,262416,262438,255,255,255 C,0,262438,262460,255,255,255 C,0,262460,262482,255,255,255 C,0,262482,262504,255,255,255 C,0,262504,262526,255,255,255 C,0,262526,262548,255,255,255 C,0,262548,262570,255,255,255 C,0,262570,262592,255,255,255 C,0,262592,262614,255,255,255 C,0,262614,262636,255,255,255 C,0,262636,262658,255,255,255 C,0,262658,262680,255,255,255 C,0,262680,262702,255,255,255 C,0,262702,262724,255,255,255 C,0,262724,262746,255,255,255 C,0,262746,262768,255,255,255 C,0,262768,262790,255,255,255 C,0,262790,262812,255,255,255 C,0,262812,262834,255,255,255 C,0,262834,262856,255,255,255 C,0,262856,262878,255,255,255 C,0,262878,262900,255,255,255 C,0,262900,262922,255,255,255 C,0,262922,262944,255,255,255 C,0,262944,262966,255,255,255 C,0,262966,262988,255,255,255 C,0,262988,263010,255,255,255 C,0,263010,263032,255,255,255 C,0,263032,263054,255,255,255 C,0,263054,263076,255,255,255 C,0,263076,263098,255,255,255 C,0,263098,263120,255,255,255 C,0,263120,263142,255,255,255 C,0,263142,263164,255,255,255 C,0,263164,263186,255,255,255 C,0,263186,263208,255,255,255 C,0,263208,263230,255,255,255 C,0,263230,263252,255,255,255 C,0,263252,263274,255,255,255 C,0,263274,263296,255,255,255 C,0,263296,263318,255,255,255 C,0,263318,263340,255,255,255 C,0,263340,263362,255,255,255 C,0,263362,263384,255,255,255 C,0,263384,263406,255,255,255 C,0,263406,263428,255,255,255 C,0,263428,263450,255,255,255 C,0,263450,263472,255,255,255 C,0,263472,263494,255,255,255 C,0,263494,263516,255,255,255 C,0,263516,263538,255,255,255 C,0,263538,263560,255,255,255 C,0,263560,263582,255,255,255 C,0,263582,263604,255,255,255 C,0,263604,263626,255,255,255 C,0,263626,263648,255,255,255 C,0,263648,263670,255,255,255 C,0,263670,263692,255,255,255 C,0,263692,263714,255,255,255 C,0,263714,263736,255,255,255 C,0,263736,263758,255,255,255 C,0,263758,263780,255,255,255 C,0,263780,263802,255,255,255 C,0,263802,263824,255,255,255 C,0,263824,263846,255,255,255 C,0,263846,263868,255,255,255 C,0,263868,263890,255,255,255 C,0,263890,263912,255,255,255 C,0,263912,263934,255,255,255 C,0,263934,263956,255,255,255 C,0,263956,263978,255,255,255 C,0,263978,264000,255,255,255 C,0,264000,264022,255,255,255 C,0,264022,264044,255,255,255 C,0,264044,264066,255,255,255 C,0,264066,264088,255,255,255 C,0,264088,264110,255,255,255 C,0,264110,264132,255,255,255 C,0,264132,264154,255,255,255 C,0,264154,264176,255,255,255 C,0,264176,264198,255,255,255 C,0,264198,264220,255,255,255 C,0,264220,264242,255,255,255 C,0,264242,264264,255,255,255 C,0,264264,264286,255,255,255 C,0,264286,264308,255,255,255 C,0,264308,264330,255,255,255 C,0,264330,264352,255,255,255 C,0,264352,264374,255,255,255 C,0,264374,264396,255,255,255 C,0,264396,264418,255,255,255 C,0,264418,264440,255,255,255 C,0,264440,264462,255,255,255 C,0,264462,264484,255,255,255 C,0,264484,264506,255,255,255 C,0,264506,264528,255,255,255 C,0,264528,264550,255,255,255 C,0,264550,264572,255,255,255 C,0,264572,264594,255,255,255 C,0,264594,264616,255,255,255 C,0,264616,264638,255,255,255 C,0,264638,264660,255,255,255 C,0,264660,264682,255,255,255 C,0,264682,264704,255,255,255 C,0,264704,264726,255,255,255 C,0,264726,264748,255,255,255 C,0,264748,264770,255,255,255 C,0,264770,264792,255,255,255 C,0,264792,264814,255,255,255 C,0,264814,264836,255,255,255 C,0,264836,264858,255,255,255 C,0,264858,264880,255,255,255 C,0,264880,264902,255,255,255 C,0,264902,264924,255,255,255 C,0,264924,264946,255,255,255 C,0,264946,264968,255,255,255 C,0,264968,264990,255,255,255 C,0,264990,265012,255,255,255 C,0,265012,265034,255,255,255 C,0,265034,265056,255,255,255 C,0,265056,265078,255,255,255 C,0,265078,265100,255,255,255 C,0,265100,265122,255,255,255 C,0,265122,265144,255,255,255 C,0,265144,265166,255,255,255 C,0,265166,265188,255,255,255 C,0,265188,265210,255,255,255 C,0,265210,265232,255,255,255 C,0,265232,265254,255,255,255 C,0,265254,265276,255,255,255 C,0,265276,265298,255,255,255 C,0,265298,265320,255,255,255 C,0,265320,265342,255,255,255 C,0,265342,265364,255,255,255 C,0,265364,265386,255,255,255 C,0,265386,265408,255,255,255 C,0,265408,265430,255,255,255 C,0,265430,265452,255,255,255 C,0,265452,265474,255,255,255 C,0,265474,265496,255,255,255 C,0,265496,265518,255,255,255 C,0,265518,265540,255,255,255 C,0,265540,265562,255,255,255 C,0,265562,265584,255,255,255 C,0,265584,265606,255,255,255 C,0,265606,265628,255,255,255 C,0,265628,265650,255,255,255 C,0,265650,265672,255,255,255 C,0,265672,265694,255,255,255 C,0,265694,265716,255,255,255 C,0,265716,265738,255,255,255 C,0,265738,265760,255,255,255 C,0,265760,265782,255,255,255 C,0,265782,265804,255,255,255 C,0,265804,265826,255,255,255 C,0,265826,265848,255,255,255 C,0,265848,265870,255,255,255 C,0,265870,265892,255,255,255 C,0,265892,265914,255,255,255 C,0,265914,265936,255,255,255 C,0,265936,265958,255,255,255 C,0,265958,265980,255,255,255 C,0,265980,266002,255,255,255 C,0,266002,266024,255,255,255 C,0,266024,266046,255,255,255 C,0,266046,266068,255,255,255 C,0,266068,266090,255,255,255 C,0,266090,266112,255,255,255 C,0,266112,266134,255,255,255 C,0,266134,266156,255,255,255 C,0,266156,266178,255,255,255 C,0,266178,266200,255,255,255 C,0,266200,266222,255,255,255 C,0,266222,266244,255,255,255 C,0,266244,266266,255,255,255 C,0,266266,266288,255,255,255 C,0,266288,266310,255,255,255 C,0,266310,266332,255,255,255 C,0,266332,266354,255,255,255 C,0,266354,266376,255,255,255 C,0,266376,266398,255,255,255 C,0,266398,266420,255,255,255 C,0,266420,266442,255,255,255 C,0,266442,266464,255,255,255 C,0,266464,266486,255,255,255 C,0,266486,266508,255,255,255 C,0,266508,266530,255,255,255 C,0,266530,266552,255,255,255 C,0,266552,266574,255,255,255 C,0,266574,266596,255,255,255 C,0,266596,266618,255,255,255 C,0,266618,266640,255,255,255 C,0,266640,266662,255,255,255 C,0,266662,266684,255,255,255 C,0,266684,266706,255,255,255 C,0,266706,266728,255,255,255 C,0,266728,266750,255,255,255 C,0,266750,266772,255,255,255 C,0,266772,266794,255,255,255 C,0,266794,266816,255,255,255 C,0,266816,266838,255,255,255 C,0,266838,266860,255,255,255 C,0,266860,266882,255,255,255 C,0,266882,266904,255,255,255 C,0,266904,266926,255,255,255 C,0,266926,266948,255,255,255 C,0,266948,266970,255,255,255 C,0,266970,266992,255,255,255 C,0,266992,267014,255,255,255 C,0,267014,267036,255,255,255 C,0,267036,267058,255,255,255 C,0,267058,267080,255,255,255 C,0,267080,267102,255,255,255 C,0,267102,267124,255,255,255 C,0,267124,267146,255,255,255 C,0,267146,267168,255,255,255 C,0,267168,267190,255,255,255 C,0,267190,267212,255,255,255 C,0,267212,267234,255,255,255 C,0,267234,267256,255,255,255 C,0,267256,267278,255,255,255 //Storyboard Sound Samples

Program updater request error.

image

Github is force use TLS1.2 now and not support TLS1.0.
.Net framework 4.5 and latest is support TLS1.2 but default TLS1.0,please check. :D

Referenced assemblies loading from root storybrew folder instead of project folder

Certain referenced assemblies seem to have storybrew look for the file from the app's root folder instead of the project folder.

Example given with MathNet.Numeric (after importing System.Numeric manually in Referenced Assemblies config), with Assembly Binding logging enabled:

storybreweditor_2018-04-01_21-07-11

After copy-pasting MathNet.Numeric into the root folder, the error goes away and it executes successfully.

Other Remarks

  • The DLL file still needs to be inside the project folder, or else there's a missing metadata error.
  • I'm not sure if every referenced assembly that isn't in storybrew's base folder (e.g. Newtonsoft.Json) does this. I'll need more libraries as examples.

I'd like to look into this, so this issue can help keep a consolidated log of information/knowledge somewhere.

Moving a project that is outside the projects-folder does not work properly

Effect scripts and scriptlibrary are not copied to the new directory when opening a project that is not in the projects directory.
The project file also gets removed from the original folder which is not the best idea imo.

To replicate:
Move any project out of the projects folder and open it in storybrew.

[Small Issue] Grammatical error in error message

<ErrorText>This Project has references to one or more NuGet-Packages that are missing on this Computer. Use the recovery of NuGet-Packages to download the missing files. For more informations, visit "http://go.microsoft.com/fwlink/?LinkID=322105. The file is {0}."</ErrorText>

This Project has references to one or more NuGet-Packages that are missing on this Computer. Use the recovery of NuGet-Packages to download the missing files. For more informations, visit "http://go.microsoft.com/fwlink/?LinkID=322105. The file is {0}."

It should be "information", not "informations", as "information" is a mass-noun which does not possess a plural.

I know this might not be worth opening an issue, so sorry in advance.

Also computer should not start capitalized.

Volume adjustment

A volume slider that you can use to adjust the volume of the playback would be nice.

Storybrew gives an error on startup

When I open Storybrew using Windows 11 and try to create a new or open project, the following error pops up:
image

Chinese translation of the second/third line:

  • Length cannot be less than 0.
  • Parameter name: length(ArgumentOutOfRangeException)

Just asking whats the requirements!?

Im afraid that i cant run it since i have a bad pc but i can give you my specs.
Specs:
Cpu: I3 2120
Gpu: Intel HD Graphics
Ram: 8gb
OS: Windows 10 32-bit (And yes i cant upgrade to 64 because it wont work)
Can i do some small things on it?
Also have a good day! :3

i cant load effects

hi , im new in this program , when i wanna load the spectrum effect an error appears and i dont know why it happend

HitObjectOverlay works only on one instance

https://i.imgur.com/jlj37Qk.png

I set up the hitobject overlay once in the first kiai of the map, and it works fine, it's all set up properly, however when using it in the second kiai it only works for 8 bars before giving me an execution error. I tried fixing this with another instance but it doesn't work either. Is the timestamp used broken?

Division by zero error when loading .osu without custom combo colors

An .osu that does not support custom Combo Colours will not have a [Colours] section, skipping the parseColoursSection method, resulting in the method parseHitObjectsSection to cause a zero division exception at the following line:

colorIndex = (colorIndex + 1 + hitobject.ComboOffset) % beatmap.comboColors.Count;

Exception log:

2016/10/10 12:28:37 - System.DivideByZeroException: Attempted to divide by zero.
   at StorybrewEditor.Mapset.EditorBeatmap.parseHitObjectsSection(EditorBeatmap beatmap, StreamReader reader)
   at StorybrewEditor.Mapset.EditorBeatmap.Load(String path)
   at StorybrewEditor.Mapset.MapsetManager.loadBeatmaps()
   at StorybrewEditor.Mapset.MapsetManager..ctor(String path)
   at StorybrewEditor.Storyboarding.Project.refreshMapset()
   at StorybrewEditor.Storyboarding.Project.set_MapsetPath(String value)
   at StorybrewEditor.Storyboarding.Project.Create(String projectFolderName, String mapsetPath, Boolean withCommonScripts)
   at StorybrewEditor.ScreenLayers.NewProjectMenu.<createProject>b__7_0()
   at StorybrewEditor.ScreenLayers.Util.LoadingScreen.<Load>b__6_0()

DragUpdate off Timeline window may cause audio/storyboard stuttering/freezing during audio play

When testing for #24 , I came across this...

To replicate:

  • Have the audio playing.
  • Drag to slide the timeline, but commit the drag outside of the timeline's object dimensions.

Video preview of what should happen:
https://vid.me/BZCl

What should happen is that video/audio now stutters and doesn't seek as cleanly. I thought this was a problem initially when implementing #24 , but it seems like this actually was a problem from the start. Maybe it's related to DragUpdate?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.