Compare commits

...

2 commits

3 changed files with 69 additions and 51 deletions

44
LICENSE
View file

@ -568,46 +568,4 @@ If the disclaimer of warranty and limitation of liability provided above cannot
be given local legal effect according to their terms, reviewing courts shall
apply local law that most closely approximates an absolute waiver of all civil
liability in connection with the Program, unless a warranty or assumption
of liability accompanies a copy of the Program in return for a fee. END OF
TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible
use to the public, the best way to achieve this is to make it free software
which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach
them to the start of each source file to most effectively state the exclusion
of warranty; and each file should have at least the "copyright" line and a
pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
details.
You should have received a copy of the GNU Affero General Public License along
with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If your software can interact with users remotely through a computer network,
you should also make sure that it provides a way for users to get its source.
For example, if your program is a web application, its interface could display
a "Source" link that leads users to an archive of the code. There are many
ways you could offer source, and different solutions will be better for different
programs; see section 13 for the specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary. For
more information on this, and how to apply and follow the GNU AGPL, see <https://www.gnu.org/licenses/>.
of liability accompanies a copy of the Program in return for a fee.

View file

@ -1,3 +1,26 @@
<!--
mirinda_ease.xml - a plugin to help with easing in the Mirin template, part of the Mirinda project
Copyright (C) 2021 Jill "oatmealine"
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
details.
You should have received a copy of the GNU Affero General Public License along
with this program. If not, see <https://www.gnu.org/licenses/>.
Source: https://gitdab.com/oat/mirinda/
-->
<Mods LoadCommand = "%xero(function(self)
--[[
@ -83,6 +106,9 @@
?beatobj:merge() -- merge beats that are on the same beat and column
+beatobj:aggressivemerge() -- merge beats that are on the same beat
/beatobj:offset(b) -- offset each beat by b beats
-beatobj:setstart(b) -- offset each beat so that the first beat is on b
]]
local function copyTable(datatable)
@ -112,6 +138,7 @@
_ease = inOutCirc,
_align = 0.5,
_length = 1,
_plr = {},
-- setters
setl = function(self, a) self._length = a; return self end,
@ -200,6 +227,13 @@
self._beats = merged
return self
end,
offset = function(self, beat)
for _,v in ipairs(self._beats) do
v[1] = v[1] + beat
end
return self
end,
-- mods
wiggle = function(self, perc, mod)
@ -208,7 +242,7 @@
for i,v in ipairs(self._beats) do
local len = self._length
local off = i%2*2-1
ease {v[1] - len / (1 / self._align), len, self._ease, perc * off, mod}
ease {v[1] - len / (1 / self._align), len, self._ease, perc * off, mod, plr = self._plr}
end
return self
@ -219,7 +253,7 @@
for i,v in ipairs(self._beats) do
local len = self._length
local off = i%2
ease {v[1] - len / (1 / self._align), len, self._ease, perc * off, mod}
ease {v[1] - len / (1 / self._align), len, self._ease, perc * off, mod, plr = self._plr}
end
return self
@ -230,7 +264,7 @@
for i,v in ipairs(self._beats) do
local len = self._length
add {v[1] - len / (1 / self._align), len, self._ease, perc, mod}
add {v[1] - len / (1 / self._align), len, self._ease, perc, mod, plr = self._plr}
end
return self
@ -250,7 +284,7 @@
for i,v in ipairs(self._beats) do
local len = self._length
ease {v[1], len, bounceease, perc, mod}
ease {v[1], len, bounceease, perc, mod, plr = self._plr}
end
return self
@ -266,7 +300,7 @@
for _,v in ipairs(self._beats) do
local len = self._length
ease {v[1], len, out, perc, mod}
ease {v[1], len, out, perc, mod, plr = self._plr}
end
return self
@ -285,7 +319,7 @@
for _,v in ipairs(self._beats) do
local len = self._length
ease {v[1] - len / (1 / self._align), len, map, perc, mod}
ease {v[1] - len / (1 / self._align), len, map, perc, mod, plr = self._plr}
end
return self
@ -305,7 +339,7 @@
local len = self._length
local off = i%2*2-1
ease {v[1] - len / (1 / self._align), len, map, perc * off, mod}
ease {v[1] - len / (1 / self._align), len, map, perc * off, mod, plr = self._plr}
end
return self
@ -322,7 +356,7 @@
for i,v in ipairs(self._beats) do
local len = self._length
ease {v[1] - len / (1 / self._align), len, temp, perc, mod}
ease {v[1] - len / (1 / self._align), len, temp, perc, mod, plr = self._plr}
end
return self
@ -340,6 +374,7 @@
else
self._beats = P1:GetNoteData(start, ending)
end
self._plr = plr
return self
end
@ -353,6 +388,7 @@
end
self._beats = v
self._plr = plr
return self
end
@ -361,6 +397,7 @@
for _,b in ipairs(tbl) do
table.insert(self._beats, {b})
end
self._plr = plr
return self
end
end)"

View file

@ -1,3 +1,26 @@
<!--
mirinda_spline.xml - a plugin to help with splines in the Mirin template, part of the Mirinda project
Copyright (C) 2021 Jill "oatmealine"
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
details.
You should have received a copy of the GNU Affero General Public License along
with this program. If not, see <https://www.gnu.org/licenses/>.
Source: https://gitdab.com/oat/mirinda/
-->
<Mods LoadCommand = "%xero(function(self)
local maxindex = 39 -- probably best not to change, but if youre getting massive performance issues go ahead