mirror of https://codeberg.org/Sonoj/osamc.de
Compare commits
No commits in common. "09b79181d9bcc72f32dee3ac91ca3bb213dce0e1" and "49064f23bc961b6686207edca1501e36e9ce031d" have entirely different histories.
09b79181d9
...
49064f23bc
18
README.md
18
README.md
|
@ -7,28 +7,14 @@ The webserver uses it's own git clone of this repository.
|
|||
|
||||
https://osamc.de/
|
||||
|
||||
Dates for the next meetings are automatically calculated.
|
||||
For everything else edit the HTML files by hand.
|
||||
|
||||
## Deploying the website
|
||||
|
||||
The server osamc.de updates a local copy of this repository and will rsync changes to the web
|
||||
directory. Additional sanity checking and security measures are done in this step to prevent
|
||||
(accidental) harmful files on the public webserver.
|
||||
Edit the HTML files by hand.
|
||||
|
||||
## Archive
|
||||
|
||||
https://osamc.de/archiv/
|
||||
|
||||
Each sub directory is one talk or project.
|
||||
Everything that has a metadata.ini file will be parsed by the index generator program.
|
||||
Possible index files are index.html index.php and index.pdf
|
||||
|
||||
## Protocols / Pad
|
||||
|
||||
The collaborative text pad is currently not in this git. #TODO
|
||||
|
||||
## Large File Storage
|
||||
Everything that has an .ini file will be parsed by the index generator program.
|
||||
|
||||
Since we host large files, like music sessions, in the archive it needs git large file storage for
|
||||
github. git lfs is detected by github, you or other users don't need to setup anything on github,
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
DirectoryIndex index.php index.html index.htm index.pdf
|
|
@ -1,50 +0,0 @@
|
|||
<?php
|
||||
|
||||
function cmpByDate(array $a, array $b) {
|
||||
return strcmp($a['Date'], $b['Date']);
|
||||
}
|
||||
|
||||
$dirs = array_filter(glob('*'), 'is_dir');
|
||||
//print_r($dirs);
|
||||
|
||||
|
||||
$projects = array();
|
||||
foreach($dirs as $projectdir) {
|
||||
$inifile = $projectdir . "/metadata.ini";
|
||||
if (file_exists($inifile)) {
|
||||
$iniAssoArray = parse_ini_file($inifile, false, INI_SCANNER_RAW);
|
||||
$iniAssoArray["Directory"] = $projectdir;
|
||||
array_push($projects, $iniAssoArray);
|
||||
//print_r($iniAssoArray);
|
||||
//echo $iniAssoArray['Date']."\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
usort($projects, 'cmpByDate');
|
||||
$projects = array_reverse($projects); //newest first
|
||||
|
||||
//print_r($projects);
|
||||
|
||||
//Now we have all ini files as PHP arrays, sorted by date, and can build HTML.
|
||||
|
||||
|
||||
$resultHTML = "";
|
||||
foreach($projects as $proj) {
|
||||
$block = <<<EOD
|
||||
<h4><small>$proj[Date]</small><br>
|
||||
<a href="$proj[Directory]">$proj[PrettyName]</a></h4>
|
||||
<ul>
|
||||
<li>$proj[Author], $proj[License]</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/$proj[Directory]">https://www.osamc.de/archiv/$proj[Directory]</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
\n
|
||||
EOD;
|
||||
|
||||
$resultHTML = $resultHTML . $block;
|
||||
|
||||
}
|
||||
//return $resultHTML;
|
||||
echo $resultHTML;
|
||||
?>
|
|
@ -0,0 +1,206 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<link rel="stylesheet" href="normalize.css" type="text/css">
|
||||
<link rel="stylesheet" href="sakura.css" type="text/css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>OSAMC Archiv</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Open Source Audio Meeting Cologne: Archiv</h1>
|
||||
<p><a href="anleitung.html">Anleitung für OSAMC Mitglieder</a></p>
|
||||
|
||||
|
||||
<h4><small>2023-08</small><br><a href="jtsoftarch">Untersuchung von Software-Architekturen – Eine Fallstudie zu häufigen Gründen für Architektur-Erosion in Open Source Software aus dem akademischen Umfeld</a></h4>
|
||||
<ul>
|
||||
<li>Sven Thielen, CC BY-NC-SA</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/jtsoftarch">https://www.osamc.de/archiv/jtsoftarch</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2023-07</small><br><a href="bleaudio">Bluetooth Low Energy Audio - Harald kannst du mich hören???</a></h4>
|
||||
<ul>
|
||||
<li>Marius, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/bleaudio">https://www.osamc.de/archiv/bleaudio</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2023-06</small><br><a href="pianotrainer">Piano-Trainer</a></h4>
|
||||
<ul>
|
||||
<li>nils, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/pianotrainer">https://www.osamc.de/archiv/pianotrainer</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2022-07-20</small><br><a href="gatedreverbdrums">Gated Reverb Drums</a></h4>
|
||||
<ul>
|
||||
<li>Christopher Arndt, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/gatedreverbdrums">https://www.osamc.de/archiv/gatedreverbdrums</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2021-08</small><br><a href="wifi5iempi">Wi-Fi IEM Pi – WLAN In-Ear Monitoring mit Raspberry Pi und Freier Software</a></h4>
|
||||
<ul>
|
||||
<li>Sven Thielen, CC BY-NC-SA</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/wifi5iempi">https://www.osamc.de/archiv/wifi5iempi</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2021-03</small><br><a href="2021kreiskomposition2">Kreiskompositions-Projekt II</a></h4>
|
||||
<ul>
|
||||
<li>OSAMC, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/2021kreiskomposition2">https://www.osamc.de/archiv/2021kreiskomposition2</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2021-01</small><br><a href="2021kreiskomposition">Kreiskompositions-Projekt</a></h4>
|
||||
<ul>
|
||||
<li>OSAMC, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/2021kreiskomposition">https://www.osamc.de/archiv/2021kreiskomposition</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2020-11</small><br><a href="wifi5iem">In-Ear Monitoring über WLAN – Eine Analyse zur Realisierbarkeit mit Freier Software</a></h4>
|
||||
<ul>
|
||||
<li>Sven Thielen, CC BY-NC-SA</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/wifi5iem">https://www.osamc.de/archiv/wifi5iem</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2020-11</small><br><a href="avb">Audio over Ethernet: AVB/TSN</a></h4>
|
||||
<ul>
|
||||
<li>Florian "Florob" Zeitz, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/avb">https://www.osamc.de/archiv/avb</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2019-11</small><br><a href="ardourscripting">Ardour Scripting 101</a></h4>
|
||||
<ul>
|
||||
<li>Daniel Appelt, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/ardourscripting">https://www.osamc.de/archiv/ardourscripting</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2019-07</small><br><a href="abcnotation">Praktisches Arbeiten mit der ABC Notation</a></h4>
|
||||
<ul>
|
||||
<li>Christopher Arndt, CC-by</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/abcnotation">https://www.osamc.de/archiv/abcnotation</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2019-06</small><br><a href="fuenfjahre">Fünf Jahre OSAMC</a></h4>
|
||||
<ul>
|
||||
<li>nils, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/fuenfjahre">https://www.osamc.de/archiv/fuenfjahre</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2019-05</small><br><a href="orchester">Orchesterpartituren Lesen und Mitverfolgen</a></h4>
|
||||
<ul>
|
||||
<li>Nils, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/orchester">https://www.osamc.de/archiv/orchester</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2018-08-15</small><br><a href="fmsynths">Open Source FM Software Synthesizer</a></h4>
|
||||
<ul>
|
||||
<li>Christopher Arndt, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/fmsynths">https://www.osamc.de/archiv/fmsynths</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2018-06</small><br><a href="sfxr">sfxr Random Sound Generator</a></h4>
|
||||
<ul>
|
||||
<li>nils, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/sfxr">https://www.osamc.de/archiv/sfxr</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2018-05-16</small><br><a href="norns">norns (linux-powered open-source sound computer) - voraussichtliches Erscheinungsdatum: 1. September 2018</a></h4>
|
||||
<ul>
|
||||
<li>Markus, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/norns">https://www.osamc.de/archiv/norns</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2018-05-16</small><br><a href="mcgv">mcgv-0.01 (monome controlled generative visuals) - In Processing geschriebenes, interaktives Animations-Übungsprojekt. (work-in-progress)</a></h4>
|
||||
<ul>
|
||||
<li>Markus, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/mcgv">https://www.osamc.de/archiv/mcgv</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2018-05</small><br><a href="cracklebox">Die Crackle Box - intuitiv bedienbarer Klein-Synthesizer mit unvorhersehbarem klanglichem Ergebnis</a></h4>
|
||||
<ul>
|
||||
<li>Georg Berger, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/cracklebox">https://www.osamc.de/archiv/cracklebox</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2018-04</small><br><a href="speedcompositionapril2018">Speed Composition Event April 2018</a></h4>
|
||||
<ul>
|
||||
<li>OSAMC, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/speedcompositionapril2018">https://www.osamc.de/archiv/speedcompositionapril2018</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2018-03</small><br><a href="nonsessionmanager">Non Session Manager</a></h4>
|
||||
<ul>
|
||||
<li>Nils, CC-by-sa</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/nonsessionmanager">https://www.osamc.de/archiv/nonsessionmanager</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<h4><small>2018-02</small><br><a href="demo">Demo-Projekt mit Templates ツ</a></h4>
|
||||
<ul>
|
||||
<li>Demona Demonsdottir, CC-by</li>
|
||||
<li>Permalink: <a href="https://www.osamc.de/archiv/demo">https://www.osamc.de/archiv/demo</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,17 +0,0 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<link rel="stylesheet" href="normalize.css" type="text/css">
|
||||
<link rel="stylesheet" href="sakura.css" type="text/css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>OSAMC Archiv</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Open Source Audio Meeting Cologne: Archiv</h1>
|
||||
|
||||
<?php include "build_project_index_html.php"; ?>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,9 +1,3 @@
|
|||
<?php
|
||||
include "third_wednesday.php";
|
||||
$nextDate = nextThirdWednesday();
|
||||
$followingDates = listNextElevenThirdWendesdays();
|
||||
?>
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
|
@ -181,10 +175,21 @@ $followingDates = listNextElevenThirdWendesdays();
|
|||
|
||||
<div class="Information">
|
||||
|
||||
<h4>Termine<span><a href="https://plan.osamc.de"><?php echo $nextDate; ?></a> 19:00 Uhr </span></h4>
|
||||
<h4>Termine<span><a href="https://plan.osamc.de">18.10.2023</a> 19:00 Uhr </span></h4>
|
||||
|
||||
<p>Jeder Dritte Mittwoch im Monat (außer Dezember):<br>
|
||||
<?php echo $followingDates; ?>
|
||||
15.11.
|
||||
17.1.
|
||||
21.2.
|
||||
20.3.
|
||||
17.4.
|
||||
15.5.
|
||||
19.6.
|
||||
17.7.
|
||||
21.8.
|
||||
18.9.
|
||||
16.10.
|
||||
20.11.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
@ -226,7 +231,7 @@ $followingDates = listNextElevenThirdWendesdays();
|
|||
|
||||
<div class="Form">
|
||||
|
||||
<h3>Nächstes Treffen: <span><?php echo $nextDate; ?></span></h3>
|
||||
<h3>Nächstes Treffen: <span>18.10.2023</span></h3>
|
||||
<form method="post" action="#">
|
||||
<fieldset disabled>
|
||||
|
|
@ -1,60 +0,0 @@
|
|||
<?php
|
||||
|
||||
function nextThirdWednesday() {
|
||||
// Set the default time zone to your desired one
|
||||
date_default_timezone_set('Europe/Berlin');
|
||||
|
||||
$date = new DateTime( 'third wednesday of this month, 17:00' );
|
||||
if( date_create()->diff( $date )->invert )
|
||||
{
|
||||
$date = new DateTime( 'third wednesday of next month, 17:00' );
|
||||
}
|
||||
|
||||
|
||||
if ($date->format('m') == '12') {
|
||||
// If it's December, advance to January of the following year
|
||||
$date->modify('third wednesday of January next year');
|
||||
$date->modify('-1 day'); // not sure why.
|
||||
}
|
||||
|
||||
|
||||
$nextThirdWednesdayFormatted = $date->format('d.m.y');
|
||||
return $nextThirdWednesdayFormatted;
|
||||
}
|
||||
|
||||
function listNextElevenThirdWendesdays() {
|
||||
date_default_timezone_set('Europe/Berlin');
|
||||
|
||||
//Start with the actual next meeting date, that is already calculated by another function already.
|
||||
$date = new DateTime( 'third wednesday of this month, 17:00' );
|
||||
if( date_create()->diff( $date )->invert )
|
||||
{
|
||||
$date = new DateTime( 'third wednesday of next month, 17:00' );
|
||||
}
|
||||
|
||||
if ($date->format('m') == '12') {
|
||||
// If it's December, advance to January of the following year
|
||||
$date->modify('third wednesday of January next year');
|
||||
$date->modify('-1 day'); // not sure why.
|
||||
}
|
||||
|
||||
|
||||
$result = "";
|
||||
|
||||
for ($i=0; $i < 11; $i++) {
|
||||
|
||||
$date->modify('third wednesday of next month');
|
||||
//Again:
|
||||
if ($date->format('m') == '12') {
|
||||
// If it's December, advance to January of the following year
|
||||
$date->modify('third wednesday of January next year');
|
||||
$date->modify('-1 day'); // not sure why.
|
||||
}
|
||||
|
||||
$result = $result . " " . $date->format('d.m');
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
?>
|
Loading…
Reference in New Issue