Coconuttttt commited on
Commit
d774ecd
Β·
verified Β·
1 Parent(s): 3118ba8

Add page_start/page_end params to pipeline

Browse files
Files changed (1) hide show
  1. core/convert_pipeline.py +9 -0
core/convert_pipeline.py CHANGED
@@ -242,6 +242,8 @@ def run_score_pipeline(
242
  save_dir: str = "",
243
  on_progress=None,
244
  correct_xml: bool = False,
 
 
245
  ) -> tuple[str, list[str], list[str]]:
246
  """
247
  악보 파일(PDF/PNG/JPG) β†’ MML ν…μŠ€νŠΈ λ³€ν™˜.
@@ -286,6 +288,13 @@ def run_score_pipeline(
286
  _prog(0.0, "νŽ˜μ΄μ§€ 뢄리 쀑...")
287
  if ext == ".pdf":
288
  raw_pngs = _pdf_to_pngs(input_path, str(pages_dir), dpi=dpi)
 
 
 
 
 
 
 
289
  else:
290
  dest = str(pages_dir / f"page_01.png")
291
  _copy_with_scale(input_path, dest, scale=1.0)
 
242
  save_dir: str = "",
243
  on_progress=None,
244
  correct_xml: bool = False,
245
+ page_start: int = 0,
246
+ page_end: int = 0,
247
  ) -> tuple[str, list[str], list[str]]:
248
  """
249
  악보 파일(PDF/PNG/JPG) β†’ MML ν…μŠ€νŠΈ λ³€ν™˜.
 
288
  _prog(0.0, "νŽ˜μ΄μ§€ 뢄리 쀑...")
289
  if ext == ".pdf":
290
  raw_pngs = _pdf_to_pngs(input_path, str(pages_dir), dpi=dpi)
291
+ # Page range filtering (1-based, 0 = no limit)
292
+ if page_start > 0 or page_end > 0:
293
+ start = max(0, page_start - 1) if page_start > 0 else 0
294
+ end = page_end if page_end > 0 else len(raw_pngs)
295
+ raw_pngs = raw_pngs[start:end]
296
+ if not raw_pngs:
297
+ raise ValueError(f"μ„ νƒν•œ νŽ˜μ΄μ§€ λ²”μœ„({page_start}~{page_end})에 ν•΄λ‹Ήν•˜λŠ” νŽ˜μ΄μ§€κ°€ μ—†μŠ΅λ‹ˆλ‹€.")
298
  else:
299
  dest = str(pages_dir / f"page_01.png")
300
  _copy_with_scale(input_path, dest, scale=1.0)